数据库课程复习之数据库完整性
教材适配:王珊、萨师煊编写
1.数据库完整性是指数据库的正确性和相容性
2.为维护数据库的完整性,数据库管理员必须能够实现的功能
- 提供定义完整性约束条件的机制:完整性约束条件也称完整性规则。SQL使用一系列的概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性
- 提供完整性检查的方法:数据库管理系统中检查数据是否满足完整性约束条件的机制称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。
- 进行违约处理:数据库管理系统若是发现用户的操作违背了完整性约束条件将采取一定的动作,如拒绝(
NO ACTION
)执行该操作或级联(CASCADE
)执行其他操作,进行违约处理以保证数据的完整性。
3.实体完整性、参照完整性(很重要!!!)P158、P160:弄懂课本例题
4.PIMARY KEY
用来定义主码
5.FOREIGN KEY
用来定义外码,REFERENCES
指明外码参照哪些表的主码
6.当参照完整性可能被破坏时,采用以下策略加以处理
- 拒绝(NO ACTION)执行:不允许执行该操作,为默认设置
- 级联(CASCADE)执行:删除所有导致不一致的元组
- 设置为空值:将参照表中的所有造成不一致的元组对应属性设置为空值
7.在CREATE TABLE
中定义属性的同时,可以根据应用要求定义属性上的约束条件,即属性值限制(P163、P164例题)
- 列值非空(
NOT NULL
) - 列值唯一(
UNIQUE
) - 检查列值是否满足一个条件表达式(
CHECK短语
)
8.SQL在CREATE TABLE
语句中提供了完整性约束条件命名子句CONSTRAINT
,用来对完整性约束条件命名。
9.完整性约束条件包括NOT NULL
、UNIQUE
、PRIMARY KEY
、FOREIGN KEY
、CHECK短语
等(P165例题)
10.用ALTER TABLE
语句修改表中的完整性限制
- 去掉限制,采用
DROP CONSTRAINT
- 增加限制,采用
ADD CONSTRAINT
11.建立一个域CREATE DOMAIN
12.声明断言 CREATE ASSERTION
13.触发器(trigger)是用户定义在关系表上的一类由事件驱动的特殊过程。
14.建立触发器 CREATE TRIGGER