数据库三类完整性规则

时间:2025-01-26 08:25:05

为了维护数据库中的数据与现实的一致性,关系数据库的数据与更新操作必须遵守下列三类完整性规则:实体完整性规则,参照完整性规则,用户定义的完整性。

1.完整实体性规则  

这个规则要求关系中元组在组成主键的属性上不能有空值,如果出现空值,那么主键值就起不了唯一表示元组的作用。

2.参照完整性规则

如果属性集K是关系模式R1的主键,K也是关系模式的R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1的关系中某个主键值。

这条规则的实质是“不允许引用不存在的实体”,这条规则在具体的使用时,有三点变通:

1)外键和相应的主键可以不同名,只要定义在相同值域上即可;

2)R1和R2也可以是同一个关系模式,此时表示了同一个关系中的不同元组之之间的联系;

3)外键值是否允许空,应视具体问题而定;

3.用户定义的完整性规则

在建立关系模式时,对属性定义了数据类型,即使这样可能满足不了用户的需求,此时,用于可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方式处理他们,不再由应用程序承担这项工作。

例如学生的定义为两位数,范围还太大,我们可以写如下规则把年龄限制在15~30岁之间:

CHECK (AGE,BETWEEN,15,AND,30)