(1)概念
超鍵(super key):在關係中能唯一標識元組的屬性或屬性集稱為關係模式的超鍵
候選鍵(candidate key):不含有多餘屬性的超鍵稱為候選鍵。也就是在候選鍵中,若在刪除屬性,就不是鍵了。
主鍵(primary key):使用者選作元組標識的乙個候選鍵程式主鍵
外來鍵:在關係模式r中屬性k是其他模式的主鍵,那麼k在關係模式r中稱為外來鍵
(2)超鍵、候選鍵、主鍵的例項說明
比如乙個小範圍的所有人,沒有重名的,考慮以下屬性
身份證 姓名 性別 年齡
身份證唯一,所以是乙個超鍵
姓名唯一,所以是乙個超鍵
(姓名,性別)唯一,所以是乙個超鍵
(姓名,性別,年齡)唯一,所以是乙個超鍵
–這裡可以看出,超鍵的組合是唯一的,但可能不是最小唯一的
身份證唯一,而且沒有多餘屬性,所以是乙個候選鍵
姓名唯一,而且沒有多餘屬性,所以是乙個候選鍵
–這裡可以看出,候選鍵是沒有多餘屬性的超鍵
考慮輸入查詢方便性,可以選擇 身份證 為主鍵
也可以 考慮習慣 選擇 姓名 為主鍵
–主鍵是選中的乙個候選鍵
(3)一題搞懂什麼是候選鍵
看下題目先
在sql server資料庫中,有乙個學生資訊表如下所示,在該表中不能作為候選鍵的屬性集合為( ) (選擇一項)
學號 姓名 性別 年齡 系別 專業
20020612 李輝 男 20 計算機 軟體開發
20060613 張明 男 18 計算機 軟體開發
20060614 王小玉 女 19 物理 力學
20060615 李淑華 女 17 生物 動物學
20060616 趙靜 男 21 化學 食品化學
20060617 趙靜 女 20 生物 植物學
a) b)
c) d)
e) 可能大家不知道如何來選擇。如果這個題目我們可以正確的解答,那麼對於超鍵以及候選鍵和主鍵的概念已經有很深刻的認識了。
看下概念:
超鍵:在關係中能惟一標識元組的屬性集稱為關係模式的超鍵。
候選鍵:不含有多餘屬性的超鍵稱為候選鍵。也就是在候選鍵中,若要再刪除屬性就不是鍵了。
主鍵:使用者選作元組標識的乙個候選鍵稱為主鍵。
u<6{mzh=|m
透過概念,我們可以了解到,超鍵包含著候選鍵,候選鍵中包含著主鍵。主鍵一定是惟一的。為什麼呢?因為他的爺爺超鍵就是惟一的。
我們分析一下上面的題目,abcde5個答案都可以作為超鍵,他們組合在一起的集合可以用來惟一的標識一條資料記錄(實體)。
請注意我們的要求:候選鍵。候選鍵要求是不能包含多餘屬性的超鍵,我們看一下答案b。在答案b中,如果我們不使用姓名也可以惟一的
標識一條資料實體,可以說姓名欄位在這裡是多餘的。那麼很明顯,b選項包含了多餘字段屬性。那麼這題答案應該選擇b
那麼其他的4個選項都可以作為候選鍵,假設很幸運,a)學號 被選擇作為使用者正在使用的候選鍵來惟一標識元組了,那麼他很幸運的
獲得了主鍵的稱號
超鍵,候選鍵,主鍵
超鍵 super key 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵 候選鍵 candidate key 不含有多餘屬性的超鍵稱為候選鍵 主鍵 primary key 使用者選作元組標識的乙個候選鍵程式主鍵 比如乙個小範圍的所有人,沒有重名的,考慮以下屬性 身份證 姓名 性別 年齡 身份證唯一...
超鍵 候選鍵 主鍵 外來鍵
超鍵 super key 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵 候選鍵 candidate key 不含有多餘屬性的超鍵稱為候選鍵 主鍵 primary key 關係模式中使用者正在使用的候選鍵稱主鍵,主鍵是人為規定的 外來鍵 foreign key 如果關係模式r1中的某屬性集不是r1...
超鍵 候選鍵 主鍵 外來鍵
超鍵 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵。乙個屬性可以為作為乙個超鍵,多個屬性組合在一起也可以作為乙個超鍵。超鍵包含候選鍵和主鍵。候選鍵 是最小超鍵,即沒有冗餘元素的超鍵。主鍵 資料庫表中對儲存資料物件予以唯一和完整標識的資料列或屬性的組合。乙個資料列只能有乙個主鍵,且主鍵的取值不能缺...