
上QQ阅读APP看书,第一时间看更新
4.1 数据完整性概述
维护数据完整性归根到底就是要确保数据的准确性和一致性,表内的数据不相矛盾,表之间的数据不相矛盾,关联性不被破坏。
数据的完整性总体来说可分为三类,如下所示。
(1)实体完整性。实体的完整性强制表的标识符列或主键的完整性(通过唯一约束、主键约束和标识列)。
(2)域完整性。限制类型(数据类型),可能值范围(外键约束、默认值约束和非空约束)。
(3)引用完整性。在删除和输入记录时,引用完整性保持表之间已定义的关系,引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值。如果一个键值更改了,那么在整个数据库中,对该键值的引用要进行一致的更改。
具体来说,约束分为对字段的约束、对数据的约束和对表的约束,如下所示。
(1)对字段的控制,即主键约束、唯一性约束和标识列。
(2)对数据的控制,有数据非空约束和默认值约束。
(3)对表之间列之间关系的控制,外键约束、触发器和存储过程。
本章详细介绍MySQL中的约束,包括主键约束、外键约束、非空约束、默认值约束、唯一约束和标识列约束。