1NF:
表中元素不能再拆
2NF:
1首先是1NF
2完全依赖
例子:
(A,B)->C A!->C 且 B!->C 就是完全依赖
A->C 或 B->C 是部分依赖
2NF解决了插入,删除问题,没解决更新问题
3NF:
1首先是2NF
2任何非主属性不传递依赖于任何候选键
候选键:可以推出其他全部属性的属性或属性组
主属性:候选键中的属性
非主属性:其他的属性
例子:
R(A,B,C,D,E) F={AB->CE , E->AB , C->D} 判断是第几范式
候选键:AB , E
主属性:A , B , E
非主属性:C , D
首先是1NF ,不存在部分依赖是2NF,存在AB->C C->D C !->AB 存在传递依赖 所以不是3NF 是2NF
例子:
R(A,B,C,D) F={B->D , D->B , AB->C} 判断是第几范式
候选键:AB , AD (->后面没有出现的属性是候选键或候选键的一部分,就是这个A)
主属性:A , B , D
非主属性:C
首先是1NF
AB->C 完全依赖
AD->C 完全依赖
是2NF
AB->C 没有传递依赖
AD->C 没有传递依赖
是3NF
3NF解决更新问题
BCNF:
X->Y X包含候选键
4NF:
W->->C 1 W+C不是全部属性
2 W包含候选键
X->->Y 多值依赖 X确定多个Y