Relational-Theory

關係候選鍵

  • December 3, 2012

我有以下關係:

R = ABCDE
F: AB->DE, AC->B, DE->C, AE->C, C->AB

我需要確定這種關係候選鍵。

現在,如果我正確理解了定義:

在數據庫的關係模型中,關係的候選鍵是該關係的最小超鍵;也就是說,一組屬性使得關係沒有兩個不同的元組

候選鍵是:C、AB、AE、DE。

這是正確的還是還有更多?

不包含所有屬性的超鍵(因此是候選鍵)必須至少包含一個屬性集,該屬性集位於功能依賴的左側。否則,不可能從這個超級鍵的屬性集中生成一個附加屬性,這與超級鍵的定義相矛盾。

但是包含 C、AB、AE 或 DE 中至少一個的 ABCDE 的子集已經是一個超級密鑰,並且要最小化,它必須只包含這些子集之一。

所以我必須研究的唯一子集是 AC 的超集。但是 AC 的超集不能是最小超鍵,因為 C 已經是鍵。

因此唯一的候選鍵是 C、AB、AE 和 DE

引用自:https://dba.stackexchange.com/questions/29680