关系型数据库(mysql)中共有六种范式,常用的范式为前4种:
- 1NF - First Normal Form
- 2NF - Second Normal Form
- 3NF - Third Normal Form
- BCNF - Boyce - Codd Normal Form
解释
第一范式:符合1NF的关系中每个属性都是原子的(即不可再拆分的)。
第二范式:数据库表的每一列都完全依赖于主键(通过主键就可以查询到任何列)。
第三范式:数据库表中不包含其他表中已包含的信息(除主键外)。
第四范式:也叫3.5NF,主属性内部不能部分或传递依赖。
深入了解可以参考这篇文章:范式
注意:范式的应用并不是越高越好,需要视情况来定,达到第三范式已经很大程度减少了数据冗余,以及一些数据库操作的异常,因此大多第三范式已经足够应用,某些情况下满足第二范式也可以了,现在也有很多反范式的数据库设计。