**”范式(NF)”**是符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。
总结:
1NF: 字段是最小的的单元不可再分 2NF:满足1NF,表中的字段必须完全依赖于全部主键而非部分主键 (一般我们都会做到) 3NF:满足2NF,非主键外的所有字段必须互不依赖 4NF:满足3NF,消除表中的多值依赖
第一范式(1NF)
符合1NF的关系中的每个属性都不可再分。1NF是所有关系型数据库的最基本要求。(一范式就是属性不可分割)
第二范式(2NF)
2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖。(二范式就是要有主键)
函数依赖 :若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X,写作 X → Y
完全函数依赖:在一张表中,若 X → Y,且对于 X 的任何一个真子集(假如属性组 X 包含超过一个属性的话),X ‘ → Y 不成立,那么我们称 Y 对于 X完全函数依赖,记作
$$
X{F \over }>Y
$$
部分函数依赖:假如 Y 函数依赖于 X,但同时 Y 并不完全函数依赖于 X,那么我们就称 Y 部分函数依赖于 X,记作
$$
X{P\over}>Y
$$
传递函数依赖:假如 Z 函数依赖于 Y,且 Y 函数依赖于 X(『Y 不包含于 X,且 X 不函数依赖于 Y』这个前提),那么我们就称 Z 传递函数依赖于 X ,记作
$$
X{T\over}>Z
$$
码:设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K(这个“完全”不要漏了),那么我们称 K 为候选码,简称为码
非主属性:
第三范式(3NF)
3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖。(三范式就是要消除传递依赖)