数据库使用表来组织它们包含的信息。它们类似于电子表格,例如Excel,但对高级用户的能力更强。数据库使用主键和外键来运行,这些键维护表之间的关系。
参照完整性是关系数据库管理系统中的数据库功能。它通过应用约束来防止用户或应用程序输入不准确的数据或指向不存在的数据,从而确保数据库中表之间的关系保持准确。
首要的关键
数据库表的主键是分配给每个记录的唯一标识符。每个表都有一个或多个列指定为主键。社会安全号码可以是员工数据库列表的主键,因为每个社会安全号码都是唯一的。
但是,由于隐私问题,指定的公司ID号码是作为员工主键的更好选择。某些数据库软件(如Microsoft Access)会自动分配主键,但随机键没有实际意义。最好使用对记录有意义的密钥。
实施参照完整性的最简单方法是不允许更改主键。
外键
外键是表中与不同表的主键匹配的标识符。外键创建与不同表的关系。参照完整性是指这些表之间的关系。
当一个表具有另一个表的外键时,引用完整性的概念表明您不能将记录添加到包含外键的表中,除非链接表中有相应的记录。它还包括称为级联更新和级联删除的技术,这些技术可确保对链表的更改反映在主表中。
参照完整性规则示例
例如,考虑一下您有两个表的情况:员工和经理。 Employees表具有名为ManagedBy的外键属性,该属性指向Managers表中每个员工的经理的记录。参照完整性强制执行以下三个规则:
- 除非ManagedBy属性指向Managers表中的有效记录,否则无法将记录添加到Employees表。参照完整性可防止将不正确的详细信息插入表中。任何不满足参照完整性规则的操作都将失败。
- 如果Managers表中记录的主键发生更改,则Employees表中的所有相应记录都将使用级联更新进行修改。
- 如果删除Managers表中的记录,则使用级联删除删除Employees表中的所有相应记录。
参照完整性约束的优点
使用具有引用完整性的关系数据库管理系统具有以下几个优点:
- 防止输入重复数据
- 防止一个表指向另一个表中不存在的字段
- 保证“合作”表之间的一致性
- 禁止删除包含另一个表中的外键引用的值的记录
- 除非链接表中存在主键,否则禁止向包含外键的表添加记录