您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页数据库设计--三范式与反三范式

数据库设计--三范式与反三范式

来源:华佗小知识

范式

关系型数据库中,关于数据表设计的基本原则和规则就成为范式

三范式

范式优缺点
优点:

第一范式 : 每列保持原子性
原子性 : 只有一类信息 , 信息不可再拆分 ,字段代表唯一业务的语义,不会出现度的信息

第二范式: 属性字段完全依赖于主键—>不存在对主键部分的依赖
前提:满足第一范式
表中字段对主键产生的部分依赖 : 联合主键索引 ----- 主键的底层就是索引

第三范式: 任何非主属性字段不依赖于其它非主属性字段–>不存在对主键间接依赖传递
前提 : 满足第二范式
消除间接依赖

违反第三范式

反三范式

  1. 一张表只做一件事—高内聚

  2. 适当的反三范式,以空间换时间

  3. 优势:
    减少跨表查询带来的性能开销
    减少微服务之间跨库联查,提高查询性能

  4. 劣势:
    存储空间变大
    一个表中字段做了修改,另外一个表中冗余字段也要同步进行修改,不然会导致数据不一致
    频繁的增删改会消耗系统资源
    数据量小不能体现优势 反而会让设计更复杂

  5. 对数据库的设计关注度上 需求>性能>表结构

  6. 适用场景: 当冗余信息能大幅度提高查询效率的时候,我们才会采用反范式的优化

增加冗余字段的建议

  1. 该冗余字段不需要经常修改
  2. 该冗余字段查询的时候不可或缺

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务