首页 > 试题广场 >

关系模型的完整性规则有哪几类?

[问答题]

关系模型的完整性规则有哪几类?

一、实体完整性

实体完整性要求每个表都有唯一标识符,每一个表中的主键字段不能为空或者重复的值。

二、参照完整性

参照完整性要求关系中不允许引用不存在的实体。设定相应的更新删除插入规则来更新参考表。

例如表sutdent(有idusernamepassword),表sutdent_info(有idnameagesex)。其中表sutdent_info参照了表studentid作为外键。那么当student表删除一行时,表student_info对应的id那一列将被删除或者置空(根据设定的规则而定)。同样,表student_info增加一行,其中的id必须等于student表中的id

三、用户自定义完整性

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

也就是说:某个表你设置这一列为nullnot nulldefaultcheck等。包括:非空约束、唯一约束、检查约束、主键约束 、外键约束

1、非空约束(Not Null Constraint) 这个可能大家都了解,就是我们在添加那个表 userinfo,在idname后面都添加了not null,就是有些列不能把它设为空。

2、唯一约束(Unique Constraint) 一个唯一约束并不包括一个NULL值。直接在字段定义后加入UNIQUE即可定义该唯一约束。 1) 一个表只能创建一个主键约束,但一个表可以根据需要对不同的列创建若干unique约束 2)主键字段不允许为null unique允许为空 3)一般创建主键约束时,系统自动产生簇索引,unique约束自动产非簇索引

3、检查约束(The Check Clause) 通过在定义数据库表里,在字段级或者是在表级加入的检查约束,使其满足特定的要求。

4、主键约束(Primary Key Constraint) 其实主键约束就是一张表只能建立一个主键约束,其实就是唯一约束+非空约束。大家通过上课讨论那么多关于依赖的事情,估计大家都能理解了

5、外健约束( Foreign Key Constraint Foreign Key Constraint主要是确保同一个表或者不同表之间的引用完整性,所以必须引用一个PRIMARY KEY或者UNIQUE约束,用户必须在应用表上具有REFERENCES权限;一个表中最多可以有31个外部键约束; 在临时表中,不能使用外部键约束; 主键和外部键的数据类型必须严格匹配 。

编辑于 2020-12-20 20:51:05 回复(0)