2017-09-13 214 views
-1

我有r(A,B,C,D,E,F)满足关系:如何查找函数依赖关系的无关属性?

AB->C 
C->A 
BC->D 
ACD->B 
BE->C 
CE->FA 
CF->BD 
D->EF 

我需要找到这种关系的规范封面?

我知道找到规范封面的算法。但是在算法中,我们需要找到无关的属性。有没有一种算法来寻找无关的属性?

+0

你的参考文献对于皮肤属性有什么看法? Google提供什么?请谷歌'stackexchange家庭作业'并阅读[问]&downvote向下箭头mouseover文本。 – philipxy

回答

1

的算法来寻找外来的属性如下:

let F the initial set of functional dependencies 
assume that each dependency F is in the form A1, A2, ..., An -> B 
for each functional dependency A1, A2, ..., An -> B in F with n > 1 
    for each Ai 
     if B ∈ ({A1, A2, ..., An} - Ai)+ 
     then Ai is an extraneous attribute and must be removed from the left hand side 

注意,其余属性关闭必须考虑的F所有的依赖性,包括所检查的依赖(计算这可能是违反直觉的)。

例如,应用该算法到你的例子,从相关性启动:

{ A B → C 
    A C D → B 
    B C → D 
    B E → C 
    C → A 
    C E → A 
    C E → F 
    C F → B 
    C F → D 
    D → E 
    D → F } 

A C D → BA是因为{C D}+ = (A B C D E F) estraneous,而在C E → AE是因为{C}+ = (A C) estraneous。