数据库范式例题

这篇博客探讨了数据库的范式理论,通过三个例题详细解释了第一范式、第二范式和第三范式的判断标准。例题中分别分析了候选码、部分函数依赖和传递依赖,帮助读者理解不同范式的特点。

题目

一.

Y(X1,X2,X3,X4)
(X1,X2)→\rightarrowX3
X2→\rightarrowX4
侯选码?
属于第几范式?

二.

R(A,B,C,D)
F={AB→\rightarrowD,AC→\rightarrowBD,B→\rightarrowC}
侯选码?
最高属于第几范式?

三.

R(X,Y,Z,W)
F={Y←\leftarrow→\rightarrowW,XY→\rightarrowZ}
侯选码?
最高属于第几范式?

一.

因为 X2→\rightarrowX4
所以 (X1,X2)→PX4(X1,X2) \stackrel{P}{\rightarrow} X4(X1,X2)PX4
因为(X1,X2)→X3(X1,X2) \stackrel{}{\rightarrow} X3(X1,X2)X3
所以(X1,X2)→(X3,X4)(X1,X2) \stackrel{}{\rightarrow} (X3,X4)(X1,X2)(X3,X4)
因此:候选码:(X1,X2);非主属性:X3,X4。
因为(X1,X2)→\rightarrowX4, X2→\rightarrowX4,存在非主属性X4对候选码(X1,X2)的部分函数依赖;
所以不属于2NF。
结论:候选码(X1,X2),属于第一范式。

二.

因为 B→\rightarrowC
所以(A,B)→(C,D)(A,B) \stackrel{}{\rightarrow} (C,D)(A,B)(C,D)
因为(A,C)→(B,D)(A,C) \stackrel{}{\rightarrow} (B,D)(A,C)(B,D)
因此:候选码:(A,B)、(A,C);非主属性:D。
不存在非主属性D对候选码(A,B)、(A,C)的部分函数依赖;
所以属于第三范式。
不属于BCNF 因为B→C,B不包含码
满足BCNF的关系模式有:

  • 所有非主属性对每一个码都是完全函数依赖
  • 所有主属性对每一个不包含它的码也是完全函数依赖
  • 没有任何属性完全函数依赖于非码的任何一组属性
    第二题因为C并不是完全依赖于不包含C的码,因为B→\rightarrowC。

因为(X,Y)→\rightarrowZ ,Y→\rightarrowW
所以(X,Y)→\rightarrow(W,Z),(X,Y)是码
因为(X,W)→\rightarrowX, (X,W)→\rightarrowW, W→\rightarrowY
所以(X,W)→\rightarrow(X,Y,W),
因为W→\rightarrowY,XW→\rightarrowXY,XY→\rightarrowZ,所以(X,W)→\rightarrowZ
所以(X,W)也是码
候选码:(X,Y)、(X,W);非主属性:Z。
属于第二范式,因为Z完全依赖于码(非主属性只有Z)
属于第三范式,因为Z没有传递依赖于码
不属于BC范式 因为W→Y,决定者不包含候选码
所以第三题最高属于第三范式。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值