设关系模式R(A,B,C,D),在R上有五个相应的FD集及分解:
(1)F={B→C,D→A),ϱ={BC,AD)。
(2)F={AB→C,C→A,C→D),ϱ={ACD,BC)。
(3)F={A→BC,C→AD),ϱ={ABC,AD)。
(4)F={A→B,B→C,C→D),ϱ={AB,ACD)。
(5)F={A→B,B→C,C→D),ϱ={AB,AD,CD)。
试对上述五种情况分别回答
设关系模式R(A,B,C,D),在R上有五个相应的FD集及分解:
(1)F={B→C,D→A),ϱ={BC,AD)。
(2)F={AB→C,C→A,C→D),ϱ={ACD,BC)。
(3)F={A→BC,C→AD),ϱ={ABC,AD)。
(4)F={A→B,B→C,C→D),ϱ={AB,ACD)。
(5)F={A→B,B→C,C→D),ϱ={AB,AD,CD)。
试对上述五种情况分别回答下列问题:
(1)确定R的关键码。
(2)是否无损分解?
(3)是否保持FD集?
(4)确定p中每一模式的范式级别。(是否达到2NF、3NF、BCNF级别?)
【正确答案】:(1)(已知:F={B→C,D→A),ϱ={BC,AD)) •R的关键码为BD。 •ϱ不是无损分解。 •ϱ保持FD集F。 •ϱ中每一模式已达到BCNF级别。 (2)(已知:F={AB→C,C→A,C→D),ϱ={ACD,BC)) •R的关键码有两个:AB和BC。 •ϱ是无损分解。 •ϱ不保持FD,丢失了AB→C。 •因为πACD (F)={C→A,C→D),πBC (F)=ϕ(没有非平凡的FD)所以p中两模式均已达到BCNF级别。 (3)(已知:F={A→BC,C→AD) ϱ={ABC,AD}) •R的关键码为A或C。 •ϱ是无损分解。 •因为πABC (F)={A→BC,C→A},πAD(F)={ A→D},所以ϱ保持FD •在模式ABC中,关键码是A或BC,属性全是主属性,但有传递依赖(A→BC,BC→A)。因此模式.ABC是3 NF,但不是BCNF。而模式.AD显然已是BCNF级别。 (4)(已知:F={A→B,B→C,C→D),ϱ={AB,ACD}) •R的关键码为A。 •ϱ是无损分解。 •因为πAB(F)={A→B},πACD(F)={ A→C,C →D} 但上述两个依赖集推不出原来的B→C,因此ϱ不保持FD,丢失了B→C。 •模式AB是BCNF,模式ACD不是3 NF,只达到2 NF级别。 (5)(已知:F={A→B,B→C,C→D),ϱ={AB,AD,CD}) •R的关键码为A。 •ϱ不是无损分解。 •πAB (F)={A→B},πAD(F)={ A→D} , πCD(F)={ C→D}从上述三个依赖集推不出原来的B→C,因此p不保持FD,丢失了B→C。 •ϱ中每个模式均是BCNF级别。
Top