數(shù)據(jù)庫中的鍵有哪些類型

鍵在關(guān)系數(shù)據(jù)庫中起著重要作用,它是關(guān)系數(shù)據(jù)庫模型的重要組成部分。下面本篇文章就來帶大家認(rèn)識一些數(shù)據(jù)庫中常見的鍵,希望對大家有所幫助。

數(shù)據(jù)庫中的鍵有哪些類型

為什么我們需要使用鍵?

在實際應(yīng)用中,存儲數(shù)據(jù)所需的表的數(shù)量很大,并且不同的表也彼此相關(guān)?!鞠嚓P(guān)視頻推薦:MySQL教程

此外,表格中存儲了大量數(shù)據(jù)。表通常擴展到存儲在其中的數(shù)千條記錄,未分類和無組織。

現(xiàn)在要從這樣的數(shù)據(jù)集中獲取任何特定記錄,您將必須應(yīng)用一些條件,但是如果存在重復(fù)數(shù)據(jù)并且每次嘗試通過應(yīng)用某些條件來獲取某些數(shù)據(jù)時會出現(xiàn)錯誤數(shù)據(jù)。在獲得正確的數(shù)據(jù)之前有多少次試驗?

為了避免這一切,定義鍵可以輕松識別表中的任何數(shù)據(jù)行。

在數(shù)據(jù)庫中,鍵是用于建立和標(biāo)識表之間的關(guān)系,也用于唯一標(biāo)識表中的任何記錄或數(shù)據(jù)行。它可以是單個屬性或一組屬性,其中組合可以作為鍵。

鍵的類型

下面給大家介紹一些常見類型的鍵,為了讓大家了解這些鍵,我們來通過例子介紹一下:

student_id name age college_id phone
1 小華 20 01 1561258xxx
2 小紅 21 01 1771258xxx
3 小明 20 02 1831258xxx

可以看出這是一個簡單的Student表,有字段student_id,name,subject_id,age和phone。

候選鍵(Candidate Key)

候選鍵被定義為可以唯一地標(biāo)識表中的每個記錄的最小字段集。它是一個屬性或一組屬性,可以充當(dāng)表的主鍵,以唯一地標(biāo)識該表中的每個記錄。

在上面的Student表中,student_id和phone都是學(xué)生表的候選鍵。下面是候選鍵的一些特征:

?●? ?候選鍵永遠(yuǎn)不能為NULL或為空;它的價值應(yīng)該是獨一無二的。

?●? ?表中除主鍵之外的其余屬性都可被視為候選鍵,一個表可以有多個候選鍵。

?●? ?候選鍵可以是多個列(屬性)的組合。

超級鍵(Super Key)

超級鍵被定義為表中的一組屬性,可以唯一地標(biāo)識表中的每個記錄。超級密鑰是候選鍵的超集。

在上面定義的表中,超級鍵可以是:

?●? ?student_id:因為每行student_id數(shù)據(jù)都是唯一的,因此它可以用于唯一地標(biāo)識每一行。

?●? ?(student_id, name):現(xiàn)在兩個學(xué)生的姓名可以相同,但他們的學(xué)生ID不能相同,因此這個組合也可以是一個鍵。

?●? ?phone:因為每個學(xué)生的電話號碼都是唯一的,因此,phone也可以是一個鍵。

所以它們都可以是超級鍵。

主鍵(Primary Key)

主鍵是最適合成為任何表的標(biāo)識鍵的候選鍵,它可以唯一標(biāo)識表中每條記錄。

對于Student表,我們可以將student_id列作為主鍵。

數(shù)據(jù)庫中的鍵有哪些類型

復(fù)合鍵(Composite key)

復(fù)合鍵是由兩個或多個唯一標(biāo)識表中任何記錄的屬性組成的鍵。當(dāng)表的任何單個屬性都不能唯一地標(biāo)識行時,我們就需要使用復(fù)合鍵。

注:共同形成復(fù)合鍵的屬性不是獨立或單獨的鍵。

student_id subject_id exam_name mark
1 02 php課程 90
2 02 mysql課程 80

在上面的是一個Score表,用于存儲學(xué)生在特定科目中得到的分?jǐn)?shù)。

數(shù)據(jù)庫中的鍵有哪些類型

在這個表中student_id,subject_id將形成主鍵,因此它是一個復(fù)合鍵。

備用鍵(Alternative key)

在所有候選鍵中,只會有一個被選為主鍵,其余鍵稱為備用鍵或輔助鍵。

外鍵(Foreign Key)

外鍵是表中的屬性值,充當(dāng)另一個表的主鍵。因此,外鍵可用于將兩個表鏈接在一起。

數(shù)據(jù)庫中的鍵有哪些類型

注:需要非常小心地在外鍵列中輸入數(shù)據(jù),因為輸入錯誤的數(shù)據(jù)可能使兩個表之間的關(guān)系無效。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享