SQL中的主鍵,候選鍵,外來鍵,主碼,外碼
阿新 • • 發佈:2021-01-03
1、碼=超鍵:能夠唯一標識一條記錄的屬性或屬性集。
標識性:一個數據表的所有記錄都具有不同的超鍵
非空性:不能為空
有些時候也把碼稱作“鍵”
2、候選鍵=候選碼:能夠唯一標識一條記錄的最小屬性集
標識性:一個數據表的所有記錄都具有不同的候選鍵
最小性:任一候選鍵的任何真子集都不能唯一標識一個記錄(比如在成績表中(學號,課程號)是一個候選鍵,單獨的學號,課程號都不能決定一條記錄)
非空性:不能為空
候選鍵是沒有多餘屬性的超鍵
舉例:學生ID是候選碼,那麼含有候選碼的都是碼。
少部分地方也有叫超級碼的,但是見得不多
3、主鍵=主碼:某個能夠唯一標識一條記錄的最小屬性集(是從候選碼里人為挑選的一條)
唯一性:一個數據表只能有一個主鍵
標識性:一個數據表的所有記錄都具有不同的主鍵取值
非空性:不能為空
人為的選取某個候選碼為主碼
4、主屬性 包含在任一候選碼中的屬性稱主屬性。簡單來說,主屬性是候選碼所有屬性的並集
非主屬性 不包含在候選碼中的屬性稱為非主屬性。 非主屬性是相對於主屬性來定義的。