官术网_书友最值得收藏!

4.1 數據完整性概述

維護數據完整性歸根到底就是要確保數據的準確性和一致性,表內的數據不相矛盾,表之間的數據不相矛盾,關聯性不被破壞。

數據的完整性總體來說可分為三類,如下所示。

(1)實體完整性。實體的完整性強制表的標識符列或主鍵的完整性(通過唯一約束、主鍵約束和標識列)。

(2)域完整性。限制類型(數據類型),可能值范圍(外鍵約束、默認值約束和非空約束)。

(3)引用完整性。在刪除和輸入記錄時,引用完整性保持表之間已定義的關系,引用完整性確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值。如果一個鍵值更改了,那么在整個數據庫中,對該鍵值的引用要進行一致的更改。

具體來說,約束分為對字段的約束、對數據的約束和對表的約束,如下所示。

(1)對字段的控制,即主鍵約束、唯一性約束和標識列。

(2)對數據的控制,有數據非空約束和默認值約束。

(3)對表之間列之間關系的控制,外鍵約束、觸發器和存儲過程。

本章詳細介紹MySQL中的約束,包括主鍵約束、外鍵約束、非空約束、默認值約束、唯一約束和標識列約束。

主站蜘蛛池模板: 新泰市| 六枝特区| 浦城县| 姜堰市| 体育| 齐齐哈尔市| 望谟县| 乌恰县| 藁城市| 栾城县| 玛曲县| 金沙县| 天等县| 文昌市| 丹寨县| 南华县| 新丰县| 伊川县| 闸北区| 当涂县| 盖州市| 永平县| 东乌珠穆沁旗| 昔阳县| 龙川县| 务川| 当涂县| 丹棱县| 光泽县| 巫山县| 张掖市| 砀山县| 高尔夫| 湖南省| 宝清县| 巴林右旗| 黎平县| 玉田县| 龙海市| 九龙县| 金川县|