MySQL数据库管理与开发实践教程 (清华电脑学堂)
上QQ阅读APP看书,第一时间看更新

4.1 数据完整性概述

维护数据完整性归根到底就是要确保数据的准确性和一致性,表内的数据不相矛盾,表之间的数据不相矛盾,关联性不被破坏。

数据的完整性总体来说可分为三类,如下所示。

(1)实体完整性。实体的完整性强制表的标识符列或主键的完整性(通过唯一约束、主键约束和标识列)。

(2)域完整性。限制类型(数据类型),可能值范围(外键约束、默认值约束和非空约束)。

(3)引用完整性。在删除和输入记录时,引用完整性保持表之间已定义的关系,引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值。如果一个键值更改了,那么在整个数据库中,对该键值的引用要进行一致的更改。

具体来说,约束分为对字段的约束、对数据的约束和对表的约束,如下所示。

(1)对字段的控制,即主键约束、唯一性约束和标识列。

(2)对数据的控制,有数据非空约束和默认值约束。

(3)对表之间列之间关系的控制,外键约束、触发器和存储过程。

本章详细介绍MySQL中的约束,包括主键约束、外键约束、非空约束、默认值约束、唯一约束和标识列约束。