將一張表的主鍵作為外鍵關聯到另一張表中


將一張表的主鍵作為外鍵關聯到另一張表中


1、外鍵的介紹

設置外鍵的作用很明顯,就是講兩個表的數據產生關聯,就比如個人信息表和部門表之間,部門表的部門id就可以作為一個外鍵存放於個人信息表中,除此之外設定外鍵在父子表中的維護關系,可以達到一個類似於級聯的操作,就是當父級表(主鍵作為外鍵的表)數據變化時,子表(拿着別的表的主鍵作為自己的外鍵的表)就會有相應的數據變化;


2、使用Navicat創建外鍵

其實只要找到外鍵設定的地方就可以了,很簡單~,如下圖:
在這里插入圖片描述
只要按照那一列的名字選擇好對應的外鍵表、外鍵列等信息即可,其中有一個比較重要的就是外鍵維護關系的選擇,就是最后兩欄~


3、外鍵的維護關系設定及其選擇

外鍵的維護關系不論是外鍵的更新還是刪除都分為四級,下面是對四級的介紹;

  • CASCADE:父表delete、update的時候,子表會delete、update掉關聯記錄;
  • SET NULL:父表delete、update的時候,子表會將關聯記錄的外鍵字段所在列設為null,所以注意在設計子表時外鍵不能設為not null;
  • RESTRICT:如果想要刪除父表的記錄時,而在子表中有關聯該父表的記錄,則不允許刪除父表中的記錄;
  • NO ACTION:同 RESTRICT,也是首先先檢查外鍵;

關於這四種維護關系的選擇需要根據情況而定,比如:

  • 訂單表和人員表,當用戶注戶后,該用戶的訂單信息需要被清空(至少在當前正在使用的數據庫中需要被移出),那么訂單表中的外鍵-人員id,他的維護關系就需要定為"CASCADE"級別的;

其他的情況就不一一介紹了;


《END》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM