資料庫的超鍵,候選鍵,主鍵

2021-10-05 17:43:09 字數 1188 閱讀 9992

超鍵(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)

我們可以了解到,超鍵包含著候選鍵,候選鍵中包含著主鍵。主鍵一定是惟一的。為什麼呢?因為超鍵就是惟一的。

我們分析一下上面的題目,abcde5個答案都可以作為超鍵,他們組合在一起的集合可以用來惟一的標識乙個實體。 候選鍵。候選鍵要求是不能包含多餘屬性的超鍵,我們看一下答案b。在答案b中,如果我們不使用姓名也可以惟一的標識一條資料實體,可以說姓名欄位在這裡是多餘的。那麼很明顯,b選項包含了多餘字段屬性。那麼這題答案應該選擇b。那麼其他的4個選項都可以作為候選鍵,假設很幸運,a)學號 被選擇作為使用者正在使用的候選鍵來惟一標識元組了,那麼他很幸運的獲得了主鍵的稱號(主鍵->候選鍵)。

資料庫 超鍵 候選鍵 主鍵 外來鍵

首先看看各種鍵的定義 超鍵 super key 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵 候選鍵 candidate key 不含有多餘屬性的超鍵稱為候選鍵 主鍵 primary key 使用者選作元組標識的乙個候選鍵程式主鍵 外來鍵 foreign key 如果關係模式r1中的某屬性集不是...

資料庫 超鍵 候選鍵 主鍵 外來鍵

超鍵 super key 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵 候選鍵 candidate key 不含有多餘屬性的超鍵稱為候選鍵 主鍵 primary key 使用者選作元組標識的乙個候選鍵成為主鍵 外來鍵 foreign key 如果關係模式r1中的某屬性集不是r1的主鍵,而是另乙個...

Dongle 資料庫 超鍵 候選鍵 主鍵 外來鍵

最近做試題的時候,遇到資料關係中的各種鍵 超鍵 候選鍵 主鍵 外來鍵 理解,發現自己能理解,但是和小夥伴講總是講不到點上,故而下來又重新總結了一番,相信下面的總結能對您認識資料庫關係有一定幫助 超鍵 superkey 在關係中能唯一標識元組的屬性集稱為關係模式的超鍵 候選鍵 candidatekey...