首页 百科知识 关系模型的完整性约束条件

关系模型的完整性约束条件

时间:2022-10-21 百科知识 版权反馈
【摘要】:亦称参照完整性约束规则。对一个关系上的外键,其值只允许两种可能:一是空值;二是等于外键对应的关系的主键值。这是由于不同关系之间的联系是通过“外键”实现的,当一个关系通过外键引用另一关系中的记录时,它必须能在引用的关系中找到这个记录,否则无法实现联系。学生关系中的班号是外键,它要么取空值,表示这个学生还未分配到任何一个班级;要么取值必须与班级关系中的某个元组的班号相同,表示这个学生属于某个班级。

1.3.2 关系模型的完整性约束条件

关系模式是通过关系数据描述语言描述关系后所生成的关系框架。

作为关系DBMS,为了维护数据库的完整性,一般对关系模式提供了以下3类完整性约束机制:

一、实体完整性约束规则

指关系中的“主键”不允许取“空值”(NULL)。因为关系中的每一记录都代表一个实体,而任何实体都是可标识的,如果主键值为空,就意味着存在不可标识的实体。

二、引用完整性约束规则

亦称参照完整性约束规则。对一个关系上的外键,其值只允许两种可能:一是空值;二是等于外键对应的关系的主键值。这是由于不同关系之间的联系是通过“外键”实现的,当一个关系通过外键引用另一关系中的记录时,它必须能在引用的关系中找到这个记录,否则无法实现联系。

例如图1-4的学生关系和班级关系,其中班级关系中的班号是主键。学生关系中,对每个学生也有班号一项,表明这个学生是属于哪个班的。学生关系中的班号是外键,它要么取空值,表示这个学生还未分配到任何一个班级;要么取值必须与班级关系中的某个元组的班号相同,表示这个学生属于某个班级。若学生关系中某个学生的班号取值不能与班级关系中任何一个元组的班号值相同,表示这个学生是不存在的一个班的学生,这与实际应用环境是不相符的,显然是错误的。这就是为什么关系模型中定义了参照完整性约束规则。

三、用户定义的完整性约束

这是针对某一应用环境的完整性约束条件,它反映了某一具体应用所涉及的数据应满足的要求,往往是对关系模式中的数据类型、长度、取值范围的约束,如学生的成绩不能是负数。DBMS提供定义和检验这类完整性规则的机制,其目的是用统一的方式由系统来处理它们,不再由应用程序来完成这项工作。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈