MySQL 主表與從表


通過上一篇隨筆,筆者了解到,實體完整性是通過主鍵約束實現的,而參照完整性是通過外鍵約束實現的,兩者都是為了保證數據的完整性和一致性

主鍵約束比較好理解,就是主鍵值不能為空且不重復,已經強調好多次,所以這里重點記錄對外鍵約束的學習。

 

主表與從表

若同一個數據庫中,B表的外鍵與A表的主鍵相對應,則A表為主表,B表為從表。

假設學生表(學號,姓名,性別,專業號),專業表(專業號,專業名稱),則學生表中的專業號為學生表的外鍵,其與專業表中“專業號”屬性相關聯,因此,專業表為主表,學生表為從表。

 

外鍵約束

外鍵約束是相關聯的兩個表之間的數據操作約束,包括刪除,插入,更新等。理論上,在對關聯數據表進行數據操作時,只改其一,不改其二,不符合關系數據庫的參照完整性。

(1)更新

更新主表的某一個記錄的主鍵值(其實,這種操作是不被允許的),系統會自動檢測該主鍵值在從表中是否存在,若存在,則需要明確操作(一般默認為不被允許);

更新從表的某一個記錄的外鍵值,系統會自動檢測欲更新的外鍵值在主表中是否存在,若不存在,則需要明確操作(一般默認為不被允許);

(2)插入

向主表中插入一條新的記錄,不會對現有從表造成影響;

向從表中插入一條新的記錄,系統會檢測外鍵對應的屬性值在主表中是否存在,若存在,否則需要明確操作(一般默認為不被允許);

(3)刪除

從主表中刪除一條記錄,系統會自動檢測該記錄的主鍵值是否在從表中存在,若存在,則需要明確操作(一般默認為不被允許);

從從表中刪除一條記錄,不會對主表造成影響;


免責聲明!

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



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