引用完整性概述

更新:2007 年 11 月

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

过程

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

  • 来自主键表的匹配列是主键或具有唯一约束。

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

当强制引用完整性时,您必须遵守下列规则:

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

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

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

请参见

参考

“外键关系”对话框

其他资源

使用关系

数据库对象