Access 2010数据库教程(微课版)
上QQ阅读APP看书,第一时间看更新

1.7.3 关系完整性约束

关系完整性约束是为了保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性包括域完整性、实体完整性、参照完整性和用户定义完整性。其中域完整性、实体完整性和参照完整性是关系模型必须满足的完整性约束条件,而用户定义完整性是针对具体应用领域需要遵循的约束条件。

1. 域完整性

域完整性是保证关系中每个字段取值的合理性。例如,字段的数据类型、格式、值域范围、是否允许空值等。举例来说,如果字段类型是整数,那么它就不能取任何非整数的数值。

2. 实体完整性

实体完整性是指关系的主关键字不能重复也不能取空值,因此组成主关键字的每一个字段值都不能为空值。例如,学生表的主关键字“学号”字段的值既不能重复也不能为空值,课程表的主关键字“课程编号”字段的值同样也是既不能重复也不能为空值。

3. 参照完整性

参照完整性是建立在两个关系上的约束条件。关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过一个关系中的主关键字和另一个关系中的外部关键字实现的。参照完整性要求一个关系中外部关键字的取值只能是与其关联的关系中主关键字的值或空值。例如,学生表中含有与院系代码表的主关键字“院系代码”相对应的列(外部关键字),则学生表中“院系代码”字段的取值只能是在院系代码表中已有院系代码的范围或取空值。

4. 用户定义完整性

用户定义完整性是根据应用环境的要求和实际需要,对某一具体应用所涉及的数据提出约束性条件。例如,学生表中性别字段的值只能是“男”或“女”其中之一;选课成绩表中成绩字段的值只能是[0,100]的范围。