Note/大学笔记/数据库系统原理/单元复习资料/数据库复习4.md

1.9 KiB
Raw Blame History

数据库完整性

数据库完整性是指数据的正确性和相容性。

完整性约束 实体完整性 参照完整性 用户定义的完整性

实体完整性

若属性指一个或一组属性A是基本关系R的主属性则A不能取空值。所谓空值就是“不知道” “不存在” 或者“无意义”的值。

关系模型的实体完整性在 create table 中用primary key定义。

实体完整性检查和违约处理

1检查主码值是否唯一如果不唯一则拒绝插入和修改

2检查主码的各个属性是否为空只要有一个为空就拒绝插入和修改。

参照完整性

设F是基本关系R的一个或一组属性但不是关系R的码Ks是基本关系S的主码。如果F与Ks相对应则称F是R的外码并称基本关系R为参照系基本关系S为被参照系。

若属性或属性组F是基本关系R的外码它与基本关系S的主码Ks相对应基本关系R和S不一定是不同的关系则对于R中的每个元组在F上的值必须

或者取空值

或者等于S中某个原则的主码值

参照完整性检查和违约处理

1 拒绝执行(一般设置为默认策略)

2 级联cascade操作

3 设置为空值

用户定义完整性

用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

在create table 中定义属性的同时,可以根据应用要求定义属性上的约束条件,即属性值限制,包括: 列值非空not null列值唯一unique用check短语指定列值应该满足的条件。

完整性约束命名子句

constraint 完整性约束条件名 完整性约束条件

要求 用check短语写约束条件 和外键约束必须掌握

定义触发器

练习 第四上机内容。文件在群里。