其他分享
首页 > 其他分享> > 关系模型中的三类完整性约束:实体完整性、参照完整性和用户定义完整性

关系模型中的三类完整性约束:实体完整性、参照完整性和用户定义完整性

作者:互联网

文章目录

实体完整性

定义:若属性A是基本关系R的主属性,则属性A不能取空值(空值就是“不知道”或“不存在”或“无意义”的值)

	例:
		选修(学号,课程号,成绩)

		“学号、课程号”为主码

		“学号”和“课程号”两个属性都不能取空值

实体完整性规则的说明:

主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性

参照完整性

定义:指如果属性(或属性组)F是关系R的外码,且对应了关系S的主码K(R和S可以是同一个关系),那么对于R中的每个元组中的F上的值,必须满足:
(1) 要么F取空值
(2) 要么等于S中某个元组的主码的值

	例:
		学生(学号,姓名)
		课程(课程号,课程名)
		选修(学号,课程号,成绩)

选修表中的学号就称为选修表的一个外码,它对应的是学生表中的学号。并且称选修关系为参照关系,而学生关系为被参照关系。显然,在选修关系中的学号,必须是学生表里真正存在的学号,且选修表里的课程号,也必须是课程表里真正存在的课程号。这就是参照完整性的一个典型表现了。

参照完整性规则的说明:

用户定义完整性

任何关系型数据库,都一定要支持实体完整性和参照完整性。
但同时往往在不同的情况下,我们还需要一些特殊的约束条件,比如性别只能是男或女,年龄不能超过150岁等等。
这种针对某一具体关系数据库的约束条件称为用户定义的完整性,它反映某一具体应用所涉及的数据必须满足的语意要求。

Reference:
关系的三类完整性约束
数据库关系模型的三类完整性约束

标签:关系,三类,参照,实体,主码,课程,完整性,选修
来源: https://blog.csdn.net/Decennie/article/details/120923748