0
我目前正在努力研究數據庫,並遇到超級密鑰的概念,這讓我有點困惑,有人可以幫助定義超級密鑰實際上是什麼?就我的理解而言,超級鍵是表格中使列組唯一的列,是嗎?數據庫 - 超級密鑰
可以說我有三個表,客戶賬戶和交易 他們每個看起來像下表:
將「CID」爲客戶超密鑰?或者有不止一個? 哪個superkey違反了表格?據我瞭解{num,type,desc}違反了ACCOUNT,因爲表中沒有明確的列,這是正確的嗎? TRANSACTION如何?
最善良的問候,
KRS
感謝您的快速響應。 只是幾個簡單的問題。超級鍵和最小超級鍵是同一件事嗎?另外,關係可以有多個超級鍵嗎?所以例如或TRANSACTION的超級鍵將是{cid + type + time}和{num + type + time}和{cid + time} –
@贊,不,最小的超級鍵是列的最小集合, 。根據定義,任何包含最小超級鍵的組合都是超級鍵本身。所以'cid'和'cid + name'都是超級鍵,因爲它們都不可能重複。這也回答了你的第二個問題,關係中可以有多個超級鍵。這些特定的例子是否是超級密鑰取決於對數據的限制,例如,如果每個客戶在同一類型上每時間單位允許五筆交易,'cid + type + time'不是超級密鑰。 – paxdiablo