首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无损连接分解

无损连接分解
EN

Stack Overflow用户
提问于 2010-11-29 12:25:02
回答 3查看 5.3K关注 0票数 5

我正在为一个测试而学习,这是学习指导表上的。这不是家庭作业,也不会评分。

关系模式R= (A,B,C,D,E)

函数依赖= (AB->E,C->AD,D->B,E->C)

Is r1 = (A,C,D) r2 = (B,C,E) OR

x1 = (A,C,D) x2 = (A,B,E)无损连接分解?为什么?

EN

回答 3

Stack Overflow用户

发布于 2010-11-29 23:08:39

我的关系代数非常生疏,但下面是我如何记住它的

如果在FDs中使用r1 ∩ r2 -> r1 - r2r1 ∩ r2 -> r2 - r1,则可以进行无损分解。

代码语言:javascript
复制
r1 ∩ r2 = C
r1 - r2 = AD

C->AD是在函数依赖中=>无损的

对于x1和x2

代码语言:javascript
复制
x1 ∩ x2 = A
x1 - x2 = CD

A->CD不在FD中,现在请检查x2 - x1

代码语言:javascript
复制
x2 - x1 = BE

A->BE也不在FD%s中,因此有损耗

参考here,请检查我可能犯下的可怕错误

票数 4
EN

Stack Overflow用户

发布于 2013-04-22 14:24:22

这是我的理解,基本上你看你的分解,并确定关系之间的共同属性是否是至少一个关系的关键。

所以对于R1和R2,它们之间唯一的共同点是C。,C是R1的关键,因为你得到了,A,D。,所以它是无损的。

对于X1和X2,唯一的共同点是A,它本身既不是X1的键,也不是函数依赖中的X2键。

票数 0
EN

Stack Overflow用户

发布于 2013-10-16 15:00:30

函数依赖= (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的这种依赖性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4300853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档