关系模型的完整性规则是对关系的某种约束条件,以保证数据库中数据的有效性。关系模型中有三类完整性约束:实体完整性、参照完整性和用户自定义完整性,在对数据库中的数据执行插入、删除和修改操作时,需要遵循这些完整性约束。
1.实体完整性
实体完整性是指关系的主键不能为空值,要求构成主键的所有属性都不能取空值。所谓空值就是“不知道”或“无意义”的值。由于一个关系对应现实世界的一个实体集,现实世界中的实体是可以相互区分的,如果主键为空值,意味着这个实体无法标识,即不可区分,这显然是错误的。
例如“学生”关系:学生(学号,姓名,性别,出生年月,院系编号)中,主键为“学号”,则“学号”不能取空值;“选课”关系:选课(学号,课程编号,成绩)中,主键为“学号,课程编号”,则“学号”和“课程编号”两个属性都不能取空值。
2.参照完整性
参照完整性是指参照关系中外键的取值,要么为被参照关系中实际存在的值,要么为空值。在关系模型中,实体及实体间的联系都是用关系来描述的,这样就自然存在着关系与关系之间数据的参照(引用),参照完整性是对关系间数据引用的限制。
例如,“学生”关系和“院系”关系:(www.xing528.com)
学生(学号,姓名,性别,出生年月,院系编号)
院系(院系编号,院系名称,联系电话)
“院系编号”是“院系”关系的主键,是“学生”关系的外键,“学生”关系是参照关系,“院系”关系是被参照关系。“学生”关系中“院系编号”的取值要么是参照“院系”关系中实际存在的编号值取值,要么是空值(学生所在院系还未确定)。
3.用户自定义完整性
用户自定义的完整性,通常是定义对关系中除主键与外键之外的其他属性取值的约束,是对关系中属性取值的正确性的限制,包括数据类型、精度、取值范围、是否允许空值等。例如,“学号”应该是长度一定的数字字串,“成绩”应该是一个0到100的整数,“院系名称”应该是该学校中存在的院系等。
思政元素:关系模型是通过严格的数学定义来完成关系之间的各种操作,因此关系模型是一个数学模型。关系模型能一直流行至此,与它自身的数学基础有直接关系,因而在发展的过程中经得起推敲和验证,所以学生在做学术研究时一定要脚踏实地。某些学术研究只有建立在数学基础上,经过严格的数学推导和演绎,才能具有正确性、可信性和持续性。学生要树立正确的价值观,诚信为本,杜绝学术造假。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。