判断范式的步骤:

数据库原理之范式判断
如何确定候选键


判断3NF有两个条件,例如:X为主属性,Z为非主属性,有X→Y,Y→Z,Y→X,
则第一个条件X→Y,Y→Z满足,第二个条件Y不能推出X,不满足,所以不满足3NF。
也就是说满足X→Y,Y→Z且Y不能推出X才是3NF


例题:

(1).R(X,Y,Z) F=(XY→Z)
R的候选码为XY
非主属性:Z
不存在非主属性对候选键部分函数依赖
不存在非主属性传递依赖于候选键
函数依赖的左边XY为候选键
因此此范式达到BCNF


(2).R(X,Y,Z) F=(Y→Z,XZ→Y)
R的候选码为XY和XZ.
非主属性:无 因为非主属性的不存在所以至少达到3NF
第一个函数依赖Y→Z的左边Y不是候选键
因此此范式达到3NF


(3).R(X,Y,Z) F=(Y→Z,Y→X,X→YZ)
R的候选码为X和Y.
非主属性:Z
不存在非主属性对候选键部分函数依赖
由于X→YZ 所以存在Y→X,X→Z 但是该范式却是BCNF,因为判断3NF有两个条件,Y→X,X→Z满足第一个条件,但不满足第二个条件:X不能推出Y.
然后三个函数依赖的左边都是候选键
因此此范式达到BCNF


(4).R(X,Y,Z) F=(X→Y,X→Z)
R的候选码为X.
非主属性:Y、Z
两个函数依赖的左边都是候选键
因此此范式达到BCNF


(5).R(S,T,J) F={SJ→T,ST→J,T→J}
R的候选码为SJ和ST
非主属性:无 因为非主属性的不存在所以至少达到3NF
由T→J左边T不是候选码
因此此范式达到3NF


(6).R(A,B,C,D) F={B→C,C→D,D→A}
R的候选码为B
非主属性:A,C,D
候选码为单属性,因此不存在非主属性对候选键部分函数依赖
由B→C,C→D且C不能推出B可知此范式不满足3NF
因此此范式达到2NF


相关文章: