資料庫的鍵們

2021-09-29 21:40:19 字數 1460 閱讀 2558

一、講解

首先說明 鍵字=碼字,所以 主鍵=主碼=主關鍵字,候選鍵=候選碼=候選關鍵字...

所謂關係鍵,指的是乙個表中的乙個(或一組)屬性,用來標識該錶的每一行或與另乙個表產生聯絡。

話不多說,上圖:

相信這個圖已經畫得很清晰了,下面逐一解釋:

1、碼=超鍵:能夠唯一標識一條記錄的屬性或屬性集。

標識性:乙個資料表的所有記錄都具有不同的超鍵

非空性:不能為空

有些時候也把碼稱作「鍵」

2、候選鍵=候選碼:能夠唯一標識一條記錄的最小屬性集

標識性:乙個資料表的所有記錄都具有不同的候選鍵

最小性:候選鍵的任何子集都不能唯一標識乙個記錄

非空性:不能為空

候選鍵是沒有多餘屬性的超鍵

舉例:學生id是候選碼,那麼含有候選碼的都是碼。

少部分地方也有叫超級碼的,但是見得不多

3、主鍵=主碼:某個能夠唯一標識一條記錄的最小屬性集(是從候選碼裡人為挑選的一條)

唯一性:乙個資料表只能有乙個主鍵

標識性:乙個資料表的所有記錄都具有不同的主鍵取值

非空性:不能為空

人為的選取某個候選碼為主碼

4、主屬性 簡單來說,主屬性是候選碼屬性的並集

非主屬性 不包含在候選碼中的屬性稱為非主屬性。 非主屬性是相對於主屬性來定義的。

5、外來鍵(foreign key):子資料表**現的父資料表的主鍵,稱為子資料表的外來鍵。

6、**鍵:當不適合用任何乙個候選鍵作為主鍵時(如資料太長等),新增乙個沒有實際意義的鍵作為主鍵,這個鍵就是**鍵。(如常用的序號1、2、3)

7、自然鍵:自然生活中唯一能夠標識一條記錄的鍵(如身份證)

二、例子

下面舉例說明

學生成績資訊表中有(學號、姓名、性別、年齡、系別、專業等)

超鍵/碼:

學生表中含有學號或者身份證號的任意組合都為此表的超鍵。如:(學號)、(學號,姓名)、(學號,性別)等

我們假設學生的姓名唯一,沒有重名的現象。

學號唯一,所以是乙個超鍵

姓名唯一,所以是乙個超鍵

(姓名,性別)唯一,所以是乙個超鍵

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

(姓名,性別,年齡)唯一,所以是乙個超鍵

候選鍵:

學號唯一,而且沒有多餘屬性,所以是乙個候選鍵

姓名唯一,而且沒有多餘屬性,所以是乙個候選鍵

(姓名,性別)唯一,但是單獨姓名乙個屬性就能確定這個人是誰,所以性別這個屬性就是多餘屬性,所以(姓名,性別)不是候選鍵

(姓名,年齡),(姓名,性別,年齡)同上,也不是候選鍵

主鍵: 主鍵就是候選鍵裡面的乙個,是人為規定的,例如學生表中,我們通常會讓「學號」做主鍵,學號能唯一標識這乙個元組。

外來鍵: 外來鍵就很簡單了,假如我們還有乙個教師表,每個教師都有自己的編號,假設老師編號在老師這個層次中是主鍵,在學生表中它就是外來鍵。

資料庫 外來鍵

外來鍵是什麼?外來鍵 fk 是用於建立和加強兩個表資料之間的鏈結的一列或多列。通過將儲存表中主鍵值的一列或多列新增到另乙個表中,可建立兩個表之間的鏈結。這個列就成為第二個表的外來鍵。外來鍵資料庫一級的完整性約束,由資料庫自行維護.你也可以手動建立.1如果存在外來鍵關係的話,任何修改主表主鍵欄位和刪除...

資料庫原理 鍵

鍵的定義 所有的鍵都是乙個集合,這個集合可以包括乙個集,也可以是多個集。超鍵 super key 在關係中能惟一標識元素屬性的集稱為關係模式的超鍵。候選鍵 candidate key 不含有多餘屬性的超鍵稱為候選鍵。也就是說在候選鍵中在刪除屬性,就不是鍵了。主鍵 primary key 使用者選作元...

資料庫外來鍵

主鍵 能夠唯一標識表中某一行的屬性或屬性組。乙個表只能有乙個主鍵,但是可以有多個索引。主鍵常常與外來鍵構成完整性約束,防止出現資料的不一致,資料庫管理系統對於主鍵自動生成唯一索引,所以主鍵是乙個特殊的索引。外來鍵 用於建立和加強兩個表資料之間的連線的一列或者多列。外來鍵主要是用來維護兩個表之間的資料...