候選鍵

候選鍵

在關係模型中,候選鍵又稱候選碼(英語:candidate key),是某個關係變數的一組屬性所組成的集合,它需要同時滿足下列兩個條件: 1.這個屬性集合始終能夠確保在關係中能唯一標識元組。 2.在這個屬性集合中找不出合適的真子集能夠滿足條件。 滿足第一個條件的屬性集合稱為超鍵,因此我們也可以把候選鍵定義為"最小超鍵",即不含有多餘屬性的超鍵。

定義

集合

如果關係模式R(u)的屬性集合K ∈u 的候選鍵。

(1)R(u)的任何一個關係實例的任意兩個元素在屬性集合K上的值部不相同————唯一性

(2)K的任何真子集都不滿足條件 ————最小性

通俗點,候選鍵在每一行數據里的值都不相同,可以說成是候選的主鍵。

二維表

候選鍵是唯一標識表中每一行的鍵。候選鍵可以是單列鍵,也可以是複合鍵。

例如下列學生表中“學號”或“圖書證號”都能唯一標識一個元組,則“學號”和“圖書證號”都能唯一地標識一個元組,則“學號”和“圖書證號”都可作為學生關係的候選鍵。

學號姓名性別年齡圖書證號所在系
S3001張明22B20050101外語
S3002李靜21B20050102外語
S4001趙麗21B20050301管理

而在選課表中,只有屬性組“學號”和“課程號”才能唯一地標識一個元組,則候選鍵為(學號,課程號)。

學號課程號
S3001C1
S3001C2
S3002C1
S4001C3

一個關係可以有多個候選鍵,可以從中選擇一個作為查詢、插入或刪除元組操作編了,被選用的候選鍵稱為主關鍵字,或簡稱主鍵,是DBMS用於唯一標識表中每一行的候選鍵。

相關概念

從超鍵的定義來解釋什麼是候選鍵。

候選鍵 候選鍵

超鍵(super key):在關係中能唯一標識元組的屬性集稱為關係模式的超鍵

候選鍵(candidate key):不含有多餘屬性的超鍵稱為候選鍵。

主鍵(primary key):用戶選作元組標識的一個候選鍵作為主鍵。

套用

在SQL Server資料庫中,有一個學生信息表如下所示,在該表中能作為候選鍵的屬性集合為( ) (選擇一項)

學號 姓名 性別 年齡 系別 專業
20020612 李輝 男 20 計算機 軟體開發
20060613 張明 男 18 計算機 軟體開發
20060614 王小玉 女 19 物理 力學
20060615 李淑華 女 17 生物 動物學
20060616 趙靜 男 21 化學 食品化學
20060617 趙靜 女 20 生物 植物學
a){學號}
b){學號、姓名}
c){年齡、系別}
d){姓名、性別}
e){姓名、專業}

候選鍵要求是不能包含多餘屬性的超鍵,那么很明顯,a選項不包含了多餘欄位屬性,能夠唯一標識元組。那么這題答案應該選擇a,那么其他的4個選項都不能作為候選鍵。

相關詞條

相關搜尋

熱門詞條

聯絡我們