之前在项目中遇到了这样一个问题,我举得简单的例子来说明,
比如我们有两个表,一个表(department)存放的是部门的信息,例如部门id,部门名称等;另一个表是员工表(staff),员工表里面肯定要存放每个员工所在的部门。那问题来了,如果我们这个时候删除了部门表中的某条记录,在staff表中会发生什么?
为了解答上面的问题,让我们先来回顾一下什么是参照完整性。
我们常常希望保证在一个关系中给定属性集上的取值也在另一个关系的特定属性集的取值中出现。这种情况称为参照完整性(referential integrity)
正如我们可以用外码在SQL中的create table语句一部分的foreign key子句来声名。