我正在学习,或试图了解DBMS,并且遇到各种各样的问题,了解如何为此计算规范封面:
A -> BCD
BC -> DE
B -> D
D -> A
我只能找到一个如何计算其中一个的例子,它无助于我理解如何处理BC和B依赖。这就是我提出的,这肯定是错误的,但任何帮助我打破这一点,所以我能理解将比实际答案更有价值。
A -> BCD
BC -> DE
D -> A
答案 0 :(得分:2)
这是查看两个FD的一种方法
从BC-> DE,得到BC-> D和BC-> E(分解)。
BC->D
BC->E
B->D
观察到BC-> D的LHS是可还原的,因为B-> D.这会将顶部的两个FD减少到
BC->E
B->D
答案 1 :(得分:1)
该BC-> D是可还原的,因为在BC-> D中,在左C中是外来属性。我们可以通过使用无关属性的公式来检查这一点。
答案 2 :(得分:0)
我认为正确答案是:
a->bc
bc->e
b->d
d->a
看看你是否可以删除关系,让我们说我们正在考虑关系R1 = a-> b 计算F +(a)而不考虑R1关系本身。如果你仍然能以某种方式到达b(b在F +(a)中)那么你可以删除R1
答案 3 :(得分:0)
假设:
F = {
A -> BCD,
BC -> DE,
B -> D,
D -> A
}
D
是A -> BCD
中的无关属性,
因为A+ = ABCDE
和D
属于A+
因此:
Fc = {
A -> BC,
BC -> DE,
B -> D,
D -> A
}
现在C
是BC -> DE
中的无关属性,
因为B+ = ABCDE
和DE
属于B+
因此:
Fc = {
A -> BC,
B -> DE,
B -> D,
D -> A
}
现在D
是B -> DE
中的无关属性,
因为B+ = ABCDE
和D
属于B+
因此:
Fc = {
A -> BC,
B -> E,
B -> D,
D -> A
}
使用Union规则我们得到:
Fc = {
A -> BC,
B -> DE,
D -> A
}
现在没有更多无关的属性了。
因此,这是F
的最终规范封面。