关系型数据库中,关于数据表设计的基本原则和规则就成为范式
范式优缺点
优点:
第一范式 : 每列保持原子性
原子性 : 只有一类信息 , 信息不可再拆分 ,字段代表唯一业务的语义,不会出现度的信息
第二范式: 属性字段完全依赖于主键—>不存在对主键部分的依赖
前提:满足第一范式
表中字段对主键产生的部分依赖 : 联合主键索引 ----- 主键的底层就是索引
第三范式: 任何非主属性字段不依赖于其它非主属性字段–>不存在对主键间接依赖传递
前提 : 满足第二范式
消除间接依赖
违反第三范式
一张表只做一件事—高内聚
适当的反三范式,以空间换时间
优势:
减少跨表查询带来的性能开销
减少微服务之间跨库联查,提高查询性能
劣势:
存储空间变大
一个表中字段做了修改,另外一个表中冗余字段也要同步进行修改,不然会导致数据不一致
频繁的增删改会消耗系统资源
数据量小不能体现优势 反而会让设计更复杂
对数据库的设计关注度上 需求>性能>表结构
适用场景: 当冗余信息能大幅度提高查询效率的时候,我们才会采用反范式的优化
增加冗余字段的建议
- 该冗余字段不需要经常修改
- 该冗余字段查询的时候不可或缺
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务