数据库系统概论小结(四)【面向考试】
数据库系统概论小结(四)【面向考试】
第五章 数据库完整性
数据库的完整性指数据的正确性和相容性。
- 正确性:符合现实世界的描述。
- 相容性:同一对象在不同表里面是符合逻辑的。
维护完整性:
- 提供定义完整性约束条件的机制
- 提供完整性检查的方法
- 进行违约处理
三大完整性:
- 实体完整性
- 参照完整性
- 用户定义完整性
5.1实体完整性
主码唯一且非空。
5.2参照完整性
外码要么没有,要么只有一个。
5.3用户定义的完整性
- 非空NOT NULL
- 唯一UNIQUE
- CHECK,如CHECK(sex in ('男','女'))是属性上的check约束,也可以添加元组上的check约束,可以设置不同属性之间的相互约束
5.4完整性约束命名子句
5.5断言
所谓断言就是一个谓词,它表达了我们希望数据库总能满足的一个条件。域约束和参照完整性约束是断言的特殊形式。
-
创建断言
CREATE ASSERTION <断言名> <CHECK子句>;
-
删除断言
DROP ASSERTION <断言名>;
5.6触发器
触发器也叫做 事件 -> 条件 -> 动作 规则,当特定事件发生时,对规则的条件进行检查,如果条件成立则执行规则中的动作,否则不执行。
-
建立触发器
CREATE TRIGGER <触发器名> {BEFORE | AFTER}<触发事件> ON <表名> REFERENCING NEW|OLD ROW AS<变量> FOR EACH{ROW|STATEMENT} [WHEN <触发条件>] <触发动作者>
-
删除触发器
DROP TRIGGER <触发器名> ON <表名>;