前言
范式的定义是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。简单来说就是数据库中创建数据表的规则。
范式的目标是降低所浪费的空间量和数据冗余量。
正文
目前的关系数据库中一共有六个范式,但是一般的数据库只需要前三个范式就足够了。
第一范式(1NF)
定义所需要的数据项;确保没有重复的数据组;确保存在一个主键。
第二范式(2BF)
在第一范式的基础上要求:主键中任意列没有局部相关性。
第三范式(3NF)
所有非主键字段都依赖于主键;符合第二范式。
BCNF
所有非主属性都完全依赖于每个候选码;所有的主属性都完全依赖于每个不包含它的候选码;没有任何属性完全函数依赖于非码的任何一组属性。
第五范式(4NF)
限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。
第六范式(5NF)
消除了4NF中的连接依赖。
结尾
范式是层层递进的,第六范式是最终范式,一般的数据库只需要满足前三个范式就足够了。想要真正的了解范式,还得去实际操作。