文档介绍:本章内容提要
数据库中的数据是否具备正确、相容关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。
维护数据库
(1)制定完整性约束条件
(2)进行完整性检查(控制)
第十章数据库完整性
本章重点:
完整性约束条件
完整性控制
 本章难点:
完整性约束条件
完整性控制
第十章数据库完整性
数据库的完整性是指数据的正确、有效性和相容性(前后一致)。
完整性是对数据库存储数据的限制,是对数据的约束条件。对数据库存储的限制各种各样。如关系模式中的函数依赖,是对数据项之间相关性的一种限制。
数据的正确、有效性可以简单的视为是对数据本身而言。
数据的相容性可以简单的视为是对数据之间的相互关系而言。
第十章数据库完整性
为维护数据库的完整性,DBMS提供了一种完整性检查机制来检查数据库中的数据,看其是否满足语义规定的条件。
完整性检查(控制)是指DBMS用一定机制来满足规定的约束条件,是防止合法用户无意识操作造成的数据输入、输出错误——即垃圾进、垃圾出(Garbage in Garbage out ),破坏数据的正确、有效和相容,以保证数据库中不存在不符合语义的数据。
第十章数据库完整性
完整性检查是围绕完整性约束条件进行的,因此完整性约束条件是完整性控制机制的核心。
在关系模型中,最常见的是三类:
(A)实体完整性
(B)参照完整性
(C)用户定义完整性
第十章数据库完整性
一、完整性约束条件分类:
(1)完整性约束条件作用的对象:
(A)关系
(B)元组
(C)列。
其中:
(A)关系的约束是若干元组间、关系集合上以及关系之间的联系的约束。
(B)元组的约束是元组中各个字段间的联系的约束。
(C)列约束主要是列的类型、取值范围、精度、排序等的约束条件。
第十章数据库完整性 完整性约束条件
第十章数据库完整性 完整性约束条件
(2)完整性约束条件涉及的对象的状态:
(A)静态约束
(B)动态约束
其中:
(A)静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。
(B)动态约束是指数据库从一种状态转变为另一种状态时新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。
综合上述两个方面,将完整性约束条件分为六类:
一、静态列级约束
二、静态元组约束
三、静态关系约束
四、动态列级约束
五、动态元组约束
六、动态关系约束
第十章数据库完整性 完整性约束条件
第十章数据库完整性 完整性约束条件
对象粒度
对
象
状
态
列
元组
关系
动态
动态列级约束
动态元组约束
动态关系约束
静态
静态列级约束
静态元组
静态关系约束
一、静态列级约束
静态列级约束是对一个列的取值域的说明,这是最常用也最容易实现的一类完整性约束。
包括以下几方面:
1. 对数据类型的约束,包括数据的类型、长度、单位、精度等
2. 对数据格式的约束
3. 对取值范围或取值集合的约束。
4. 对空值的约束
5. 其他约束
第十章数据库完整性 完整性约束条件