1.第一范式(1NF)函数
定义:若是关系R的每个属性值是不可再分的最小数据单位,则称R为第一范式(1NF)。第一范式是一个不含重复组的关系,也不存在嵌套结构。第一范式中是既存在函数依赖,又存在部分函数依赖和传递依赖。数据
2.第二范式(2NF)异常
定义:若R€1NF,且R中的每一个非主属性都彻底依赖于R的任一候选码,则R€2NF。第二范式中存在着非主属性对候选码的传递依赖。集合
3.第三范式范式
定义:若是关系R中的任何一个非主属性不传递依赖于它的任何一个候选码,则R€3NF。
4.BCNF
通常来讲第三范式的关系大多数能解决插入和删除异常问题,但也存在一些例外。为了解决3NF有时出现的插入和删除异常等问题,提出了3NF的改进形式BCNF。
定义:关系模式R<U,F>€1NF.若函数依赖集合F中的全部函数依赖X->Y(Y¢X)的左部都包含R任一候选码,则R€BCNF。
5.函数彻底依赖
定义:在R(U)中,若是X->Y,而且对X的任何一个真子集X`,都有X′不能推导出Y,则称Y彻底函数依赖于X。
例如:C#→SNAME,S#→CLASS,这样的都是彻底函数依赖。
对左部由多属性组合而成的函数依赖,就要看其真子集可否决定右部属性。
例如:(C#,S#)→GRADE是一个彻底函数依赖,由于S#→GRADE,C#≠>GRADE,
(C#,S#)→SNAME是部分函数依赖,由于S#→SNAME,C#→SNAME。