navicat怎么建立外鍵

navicat怎么建立外鍵

  數據庫外鍵表示了兩個關系之間的相關聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。下面我們就為大家介紹一下navicat如何創建外鍵。

推薦教程:mysql入門視頻教程

1、打開navicat選擇要操作的數據庫表,右鍵選擇設計表。

navicat怎么建立外鍵

2、點擊外鍵選項就可以開始設置外鍵了。

navicat怎么建立外鍵

一共有七列。簡單介紹一下這幾列的意思:

  “名”:? 可以不填,你一會保存成功系統會自動生成。

  “欄位”:就是你要把哪個鍵設置為外鍵。

  “參考數據庫”: 外鍵關聯的數據庫。

  “參考表”: 關聯的表?

  “參考欄位”:關聯的的字段,

  “刪除時”:就是刪除的時候選擇的動作。

  “ 更新時”:就是更新的時候選擇的動作。

擴展資料:外鍵的作用

  保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值或使用空值。

  如果不使用外鍵,表2的學號字段插了一個值(比如20140999999),但是這個值在表1中并沒有,這個時候,數據庫允許插入,并不會對插入的數據做關系檢查。然而在設置外鍵的情況下,你插入表2學號字段的值必須要求在表1的學號字段能找到。 同時,如果你要刪除表1的某個學號字段,必須保證表2中沒有引用該字段值的列,否則就沒法刪除。這就是所謂的保持數據的一致性和完整性。如右圖,如果表2還引用表1的某個學號,你卻把表1中的這個學號刪了,表2就不知道這個學號對應的學生是哪個學生。

  數據庫中的表必須符合規范,才能杜絕數據冗余、插入異常、刪除異常等現象。規范的過程是分解表的過程。經過分解,伺一事物的代表屬性出現在不同的表中。顯然,它們應該保持一致。例如,某學生的代表數據是學號012,在學生表里是012,在成績表里也應該是012。這種一致性由外鍵實現。外鍵的功能是:它的值一定是另一個表的主鍵值。學號在學生表里是主鍵,在成績表里是外鍵。成績表里的學號一定要是學生表里的學號。于是,學生表里的學號和成績表里的學號就一致了。可以直觀地理解,外鍵的功能是實現同一事物在不同表中的標志一致性。2功能的實現由外鍵聯系的兩個表,在單獨操作時,外鍵功能由兩種方法實現?[4]??:

阻止執行

  ●從表插入新行,其外鍵值不是主表的主鍵值便阻止插入;

  ●從表修改外鍵值,新值不是主表的主鍵值便阻止修改;

  ●主表刪除行,其主鍵值在從表里存在便阻止刪除(要想刪除,必須先刪除從表的相關行);

  ●主表修改主鍵值,舊值在從表里存在便阻止修改(要想修改,必須先刪除從表的相關行)。

級聯執行

  ●主表刪除行,連帶從表的相關行一起刪除;

  ●主表修改主鍵值,連帶從表相關行的外鍵值一起修改。兩種方法提供給用戶選擇。無論選取哪種方法,從表里都不會有多余行。從另一個角度理解,用拒絕同一事物在從表中的標志與主表不一致來實現與主表中的標志一致。

  ●兩種實現方法,通過下面方式選擇:

  ●界面:設級聯更新、級聯刪除兩個選擇方框,選取則級聯執行、不選取則阻止執行;

  ●命令:設E)kSCM)E、restrict兩個可選項,CASCADE為級聯執行、RESTRICT為阻止執行。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享