DBMS 中各種型別的鍵
DBMS 中不同型別的鍵如下:
- 候選鍵 - 表中的候選鍵定義為最小且可以唯一標識表中任何資料行的鍵集。
- 主鍵 - 主鍵是從候選鍵中選擇的一個鍵,併成為表的標識鍵。它可以唯一標識表的任何資料行。
- 超鍵 - 超鍵是主鍵的超集。超鍵包含一組屬性(包括主鍵),這些屬性可以唯一標識表中的任何資料行。
- 複合鍵 - 如果表的任何單個屬性都不能作為鍵,即它不能唯一地標識一行,那麼我們將組合兩個或多個屬性來形成一個鍵。這被稱為複合鍵。
- 次鍵 - 只有一個候選鍵被選擇為主鍵。其餘的被稱為次鍵。
- 外部索引鍵 - 外部索引鍵是表中充當另一個表主鍵的屬性值。因此,外部索引鍵用於將兩個錶鏈接在一起。應非常小心地在外部索引鍵列中輸入資料,因為輸入錯誤的資料可能會使兩個表之間的關係失效。
一個解釋不同鍵的例子:
<學生>
| 學號 | 學生姓名 | 學生電話 | 課程號 |
|---|---|---|---|
| 1 | Andrew | 6615927284 | 10 |
| 2 | Sara | 6583654865 | 20 |
| 3 | Harry | 4647567463 | 10 |
<課程>
| 課程號 | 課程名稱 | 課程教師 |
|---|---|---|
| 10 | 資料庫管理系統(DBMS) | Korth |
| 20 | 演算法 | Cormen |
| 30 | 演算法 | Leiserson |
<選課>
| 學號 | 課程號 |
|---|---|
| 1 | 10 |
| 2 | 20 |
| 3 | 10 |
<學生> 表中的超鍵:
{Student_Number}
{Student_Phone}
{Student_Number,Student_Name}
{Student_Number,Student_Phone}
{Student_Number,Subject_Number}
{Student_Phone,Student_Name}
{Student_Phone,Subject_Number}
{Student_Number,Student_Name,Student_Phone}
{Student_Number,Student_Phone,Subject_Number}
{Student_Number,Student_Name,Subject_Number}
{Student_Phone,Student_Name,Subject_Number}<課程> 表中的超鍵:
{Subject_Number}
{Subject_Number,Subject_Name}
{Subject_Number,Subject_Instructor}
{Subject_Number,Subject_Name,Subject_Instructor}
{Subject_Name,Subject_Instructor}<選課> 表中的超鍵:
{Student_Number,Subject_Number}<學生> 表中的候選鍵是 {學號} 或 {學生電話}
<課程> 表中的候選鍵是 {課程號} 或 {課程名稱,課程教師}
<選課> 表中的候選鍵是 {學號,課程號}
<學生> 表中的主鍵是 {學號}
<課程> 表中的主鍵是 {課程號}
<選課> 表中的主鍵是 {學號,課程號}
<選課> 表中的複合鍵是 {學號,課程號}
<學生> 表中的次鍵是 {學生電話}
<課程> 表中的次鍵是 {課程名稱,課程教師}
{課程號} 是 <學生> 表的外部索引鍵,也是 <課程> 表的主鍵。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP