📜  MS SQL Server 中的外键(1)

📅  最后修改于: 2023-12-03 14:44:25.016000             🧑  作者: Mango

MS SQL Server 中的外键

概述

在 MS SQL Server 中,外键(Foreign Key,简称 FK)用于建立表与表之间的关系,通过定义一种引用关系来维护数据的完整性。外键是一种约束,它强制一个表中的数据在另一个表中存在对应的相关数据。使用外键可以确保数据的一致性和完整性,避免了数据的不一致和冗余存储。

创建外键

要在 MS SQL Server 中创建外键,可以使用 ALTER TABLE 语句并指定 ADD CONSTRAINT 子句。下面是一个示例代码片段:

ALTER TABLE 表名
ADD CONSTRAINT 外键约束名
FOREIGN KEY (列名)
REFERENCES 另一个表名(另一个表的列名);
  • 表名:需要创建外键的表的名称。
  • 外键约束名:新建外键约束的名称。该名称应该是唯一的。
  • 列名:当前表中用作外键的列名。
  • 另一个表名:外键引用的另一个表的名称。
  • 另一个表的列名:另一个表中用作外键引用的列名。
删除外键

要删除 MS SQL Server 中的外键,可以使用 ALTER TABLE 语句并指定 DROP CONSTRAINT 子句。下面是一个示例代码片段:

ALTER TABLE 表名
DROP CONSTRAINT 外键约束名;
  • 表名:包含外键约束的表的名称。
  • 外键约束名:需要删除的外键约束的名称。
外键约束的作用

外键约束在 MS SQL Server 中有以下几种作用:

  1. 强制引用完整性:外键约束确保表中的外键要么为 NULL,要么在关联表中具有有效的引用值。
  2. 防止数据不一致:外键约束确保表中的引用值始终与关联表中的源数据保持一致。
  3. 自动处理关联动作:外键约束可以定义关联动作,当关联表中的数据发生变化时,自动处理与之相关的外键表的操作,如级联删除或更新操作。
外键的类型

在 MS SQL Server 中,外键可以有以下几种类型:

  1. CASCADE:级联操作,当关联表中的数据被删除或更新时,将对外键表中的对应数据进行相应的删除或更新操作。
  2. SET NULL:将外键表中的外键设置为 NULL,如果关联表中的数据被删除。
  3. SET DEFAULT:将外键表中的外键设置为默认值,如果关联表中的数据被删除。
  4. NO ACTION:不执行任何操作,如果关联表中的数据被删除或更新,将拒绝操作以保持数据的完整性。
  5. RESTRICT:拒绝删除或更新关联表中的数据,只有在不违反引用完整性的情况下才允许操作。
总结

外键是 MS SQL Server 中用于建立表与表之间关系的重要工具。通过创建外键约束,可以维护数据的完整性和一致性。通过合适的外键类型,可以自动处理与关联表中数据变化相关的操作。了解和使用外键将有助于提高数据库的设计和维护效率。

注意:以上代码片段中的表名、列名、外键约束名等应根据实际情况进行替换。