数据库设计--范式原则

范式原则【也称三大范式 主要有三点】

  1. 每一列保持原子性 不可分割
    • Eg: 表示地址时--省市区街道 这些信息不要放在同一个字段 因为这些信息是可拆分的 应该分为四个字段 -- 省、市、区、街道 这样便满足了不可分割性
  2. 每一列都要跟主键相关 即一张表应该只描述一个对象
  3. 每一列都应该是跟主键直接相关 而不是间接相关
    • Eg:用户表--公司ID--公司名称 名称就是间接相关了

范式原则的优与缺

  与范式定义相违背的 即**反范式** 反范式的数据中 信息是冗余 范式中的第三点 反范式是容许间接相关存在的

优点

  * 范式化的更新操作 往往快于反范式
  * 很少或没有重复的数据
  * 表通常更小 执行操作更快
  * 冗余少--Distinct、Group by 就用的少

缺点

  * 范式化的设计离不开-关联 越是复杂的查询 关联的次数就会越多 //反范式化 则容许冗余 可避免一定的关联 所以实际设计往往都是 范式+反范式 相互结合使用
原文地址:https://www.cnblogs.com/Alicia-meng/p/13493506.html