- MySQL數據庫管理與開發實踐教程 (清華電腦學堂)
- 程朝斌
- 442字
- 2021-03-19 18:16:53
4.1 數據完整性概述
維護數據完整性歸根到底就是要確保數據的準確性和一致性,表內的數據不相矛盾,表之間的數據不相矛盾,關聯性不被破壞。
數據的完整性總體來說可分為三類,如下所示。
(1)實體完整性。實體的完整性強制表的標識符列或主鍵的完整性(通過唯一約束、主鍵約束和標識列)。
(2)域完整性。限制類型(數據類型),可能值范圍(外鍵約束、默認值約束和非空約束)。
(3)引用完整性。在刪除和輸入記錄時,引用完整性保持表之間已定義的關系,引用完整性確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值。如果一個鍵值更改了,那么在整個數據庫中,對該鍵值的引用要進行一致的更改。
具體來說,約束分為對字段的約束、對數據的約束和對表的約束,如下所示。
(1)對字段的控制,即主鍵約束、唯一性約束和標識列。
(2)對數據的控制,有數據非空約束和默認值約束。
(3)對表之間列之間關系的控制,外鍵約束、觸發器和存儲過程。
本章詳細介紹MySQL中的約束,包括主鍵約束、外鍵約束、非空約束、默認值約束、唯一約束和標識列約束。