2017-04-26 97 views
0

是一個主要的屬性只候選鍵的成員,或者它也可以superkeys?我有點困惑,因爲我正在閱讀某個主要屬性可能是任何鍵的成員的地方,而其他人則說它需要成爲候選鍵的成員。主屬性和鍵

回答

1

一個主要屬性是一個候選鍵中的一員。通常,「密鑰」是「候選密鑰」的同義詞,而「超級密鑰」是與其他屬性一起的「候選密鑰」(因此,使用該術語,「超級密鑰」不能是「候選密鑰」 )。

稍微不同的術語,從另一方面說,一個「超密鑰」的東西,決定了所有其他屬性(因此,即使是「候選鍵」被認爲是「超密鑰」)。有了這個術語,有人一適當(或者嚴格)「超密鑰」時,它是一個「候選鍵」 togetehr與其他屬性的會談。

因此,簡言之:

  • 「候選鍵」是決定相關的所有屬性,並且使得我們不能刪除任何屬性,而不會失去這個屬性的一組屬性(和根據這個定義,大家同意)

  • 一個「超密鑰」可以有兩種不同的解釋: 一)「候選鍵」與其他零個或多個屬性;或者b)具有其他屬性的「候選鍵」。

最後,當你發現術語「鍵」獨自一人,這幾乎總是「候選鍵」的代名詞。

+0

感謝您的幫助 – StudentCoderJava

+0

中正是superkeys。使用「superkey」表示CK的正確超集是該術語的不正確使用。 (我有興趣看到能夠勝任的材料的這種用途的參考。)另外,「鑰匙」本身經常意味着超級鑰匙。例如在SQL約束中。 – philipxy