Relational-Theory
關係候選鍵
我有以下關係:
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