我正在学习考试,这是在学习指南表上。这不是作业,也不会被评分。
关系模式R =(A,B,C,D,E)
功能依赖性=(AB-> E,C-> AD,D-> B,E-> C)
r1 =(A,C,D)r2 =(B,C,E)OR
x1 =(A,C,D)x2 =(A,B,E)无损连接分解?为什么?
答案 0 :(得分:4)
我的关系代数非常生疏,但这就是我记得要去的方式
如果FD中有r1 ∩ r2 -> r1 - r2
或r1 ∩ r2 -> r2 - r1
,则表示您有无损分解。
r1 ∩ r2 = C
r1 - r2 = AD
C->AD
处于功能依赖关系=>无损
表示x1和x2
x1 ∩ x2 = A
x1 - x2 = CD
A->CD
不在FD
中
现在检查x2 - x1
x2 - x1 = BE
A->BE
也不在FD
中,因此有损
引用here,请检查我可能犯下的可怕错误
答案 1 :(得分:0)
这是我的理解,基本上你看看你的分解,并确定关系之间的共同属性是否是至少一个关系的关键。
因此对于R1和R2 - 它们之间唯一共同点是C.C将是R1的关键,因为你得到了C - >广告。所以它是无损的。
对于X1和X2,唯一常见的是A,它本身不是来自函数依赖关系的X1或X2的键。
答案 2 :(得分:0)
功能依赖性=(AB-> E,C-> AD,D-> B,E-> C)
当执行Chase算法时,r1 =(A,C,D)r2 =(B,C,E)是无损的。 可以看出,两个表都同意'C',并且依赖关系C-> AD保留在表ACD中。
x1 =(A,C,D)x2 =(A,B,E)是有损的,因为您将在执行Chase算法后得出结论。 或者,可以看出两个表仅在A上达成一致,并且没有完全依赖于A的依赖性。