数据库原理之范式判断

判断范式的步骤:

在这里插入图片描述
如何确定候选键


判断3NF需要注意,例如:有F={X→Y,Y→Z,Y→X}
如果Y属于X,则Y平凡依赖于X,则Z直接依赖于X,满足3NF;
如果Y不属于X,则Y非平凡依赖于X,则Z传递依赖于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


  • 12
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值