数据库系统概论第4章补充练习答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•补充习题
• 1. 设关系模式
R=(U,F),U=ABCDEG,F={AB→D,DB→EG,AC→E,BE→A, A→B },求所有候选码。(AC,BCE,BCD)
• 2. 设关系模式R=(U,F),U=ABCDEG,求下列函数依赖集F等价的最小函数依赖集Fmin.
•(1)F={AB→CD,A→BE,D→E,B→D}
1.F1={AB->C,AB->D,A->B,A->E,D->E,B->D}
2.F2={AB->C,A->B, D->E,B->D}
3.Fmin={A->C,A->B,D->E,B->D}
•(2)F={ABC→D, AC→E, E→AB,B→D,CD→B}
1.F1={ABC→D, AC→E, E→A, E→B,B→D,CD→B}
2.F2={AC→E, E→A, E→B,B→D,CD→B}
3.Fmin={AC→E, E→A, E→B,B→D,CD→B}
•(3)
F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,C E→AG}
1.F1={AB→C,D→E,D->G,C→A,BE→C,BC→D,
CG→B, CG→D,ACD→B,CE→A, CE→G}
2.F2={AB→C,D→E,D->G,C→A,BE→C,
BC→D,CG->D,ACD→B, CE→G}
或者F2={AB→C,D→E,D->G,C→A,BE→C,
BC→D,CG->B,CE→G}
3. {AB→C,D→E,D->G,C→A,BE→C,BC→D,
CG->D,CD→B, CE→G}或者
{AB→C,D→E,D->G,C→A,BE→C,BC→D,
CG->B,CD→B, CE→G}
• 3.判断并证明下列关系模式最高属于哪一级范式•(1)R1:U=ABCD, F={AB→C,C→D }( AB,2 )•(2)R2:U=ABCD, F={AB→C,D→A, D→B }(D,2)•(3)R3:U=ABCD, F={A→B,B→C,
CD→A }(BD,CD,AD,3)
•(4)R4:U=ABCD, F={ A→B,B→C }(AD,1)•(5)R2:U=ABCDE, F={AB→C, BC→D, AB→E, ABCD→DE, BED→BE}(AB,2)
• 4. 把下列关系模式分解为无损连接和保持函数依赖的3NF:
•(1)U=ABCD, F={AB→CD,D→C, CD→B}
1.Fmin={AB->D,D->C,D->B},码AD,AB
2.分组U1=ABD,
根据算法 后面合并成 U2=BCD
3.吸收,得U1,U2
4. ADB中包含了码
F1={ABD,AB->D,D->B}F2={BCD,D->B,D->C}
•(2)U=ABCDEG, F={ B→CD,DE→A, E→C, C→A, BD→AC }
1. Fmin={B->C,B→D, E→C, C→A}
2.分组U1=BCD,U2=EC U3=CA,U0=G
3.吸收,得U2,U3,U4
4.检查码
F2={EC,E->C}F3={CA,C->A}F4={BCD,B->D,B->D},
F4=(BEG. ф)
• 5. 把下列关系模式分解为无损连接的BCNF: U=ABCD, F={A→C,B→AC, D→AC, BD→A}
1.Fmin={A→C,B→A, D→A}
2.码 BD,A->C不符合
R1={AC,A->C} R2=(ABD,B->A,D->A)
B->A不符合
R3={AB,B->A} R4={BD, ф}
得到R1,R3,R4
•算法4b.3(求最小函数依赖集的算法)
•1)求最简式:对F中所有右边为多属性形如X→ A1A2…A n的函数依赖用X→Ai,i=1,2, …,n来代替,得到函数依赖集F1,F1全由最简式组成。
•2)消除冗余函数依赖:对所有(X→A)∈F1逐个做①令G= F1-(X→A);②对G求X+;③若A∈X+,则从F1中去掉X→A,否则不
去掉;最终得到没有冗余函数依赖的函数依赖集F2。
•3左边最简化:对F2中所有左边为多属性的形如X(= A1A2…A n)→A的函数依赖,①i=1; ②若i>n则结束本函数依赖的处理,转入对F2中下一个这样的函数依赖的处理;否则X-=X-A i;③若X-为空,则结束本函数依赖的处理,转入对F2中下一个这样的函数依赖的处理;否则,对F2求X-+;④若A∈X-+,则F2= F2-(X→A)∪(X-→A),X=X-,i=i+1,转②;否则,i=i+1,转②。
•所有这样的函数依赖处理完成后,F2的函数依赖左边都最简化。•最终得到的F2是一个最小函数依赖集F min 。
•例4b.4 设F={ AB→C,D→EG, C→A,BE→C,BC→D, CG→BD,ACD→B,CE→AG},求其Fmin。
•解:
•(1)求最简式
• F1=
{AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,C E→A,CE→G}
•(2)除冗余函数依赖
•G=F1-(AB→C),对G的(AB)+={AB},C!∈(AB)+,所以AB→C不能去掉;
•同理 D→E,D→G,C→A,BE→C,BC→D, CG→D,ACD→B, CE→G都不能去掉;
•G=F1-(CG→B),对G的(CG)+={CGDAB},B∈(CG)+,所以CG→B 要去掉;同理,CE→A 可去掉;
•所以,F2={AB→C,D→E,D→G,C→A,BE→C,BC→D,
CG→D,ACD→B, CE→G}