文章

数据库复习4

数据库完整性

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

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

实体完整性

若属性(指一个或一组属性)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短语写约束条件 和外键约束必须掌握

定义触发器

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

License:  CC BY 4.0