数据库范式

范式(Normal Form)这个名词不好理解,你可以把数据库范式当作一种标准,就像电器的节能等级一样,范式越高,磁盘的冗余越少,满足高等级的范式的先决条件是满足低等级范式。

  • 1NF:所有的属性均有原子性(字段为最小单元不能再分,关系数据库一定满足第一范式)
  • 2NF:满足1NF,表中的字段必须完全依赖于全部主键而非部分主键 (要有主键)
  • 3NF:满足2NF,非主键外的所有字段必须互不依赖(没有冗余数据)
  • BCNF:满足2NF和3NF,BC范式是在第三范式的基础上的一种特殊情况,既每个表中只有一个候选键(在一个数据库中每行的值都不相同,则可称为候选键)。判断方法:箭头左边的必须是候选码,不是候选码的就不是BC范式。