引用完整性是一种规则体系,这些规则可确保相关表中各行间关系的有效性,并确保不会意外删除或更改相关的数据。
过程
在满足以下所有条件时,可以设置引用完整性:
- 主键表中的匹配列为主键或具有唯一约束。
- 外键表中的相关列具有相同的数据类型和大小。
在强制引用完整性时,必须遵守以下规则:
- 如果某个值在相关表的主键中不存在,则不能在相关表的外键列中输入该值。但是,可以在外键列中输入空值。例如,不能指定将职位分配给未包括在 employee表中的雇员,但可以通过在employee表的job_id列中输入空值来表示某个雇员未分配职位。
- 如果在相关表中存在与某行匹配的行,则不能从主键表中删除该行。例如,如果在 employee表中给多个雇员分配了由jobs表中某行所代表的职位,则不能从后者中删除该行。
- 如果主键表的某行有相关行,则不能更改主键值。例如,如果在 employee表中有雇员具有job_id,则不能更改该行在jobs表中的job_id值。
请参阅
其他资源
“外键关系”对话框 (Visual Database Tools)
使用关系 (Visual Database Tools)