关系的候选码、主码、外码以及关系的完整性

关系的候选码、主码、外码

候选码

定义:能惟一标识关系中元组的一个属性或属性集,称为候选码(Candidate Key)
在这里插入图片描述
“学生关系”中的学号能惟一标识每一个学生
“选课关系”中,只有属性的组合“学号+课程号”才能惟一地区分每一条选课记录

主码

定义:从多个候选键中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主关系码(主键,主码,关系键,关键字)。

主属性和非主属性

主属性:包含在主码中的各个属性称为主属性
非主属性:不包含在任何候选码中的属性称为非主属性(或非码属性)
全码 :所有属性的组合是关系的候选码
超码:包含候选码的属性集合。
在这里插入图片描述

外码

定义:如果关系R2的一个或一组属性X不是R2的主码,而是另一个关系R1的主码,则该属性或属性组X称为关系R2的外部关键键或外码(Foreign Key),并称R2为参照关系(Referencing Relation),关系R1称为被参照关系(Referenced Relation)。
被参照关系的主码和参照关系的外码必须定义在同一个域上
在这里插入图片描述

关系的完整性

为了维护关系数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这些约束条件实际上是现实世界的要求。任何关系在任何时刻都要满足这些语义约束。
在这里插入图片描述

实体完整性

实体完整性是指主码的值不能为空或部分为空。
在这里插入图片描述
在这里插入图片描述

参照完整性

如果关系R2的外码X与关系R1的主码相符, 则X的每个值或者等于R1中主码的某一个值或者取空值。

学生关系S的“系别”属性与系别关系D的主码“系别”相对应,因此,学生关系S的“系别”属性是该关系S的外码,学生关系S是参照关系,系别关系D是被参照关系。
在这里插入图片描述

用户自定义完整性

用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
在这里插入图片描述
关系模型应该提供定义和检验这类完整性的机制,以便用统一的、系统的方法处理它们,而不要由应用程序承担这一功能。

总结

在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章