设关系模式R(U,F),其中R上的属性集U={A,B,C,D,E},R上的函数依赖集 F={A→B,DE→B,CB→E,E→A,B→D}。(1)为关系R的候选关键字。分解(2)是无损连接,并保持函数依赖的。 (2)

admin2010-03-08  25

问题 设关系模式R(U,F),其中R上的属性集U={A,B,C,D,E},R上的函数依赖集 F={A→B,DE→B,CB→E,E→A,B→D}。(1)为关系R的候选关键字。分解(2)是无损连接,并保持函数依赖的。
(2)

选项 A、ρ={R1(AC),R2(ED),R3(B)}
B、ρ={R1(AC),R2(E),R3(DB)}
C、ρ={R1(AC),R2(ED),R3(AB)}
D、ρ={R1(ABC),R2(ED),R3(ACE)}

答案D

解析 本题考查如何求解候选关键字和对模式分解知识的掌握。
   给定一个关系模式R(U,F),U={A1,A2,…,An},F是R的函数依赖集,若,则X必为R的唯一候选关键字。对于试题(7),A选项,所以AB非候选关键字;B选项,所以DE非候选关键字;C选项,所以CE为候选关键字;D选项,所以DB非候选关键字。
   根据无损连接的判定算法,对选项A构造初始的判定表如下:

由于A→B,DE→B,CB→E,E→A,B→D的决定因素中没有两行是相同的,因此选项 A是有损连接的。 对选项B构造初始的判定表如下:

由于A→B,DE→B,CB→E,E→A,B→D的决定因素中没有两行是相同的,因此选项 B是有损连接的。 对选项C构造初始的判定表如下:

由于A→B,属性A的第1行和第3行相同,可以将第1行b12改为a2;又由于B→D,属性B的第1行和第3行相同,而属性D第1行b14和第3行b34没有一行为a4,因此改为同一符号,即取行号值最小的b14。修改后的判定表如下:

反复检查函数依赖集F,无法修改上表,所以选项C是有损连接的。 对选项D构造初始的判定表如下:

由于A→B,属性A的第1行和第3行相同,可以将第3行b32改为a2;E→A,属性E的第2行和第3行相同,可以将属性A第2行b21改为a1;AC→E,属性E的第2行和第3行相同,可以将属性E第1行b15改为a5;B→D,属性B的第1行和第3行相同,属性D第1行b14和第3行b34没有一行为a4,因此改为同一符号,即取行号值最小的b14。修改后的判定表如下:

由于E→D,属性E的第1~3行相同,可以将属性D第1行b14和第3行b34改为a4。修改后的判定表如下:

由于上表第一行全为a,故分解无损。
   现在分析该分解是否保持函数依赖。若分解保持函数依赖,那么分解的子模式的函数依赖集。FR1=A→B,CB→A,FR2=E→D(根据Armstrong公理,系统传递依赖,E→A,A→B,B→D,所以E→D),FR3=E→A。可以求证F+与(FR1+FR2+FR3)+等价,即F+=(FR1+FR2+FR3)+=(A→B,CB→A,E→D,E→A)+,所以该分解保持函数依赖。
转载请注明原文地址:https://kaotiyun.com/show/t8QZ777K
0

最新回复(0)