参照完整性是通过使用主键和外键来实现的。
通过使用参照约束,您可以确保在一个表中插入的数据在另一个表中具有匹配值。例如,在 pubs2 数据库中,在 salesdetail 表(图书的销售记录)中插入的行必须在 titles 表中具有有效的 title_id。目前,pubs2 使用触发器强制实施这种参照完整性。不过,salesdetail 表(引用 titles 表中的 title_id 列)上的参照约束同样可以强制实施这种参照完整性。
参照约束涉及两个表:
执行数据插入的引用 表。该表包含一个或多个用作外键的列。
检查插入时使用的被引用 表。该表包含一个或多个用作主键的列。
在引用表上进行插入时,外键列的值必须与被引用表中的主键列的值相匹配。您可以在被引用表或引用表上定义参照约束。
只有具有被引用表的 references 权限的数据库或表所有者可以创建参照约束。
创建参照约束