Fd1 = {AB - > C,D - > E,E - > Ç}
Fd2 = {AB - > C,D - > E,AB - > E,E - > Ç}
这两个FD是等价与否,我认为它们是。但在答案中,它显示为不相等。
答案 0 :(得分:0)
您无法从第一组中的依赖项生成AB→E。
要在数学上证明它们的(in)等价,你应该为两个集合构建闭包并比较闭包。
有一些简单的归纳规则来构建闭包。引用Wikipedia on Functional Dependency,公理是:
遵循以下几条规则:
使用这些规则和公理,可以为FDS建立一个闭包。
省略琐碎的依赖(右侧包含在左侧),首先设置{AB→C (1),D→E (2), E→C (3)}给出:
AB → C (1)
ABD → CE, ABD → C, ABD → E (composition 1+2, decomposition)
ABDE → CE, ABDE → C (composition 1+2+3, decomposition)
ABE → C (composition 1+3)
D → E, D → C, D → CE (2, transitivity 2+3, union)
DE → CE, DE → C (composition 2+3, decomposition)
E → C (3)
第二组{AB→C (1),D→E (2),E→C (3), AB→E (4)}给出:
AB → C, AB → E, AB → CE (1, 4, union 1+4)
ABD → CE, ABD → C, ABD → E (composition 1+2, decomposition)
ABDE → CE, ABDE → C (composition 1+2+3, decomposition)
ABE → C (composition 1+3)
D → E, D → C, D → CE (2, transitivity 2+3, union)
DE → CE, DE → C (composition 2+3, decomposition)
E → C (3)
第二个闭包有AB → E, AB → CE
,它在第一个闭包中不存在,因此原始集合是不同的。