外键

作者: John Stephens
创建日期: 24 一月 2021
更新日期: 1 七月 2024
Anonim
MySQL 2 18添加外键
视频: MySQL 2 18添加外键

内容

定义-外键是什么意思?

外键是关系数据库表中的一列或一组列,它们提供两个表中的数据之间的链接。它充当表之间的交叉引用,因为它引用了另一个表的主键,从而在它们之间建立了链接。


关系数据库系统中的大多数表都遵循外键概念。在复杂的数据库和数据仓库中,必须跨多个表添加域中的数据,从而保持它们之间的关系。引用完整性的概念源自外键理论。

外键及其实现比主键更复杂。

Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。

技术百科解释了外键

对于充当外键的任何列,链接表中都应存在一个对应的值。在插入数据和从外键列中删除数据时,必须格外小心,因为粗心的删除或插入可能会破坏两个表之间的关系。

例如,如果有两个表(客户表和订单),则可以通过在订单表中引入一个外键来创建它们之间的关系,该外键引用客户表中的客户ID。客户表和订单表中都存在客户ID列。订单表中的客户ID成为外键,指的是客户表中的主键。要将条目插入订单表,必须满足外键约束。尝试输入客户表中不存在的客户ID的尝试失败,从而保持了表的参照完整性。

与外键动作相关的一些引用动作包括:

  • 级联:删除父表中的行时,子表中匹配的外键列也将被删除,从而创建级联删除。
  • 设置为空:删除或更新父表中的引用行时,引用行中的外键值将设置为null以保持引用完整性。
  • 触发器:引用动作通常实现为触发器。在许多方面,外键动作类似于用户定义的触发器。为了确保正确执行,有时会将有序引用操作替换为其等效的用户定义触发器。
  • 设置默认值:此引用操作类似于“设置为空”。当删除或更新父表中的引用行时,子表中的外键值将设置为默认列值。
  • 限制:这是与外键关联的常规参照操作。父表中的值只要被另一个表中的外键引用就不能删除或更新。
  • 无动作:此引用动作的功能类似于“限制”动作,不同之处在于仅在尝试更改表之后才执行无动作检查。