数据库几大范式的理解
2016-11-20 11:52
260 查看
第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列。(属性存在子集)
第二范式(2NF): 首先是
1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式(3NF):首先是
2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列
A 依赖于非主键列 B,非主键列
B 依赖于主键的情况。(A->B C->A这里得出结论C->B就是传递依赖,箭头理解:B依赖A)
BCNF : 消除主属性之间的传递依赖。即为3NF的延伸。
4NF : 消除多值依赖,即键外无依赖。
第二范式(2NF): 首先是
1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式(3NF):首先是
2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列
A 依赖于非主键列 B,非主键列
B 依赖于主键的情况。(A->B C->A这里得出结论C->B就是传递依赖,箭头理解:B依赖A)
BCNF : 消除主属性之间的传递依赖。即为3NF的延伸。
4NF : 消除多值依赖,即键外无依赖。