AE CE BCD AC a1 a1 a2 a3 a3 a3 a4 a5 a5
7.设有关系框架R(A,B,C,D,E)及其上的函数相关性集合F={A→C,B→D,C→D,DE→C,CE→A},试问分解ρ={R1(A,D),R2(A,B),R3(B,E),R4(C,D,E),R5(A,E)}是否为R的无损连接分解?
解:p的无损连接性判断结果表如下表所示,由此判断不具有无损连接性。
Ri A B C D E AD AB BE CDE AE a1 a1 a1 a2 a2 a3 a4 a4 a5 a5 a5
8.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},计算属性集D关于F的闭包D。 解:令X={D},X(0)=D。
在F中找出左边是D子集的函数依赖,其结果是:D→HG,∴X(1)=X(0)HG=DGH, 显然有X(1)≠X(0)。
在F中找出左边是DGH子集的函数依赖,未找到,则X(2)=DGH。由于X(2)=X(1), 则:D=DOH
9.已知关系模式R的全部属性集U={A,B,C,D,E,G}及函数依赖集: F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG} 求属性集闭包(BD)。
解:令X={BD},X(0)=BD,X(1)=BDEG,X(2)=BCDEG,X(3)=ABCDEG,故(BD)=ABCDEG。 10.设有函数依赖集F={D→G,C→A,CD→E,A→B),计算闭包D,C,A,(CD),(AD),(AC),(ACD)。 解:
令X={D},X(0)=D,X(1)=DG,X(2)=DG,故D=DG。
令X={C},X(0)=C,X(1)=AC,X(2)=ABC,X(3)=ABC,故C=ABC。
令X={A},X(0)=A,X(1)=AB,X(2)=AB,故A=AB。
令X={CD},X(0)=CD,X(1)=CDG,X(2)=ACDG,X(3)=ACDEG,X(4)=ABCDEG,
故(CD)=ABCDEG。
令X={AD},X(0)=AD,X(1)=ABD,X(2)=ABDG,X(3)=ABDG,故(AD)=ABDG。 令X={AC},X(0)=AC,X(1)=ABC,X(2)=ABC,故(AC)=ABC。
令X={ACD},X(0)=ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)=ABCDEG。
11.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→H,ABC→PG,求与F等价的最小函数依赖集。
解:(1).将F中依赖右部属性单一化:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AB→C HB→P AB→E D→H F1= A→C D→G GP→B ABC→P EP→A ABC→G CDE→P
(2).对于AB→C,由于有A→C,则为多余的: AB→E HB→P A→C D→H F2= GP→B D→G EP→A ABC→P CDE→P ABC→G
(3).通过分析没有多余的依赖,则: AB→E HB→P A→C D→H F3= GP→B D→G EP→A ABC→P CDE→P ABC→G
12.设有关系模式R(U,F),其中:
U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E} 求F的最小依赖集。 解:
(1).将F中依赖右部属性单一化:
F1={E→G,G→E,F→E,F→G,H→E,H→G,FH→E} (2).对于FH→E,由于有F→E,则为多余的,则: F2={E→G,G→E,F→E,F→G,H→E,H→G}
(3).由于E→G,所以在F2中的F→E和F→G以及H→E和H→G之一是多余的,则: F3={E→G,G→E,F→G,H→G} 或F3={E→G,G→E,F→G,H→E} 或F3={E→G,G→E,F→E,H→E}
或F3={E→G,G→E,F→E,H→G}
13.设有关系模式R(U,F),其中:
U={A,B,C,D},F={A→B,B→C,D→B},把R分解成BCNF模式集: (1).如果首先把R分解成{ACD,BD},试求F在这两个模式上的投影。 (2).ACD和BD是BCNF吗?如果不是,请进一步分解。 解:
(1).ΠACD(F)={A→C,D→C} ΠBD(F)={D→B} (2).BD已是BCNF。
ACD不是BCNF。模式ACD的候选关键字是AD。考虑A→C,A不是模式ACD的候选关键字,所以这个函数依赖不满足BCNF条件。将ACD分解为AC和AD,此时AC和AD均为BCNF。
14.设有关系模式R(A,B,C,D),其上的函数依赖集: F={A→C,C→A,B→AC,D→AC}
(1).计算(AD)。
(2).求F的最小等价依赖集Fm。 (3).求R的关键字。
(4).将R分解使其满足BCNF且无损连接性。
(5).将R分解成满足3NF并具有无损连接性与保持依赖性。 解:
(1).令X={AD},X(0)=AD,X(1)=ACD,X(2)=ACD,故(AD)=ACD。
(2).将F中的函数依赖右部属性单一化: A→C C→A F1= B→A B→C D→A D→C 在Fl中去掉多余的函数依赖:
∵B→A,A→C ∴B→C是多余的。 又∵D→A,A→C ∴D→C是多余的。
A→C C→A F2= B→A D→A 函数依赖集的最小集不是惟一的,本题中还可以有其他答案。
∵F2中所有依赖的左部却是单属性,∴不存在依赖左部有多余的属性 ∴ A→C C→A F= B→A D→A
(3). ∵BD在F中所有函数依赖的右部均未出现
∴候选关键字中一定包含BD,而(BD)=ABCD,因此,BD是R惟一的候选关键字。 (4). 考虑A→C
∵AC不是BCNF(AC不包含候选关键字BD),将ABCD分解为AC和ABD。 AC已是BCNF,进一步分解ABD,选择B→A,把ABD分解为AB和BD。 此时AB和AD均为BCNF ∴ρ={AC,AB,BD}。
(5).由(2)可求出满足3NF的具有依赖保持性的分解为ρ={AC,BD,DA}。
判断其无损连接性如下表所示,由此可知ρ不具有无损连接性。
Ri A B C D AC BA DA a1 a1 a1 a2 a3 a3 a3 a4 +
+
+
令ρ=ρ∪{BD},BD是R的候选关键字 ∴p={AC,BA,DA,BD}。
15.己知关系模式R(CITY,ST,ZIP)和函数依赖集: F={(CITY,ST)→ZIP,ZIP→CITY} 试找出R的两个候选关键字。
解:设U=(CITY,ST,ZIP),F中函数依赖的左边是CITY,ST,ZIP: · 由于ZIP→CITY,去掉CITY,故(ST,ZIP)可能是候选关键字。 (ST,ZIP)={ST,ZIP,CITY},∴(ST,ZIP)→U。
又ST=ST,ZIP={ZIP,CITY},故(ST,ZIP)是一个候选关键字。
+
++
·由于(CITY,ST)→ZIP,去掉ZIP,故(CITY,ST)可能是候选关键字。 (CITY,ST)={CITY,ST,ZIP},∴(CITY,ST)→U。 又CITY=CITY,ST=ST,故(CITY,ST)是一个候选关键字。
因此,R的两个候选关键字是(ST,ZIP)和(CITY,ST)。
16.设有关系模式R(A,B,C,D,E),R的函数依赖集: F={A→D,E→D,D→B,BC→D,CD→A} (1).求R的候选关键字。 (2).将R分解为3NF。 解:
(1).设U=(A,B,C,D,E),由于(CE)=ABCDE,C=C,E=BDE
∴R的候选关键字是CE。
(2).求出最小依赖集F′={A→D,E→D,D→B,BC→D,CD→A} 将R分解的3NF:ρ={AD,DE,BD,BCD,ACD}。 17.设有关系模式R(U,V,W,X,Y,Z),其函数依赖集: F={U→V,W→z,Y→U,WY→X},现有下列分解: (1). ρl={WZ,VY,WXY,UV} (2). ρ2={UVY,WXYZ}
判断上述分解是否具有无损连接性。 解:
(1). ρ1的无损连接性判断表如下所示,由此判断ρ1不具有无损连接性。
Ri U V W X Y Z WZ VY WXY UV a1 a2 a2 a3 a3 a4 a5 a5 a6 a6 +
+
+
+
+
+
(2). ρ2的无损连接性判断表如下所示,由此判断ρ2具有无损连接性。
Ri U V W X Y Z UVY a1 a2 a2 a3 a4 a5 a5 a6 WXYZ a1
18.已知R(Al,A2,A3,A4,A5)为关系模式,其上函数依赖集:
F={Al→A3,A3→A4,A2→A3,A4A5→A3,A3A5→A1}
ρ={Rl(Al,A4),R2(A1,A2),R3(A2,A3),R4(A3,A4,A5),R5(Al,A5)} 判断ρ是否具有无损连接性。
解:ρ的无损连接性判断表如下所示,由此判断ρ不具有无损连接性。
Ri A1 A2 A3 A4 5 A1A4 A1A2 A2A3 a1 a1 a2 a2 a3 a3 a3 a3 a4 a4 a4 a4 a5 A3A4A5 a1