【什么是主鍵與外鍵】在數(shù)據(jù)庫設(shè)計中,主鍵和外鍵是兩個非常重要的概念。它們用于確保數(shù)據(jù)的完整性、一致性以及表之間的關(guān)系正確建立。下面將對這兩個概念進行總結(jié),并通過表格形式進行對比說明。
一、主鍵(Primary Key)
主鍵是用于唯一標(biāo)識數(shù)據(jù)庫表中每一行記錄的字段或字段組合。它的主要作用是保證表中每條記錄的唯一性,防止重復(fù)數(shù)據(jù)的出現(xiàn)。主鍵可以是一個字段,也可以是多個字段的組合(復(fù)合主鍵)。主鍵不允許為空(NULL),并且每個表只能有一個主鍵。
特點:
- 唯一性:每個主鍵值必須唯一。
- 非空性:主鍵字段不能為 NULL。
- 一個表只能有一個主鍵。
二、外鍵(Foreign Key)
外鍵是用來建立和維護兩個表之間關(guān)聯(lián)關(guān)系的字段。它通常引用另一個表的主鍵,用來確保數(shù)據(jù)的一致性和完整性。外鍵可以為空,也可以有重復(fù)值,但其值必須存在于被引用表的主鍵中,或者為 NULL。
特點:
- 關(guān)聯(lián)性:外鍵用于連接兩個表。
- 參照完整性:外鍵的值必須存在于被引用表的主鍵中,或為 NULL。
- 一個表可以有多個外鍵。
三、主鍵與外鍵的區(qū)別總結(jié)
| 特性 | 主鍵(Primary Key) | 外鍵(Foreign Key) |
| 作用 | 唯一標(biāo)識表中的每一行記錄 | 建立和維護表之間的關(guān)系 |
| 唯一性 | 必須唯一 | 不一定唯一 |
| 空值 | 不允許為空(NULL) | 允許為空(NULL) |
| 數(shù)量 | 每個表只能有一個主鍵 | 一個表可以有多個外鍵 |
| 引用關(guān)系 | 不引用其他表 | 通常引用其他表的主鍵 |
| 數(shù)據(jù)完整性 | 確保記錄的唯一性 | 確保參照完整性 |
四、實際應(yīng)用舉例
假設(shè)有一個“學(xué)生表”和一個“成績表”,其中:
- 學(xué)生表 包含字段:學(xué)號(主鍵)、姓名、性別等;
- 成績表 包含字段:學(xué)號(外鍵)、課程名、分?jǐn)?shù)等。
在這種情況下,成績表中的“學(xué)號”作為外鍵,引用了學(xué)生表中的“學(xué)號”主鍵,從而實現(xiàn)了兩個表之間的關(guān)聯(lián)。
通過合理使用主鍵和外鍵,可以有效提高數(shù)據(jù)庫的結(jié)構(gòu)化程度和數(shù)據(jù)管理效率,避免數(shù)據(jù)冗余和不一致的問題。


