sql范式


范式

使用范式的好处:

  1. 更新操作通常要比不使用范式的要快
  2. 几乎不存在重复的数据
  3. 规范化的表通常更小,拥有更好的性能
  4. 当查询列表的值,不需要使用DISTINCE 和 GROUP BY 进行分组

使用范式缺点:

  1. 很多情况下都要联表查询
  2. 可能会一些索引策略无效

第一范式

表列具有原子性,不能再分解

第二范式

在第一范式的基础上,要求数据库表中的每个实例或者行可以被唯一区分。通常涉及一个主键来实现

第三范式

在第二范式的基础上,要求一个数据表中不包含已在其他表中已包含的非主键字段。即尽量使表的信息能够推导出来,能用外键就用外键。

BCNF范式

在第三范式的基础上,要求不存在关键字段决定关键字段。

反范式

优点:

  1. 尽可能避免联表操作
  2. 全表扫描可以尽量避免随机IO操作
  3. 一个表可以使用更加高效的索引策略

文章作者: 彭峰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 彭峰 !
  目录