2

我按照 PDF中的算法查找給定函數依賴關係的所有候選鍵。查找關係的所有候選鍵

我發現我的所有屬性都是中間屬性,因此沒有必要的屬性。算法的第4步(第6頁)說:Let L be the list of all non-empty subsets of M (the middle-ground attributes)。然而,我有7箇中間的屬性,這意味着我需要127個元素。我做錯了什麼?

請有人可以解釋我應該如何找到一組函數依賴關係的候選鍵?

+0

是否有您正在使用的特定語言?如果有的話,我們可以爲你重新標記問題,這樣你可以得到更多的幫助。歡迎來到該網站;) –

+0

嗨,沒有我知道的特定語言。我只是想學習數據庫設計和約束,不知道如何計算候選鍵。除數據庫之外無法想到任何其他標籤。 – steve

+0

這是功課嗎? ;) – landons

回答

0

您引用的論文確實表明您需要從具有127個元素的L開始。不要忘記,一旦發現了一組中間基本屬性,可以將一組必要屬性補充到候選密鑰,則L的大小可以迅速減小。

0

步驟4:在PDF計算所有超密鑰不是候選人key..You不會得到127個候選鍵..

這裏是候選人和超級關鍵的區別:

超級鍵:超級密鑰代表密鑰的超集。 Super Key是一個或多個屬性的集合,可以統一採用,並可以唯一標識所有其他屬性。

候選鍵: 候選鍵是超級鍵對於沒有真子集是一個超級的關鍵。換句話說,候選鍵是最小的超級鍵。

讓我們考慮一個例子:
的關係是R(A,B,C,d,E)

函數依賴是:

A→BCDE這意味着屬性'A'唯一確定了其他屬性B,C,D,E。 BC→ADE這意味着屬性'BC'共同確定關係中的所有其他屬性A,D,E。

主鍵:一個

候選鍵:A,BC

超級鍵:A,BC,ABC,AD

ABC,AD不是因爲這兩個候選鍵是不是最小超級按鍵。

希望這有助於