第一范式
定义:如果关系模式R和每个关系r的属性值都是不可分的原子值,那么称R是第一范式模式。
满足1NF的关系称为规范化关系,否则称为非规范化关系。关系数据库研究的关系都是规范化关系。
第二范式
定义:如果关系模式R是1NF,且每个非主属性完全依赖于候选键,那么称R是第二范式2NF的模式。如果数据库的每个关系模式都是2NF,则称数据库模式为2NF的数据库模式。
- 主属性和非主属性:如果A是关系模式R的候选键中的属性,那么称A是R的主属性;否则称A是R的非主属性。
- 完全依赖和局部依赖:对于FD W->A,如果存在X⊂W有X->A成立,那么称W->A是局部依赖;否则称W->A是完全依赖。
第三范式
定义:如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)模式。如果数据库的每个关系模式都是3NF,则称数据库模式为3NF的数据库模式。
传递依赖:如果X->Y, Y->A, 且 Y !-> X和 A !∈Y,那么称X->是传递依赖。
等价定义:设F是关系模式R的FD集,如果对于F中的每个非平凡的FD X->Y,都有X是R的超键,或者Y的每个属性都是主属性,那么称R是3NF的模式。
BCNF(Boyce-Codd NF)
在3NF模式中,并未排除主属性对候选键的传递依赖。因此有必要提出更高一级的范式:BCNF
定义:如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。如果数据库的每个关系模式都是BCNF,则称数据库模式为BCNF的数据库模式。
等价定义:设F是关系模式R的FD集,如果对于F中每个非平凡的FD X->Y,都有X是R的超键,那么称R是BCNF的模式。
定理:如果R是BCNF模式,那么R也是3NF模式。