外鍵就是關鍵字,如果公共關鍵字在一個關系中是主關鍵字,那么這個公共關鍵字被稱為另一個關系的外鍵。外鍵表示了兩個關系之間的相關聯(lián)系。外鍵能夠保持數據一致性、完整性,主要目的是控制存儲在外鍵表中的數據。
外鍵介紹:
如果公共關鍵字在一個關系中是主關鍵字,那么這個公共關鍵字被稱為另一個關系的外鍵。由此可見,外鍵表示了兩個關系之間的相關聯(lián)系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關鍵字。
(學習視頻分享:mysql視頻教程)
作用:
保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯(lián),外鍵只能引用外表中的列的值或使用空值。
阻止執(zhí)行
-
從表插入新行,其外鍵值不是主表的主鍵值便阻止插入;
-
從表修改外鍵值,新值不是主表的主鍵值便阻止修改;
-
主表刪除行,其主鍵值在從表里存在便阻止刪除(要想刪除,必須先刪除從表的相關行);
-
主表修改主鍵值,舊值在從表里存在便阻止修改(要想修改,必須先刪除從表的相關行)。
級聯(lián)執(zhí)行
-
主表刪除行,連帶從表的相關行一起刪除;
-
主表修改主鍵值,連帶從表相關行的外鍵值一起修改。兩種方法提供給用戶選擇。無論選取哪種方法,從表里都不會有多余行。從另一個角度理解,用拒絕同一事物在從表中的標志與主表不一致來實現(xiàn)與主表中的標志一致。