引用完整性概述 (Visual Database Tools)

引用完整性是一种规则体系,这些规则可确保相关表中各行间关系的有效性,并确保不会意外删除或更改相关的数据。

过程

在满足以下所有条件时,可以设置引用完整性:

  • 主键表中的匹配列为主键或具有唯一约束。

  • 外键表中的相关列具有相同的数据类型和大小。

在强制引用完整性时,必须遵守以下规则:

  • 如果某个值在相关表的主键中不存在,则不能在相关表的外键列中输入该值。但是,可以在外键列中输入空值。例如,不能指定将职位分配给未包括在 employee 表中的雇员,但可以通过在 employee 表的 job_id 列中输入空值来表示某个雇员未分配职位。

  • 如果在相关表中存在与某行匹配的行,则不能从主键表中删除该行。例如,如果在 employee 表中给多个雇员分配了由 jobs 表中某行所代表的职位,则不能从后者中删除该行。

  • 如果主键表的某行有相关行,则不能更改主键值。例如,如果在 employee 表中有雇员具有 job_id,则不能更改该行在 jobs 表中的 job_id 值。