第五章 数据库完整性
数据库的完整性指的是数据的正确性和相容性
为维护数据库完整性,DBMS必须实现以下功能
- 提供定义完整性约束条件的机制
- 提供完整性检查的方法
- 进行违约处理
实体完整性
- 定义:在CREATE TABLE时用 PRIMARY KEY 定义
- 实体完整性检查和违约处理:
- 检查主码值是否唯一,如果不唯一则拒绝插入或修改
- 检查主码的各个属性是否非空,如果有一个为空就拒绝插入和修改
参照完整性
- 定义:在CREATE TABLE时用FOREIGN KEY短语定义哪些为外键
- 参照完整性检查和违约处理:
- 插入元组,违约处理:拒绝
- 修改外键的值:违约处理:拒绝
- 删除被参照表的元组,违约处理:拒绝,级联删除,设置为空值
- 修改被参照表的主码值:拒绝,级联修改,设置为空值
用户定义的完整性
- 在CREATE TABLE时,可根据应用要求上的定义属性上的约束条件:非空,唯一,check
- 违约处理:拒绝
触发器
CREATE TRIGGER 触发器名
ON 表名
[FOR|INSTEAD OF|AFTER] [DELETE|INSERT|UPDATE]
AS
....
RETURN
存储过程
CREATE PROC 过程名(参数)
AS
....
RETURN