首頁 > 資料庫 > navicat > 主體

navicat怎麼建立外鍵

angryTom
發布: 2019-08-08 11:59:59
原創
9987 人瀏覽過

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為阻止執行。

以上是navicat怎麼建立外鍵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!