2017-09-13 209 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。