正常化消除冗余属性
问题描述:
如果我有一个函数依赖:F = {ABH-> CK,A-> d,C-> E, BGH-> L,L-> AD,E-> L,BH- >电子}正常化消除冗余属性
任何一个可以解释为什么在ABH-> CK冗余,什么是AB,BH和AH关闭?
谢谢!
答
由于BH -> E -> L -> AD
,我们可以说,BH -> A
通过应用传递的阿姆斯特朗统治了两次,随后分解。从那里,如果我们包括微不足道的FD BH -> BH
,我们会看到那BH -> ABH
。再次使用传递性,BH -> ABH -> CK
可以减少到BH -> CK
,即A
不需要确定CK
。
相对于一个给定的行列式一组的FD的所述的封闭可以通过再次使用Armstrong的规则应用于所有函数依赖结合直接或间接地从所选择的行列式如下来计算。例如,对于BH
:
BH -> BH (trivial)
BH -> BEH (union with BH -> E)
BH -> BEHL (union with BH -> L which follows from BH -> E -> L)
BH -> ABDEHL (union with BH -> AD which follows from BH -> L -> AD)
BH -> ABCDEHKL (union with BH -> CK since BH -> ABH -> CK)
因此BH* = ABCDEHKL
。请注意,G
未被派生,所以BH
不是候选关键字。
您没有“功能关系”。你有一组函数依赖关系*,它们保持某种关系。另外,你是什么意思的“冗余”?你的意思是关闭* FD集* {AB,BH,AH}或者可能关闭每个*决定因素* AB,BH和AH?你没有写清楚。同时请说明你到目前为止的内容以及你参考的内容。 – philipxy