5.0概述
- 数据库的完整性指数据的正确性和相容性。
- 数据的正确性是指数据符合现实世界语义。
- 数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。
- 完整性和安全性的区别:
- 完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。
- 安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。
- 为维护数据库的完整性,数据库管理系统必须实现如下功能:
- 提供定义完整性约束条件的机制
- 提供完整性检查的方法
- 进行违约处理
5.1实体完整性
定义实体完整性:
- 关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。
- 单属性构成的码有两种说明方法,一种是定义为列级约束条件,另一种是定义为表级约束条件。
- 对多个属性构成的码只有一种说明方法,即定义为表级约束条件。
实体完整性检查:
- 插入一条记录或对主码列进行更新操作时,会根据实体完整性规则进行检查:
- 检查主码值是否唯一
- 检查主码的各个属性是否为空
- 检查记录中主码值是否唯一的一种方法是进行全表扫描,十分耗时,所以一般都在主码上自动建立一个B+树索引。
5.2参照完整性
定义参照完整性:
- 关系模型的参照完整性在CREATE TABLE中用FOR