-
候選鍵
鎖定
在關係模型中,候選鍵又稱候選碼(英語:candidate key),是某個關係變量的一組屬性所組成的集合,它需要同時滿足下列兩個條件:
1.這個屬性集合始終能夠確保在關係中能唯一標識元組。
2.在這個屬性集合中找不出合適的真子集能夠滿足條件。
滿足第一個條件的屬性集合稱為超鍵,因此我們也可以把候選鍵定義為"最小超鍵",即不含有多餘屬性的超鍵。
- 中文名
- 候選鍵
- 外文名
- Candidate key
- 別 名
- 候選碼
- 應用學科
- 數據庫
候選鍵定義
候選鍵集合
如果關係模式R(u)的屬性集合K ∈u 的候選鍵。
(1)R(u)的任何一個關係實例的任意兩個元素在屬性集合K上的值部不相同————唯一性
(2)K的任何真子集都不滿足條件 ————最小性
通俗點,候選鍵在每一行數據裏的值都不相同,可以説成是候選的主鍵。
候選鍵二維表
候選鍵是唯一標識表中每一行的鍵。候選鍵可以是單列鍵,也可以是複合鍵。
例如下列學生表中“學號”或“圖書證號”都能唯一標識一個元組,則“學號”和“圖書證號”都可作為學生關係的候選鍵。
學號 | 姓名 | 性別 | 年齡 | 圖書證號 | 所在系 |
S3001 | 張明 | 男 | 22 | B20050101 | 外語 |
S3002 | 李靜 | 女 | 21 | B20050102 | 外語 |
S4001 | 趙麗 | 女 | 21 | B20050301 | 管理 |
學號 | 課程號 |
S3001 | C1 |
S3001 | C2 |
S3002 | C1 |
S4001 | C3 |
候選鍵相關概念
從超鍵的定義來解釋什麼是候選鍵。
候選鍵(candidate key):不含有多餘屬性的超鍵稱為候選鍵。
候選鍵應用
在SQL Server數據庫中,有一個學生信息表如下所示,在該表中能作為候選鍵的屬性集合為( ) (選擇一項)
學號 姓名 性別 年齡 系別 專業
20020612 李輝 男 20 計算機 軟件開發
20060613 張明 男 18 計算機 軟件開發
20060614 王小玉 女 19 物理 力學
20060615 李淑華 女 17 生物 動物學
20060616 趙靜 男 21 化學 食品化學
20060617 趙靜 女 20 生物 植物學
a){學號}
b){學號、姓名}
c){年齡、系別}
d){姓名、性別}
e){姓名、專業}
候選鍵要求是不能包含多餘屬性的超鍵,那麼很明顯,a選項不包含了多餘字段屬性,能夠唯一標識元組。那麼這題答案應該選擇a,那麼其他的4個選項都不能作為候選鍵。
- 參考資料
-
- 1. 周屹 李豔娟.數據庫原理及開發應用(第二版):清華大學出版社,2013:45
- 2. 2.2.2 候選鍵與主鍵 .讀書頻道[引用日期2016-09-30]
- 3. 網管之家 .菜鳥從零學習數據庫(四)——超鍵、候選鍵、主鍵、外鍵[引用日期2016-09-30]