關係型資料庫 超鍵 候選鍵 主鍵 外來鍵的區別

2021-08-21 08:24:14 字數 1516 閱讀 4031

?

1

2

3

4

5

6

7

8

學號 姓名 性別 年齡 系別 專業

20020612 李輝 男 20 計算機 軟體開發

20060613 張明 男 18 計算機 軟體開發

20060614 王小玉 女 19 物理 力學

20060615 李淑華 女 17 生物 動物學

20060616 趙靜 男 21 化學 食品化學

20060617 趙靜 女 20 生物 植物學

在關係中能唯一標識元組的屬性集稱為關係模式的超鍵。

於是我們從例子中可以發現 學號是標識學生實體的唯一標識。那麼該元組的超鍵就為學號。

除此之外我們還可以把它跟其他屬性組合起來,比如:

學號,性別

學號,年齡

這樣也是超鍵

不含多餘屬性的超鍵為候選鍵。

根據例子可知,學號是乙個可以唯一標識元組的唯一標識,因此學號是乙個候選鍵,實際上,候選鍵是超鍵的子集,比如 (學號,年齡)是超鍵,但是它不是候選鍵。因為它還有了額外的屬性。

使用者選擇的候選鍵作為該元組的唯一標識,那麼它就為主鍵。

簡單的說,例子中的元組的候選鍵為學號,但是我們選定他作為該元組的唯一標識,那麼學號就為主鍵。

外來鍵是相對於主鍵的,比如在學生記錄裡,主鍵為學號,在成績單表中也有學號字段,因此學號為成績單表的外來鍵,為學生表的主鍵。

主鍵為候選鍵的子集,候選鍵為超鍵的子集,而外鍵的確定是相對於主鍵的。

a.超鍵:在關係模式中,能唯一標識元組的屬性集稱為超鍵。

b.候選鍵 :如果乙個屬性集能唯一標識元組,且有不包含多餘屬性,那麼這個屬性集稱為候選鍵;也即:候選鍵是沒有多餘屬性的超鍵。

那麼超鍵可以看作是帶有其他有多餘屬性的候選鍵,也即候選鍵帶上任意個其他屬性可被視為超鍵。

c.主鍵:關係模式中使用者正在使用的候選鍵稱主鍵(primary key)。一般,如不加說明,鍵是指主鍵。

舉例:1.(假設姓名無重複)

姓名,學號,年齡

a,1,20

b,2,30

c,3,23

姓名唯一,是個超鍵

學號唯一,是個超鍵

(姓名,年齡)唯一 ,是個超鍵

(學號,努力)唯一,是個超鍵

姓名唯一,且沒有其他多餘屬性,是個候選鍵

學號唯一,且沒有其他多餘屬性,是個候選鍵

考慮方便查詢,我們使用學號作為主鍵;也可以根據習慣,使用姓名作為主鍵;即選中的候選鍵就是主鍵

d.外來鍵

在關係模式r中,如果某屬性集是其他模式的候選鍵,那麼該屬性集對模式r來說就是外來鍵。

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

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

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

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

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

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