“外键关系”对话框

此对话框用于创建和修改数据库中表之间的关系。 在外键关系中,外键约束与主键或唯一约束一起使用,以在指定表中强制引用完整性。 例如,可以在 Order_Details 表的 ProductID 列上放置外键约束,以确保在该列中输入的值与 Products 表 ProductID 列中的现有值匹配。

若要访问该对话框,请打开包含外键的表的表定义,右击表定义网格,再单击**“关系”**。

备注

对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置

  • 选定的关系
    列出现有的关系。 选择一个关系以在右侧的网格中显示其属性。 如果该列表为空,则表示没有为该表定义关系。

  • 添加按钮
    创建一个新关系。 必须在设置**“表和列规范”**之后,该关系才会生效。

  • “删除”按钮
    删除在**“选定的关系”**列表中选择的关系。

  • 一般类别
    展开以显示**“在创建或重新启用时检查现有数据”“表和列规范”**。

  • 在创建或重新启用时检查现有数据
    指定对于在创建或重新启用约束之前就存在于表中的所有数据,是否根据约束进行验证。

  • 表和列规范类别
    展开以显示哪些表中的哪些列充当关系中的外键和主键(或唯一键)。 若要编辑或定义这些值,请单击属性字段右侧的省略号 (…)

  • 外键基表
    显示哪个表包含充当选定关系中外键的列。

  • 外键列
    显示哪一列充当选定关系中的外键。

  • 主键/唯一键基表
    显示哪个表包含充当选定关系中主键(或唯一键)的列。

  • “主键/唯一键列”
    显示哪个列充当选定关系的主键(或唯一键)。

  • 标识类别
    展开以显示**“名称”“说明”**的属性字段。

  • 名称
    显示关系的名称。 在创建一个新关系时,将为其给定一个基于**“表设计器”**的活动窗口中的表的默认名称。 您可以随时更改名称。

  • 说明
    提供一个描述关系的位置。 若要编写更详细的说明,请单击**“说明”,再单击属性字段右侧的省略号(…)**。 这提供了一个用于编写文本的更大区域。

  • 表设计器类别
    展开以显示有关**“在创建或重新启用时检查现有数据”“强制用于复制”**的信息。

  • 强制用于复制
    指示在将表复制到另一个数据库中时是否强制该约束。

  • 强制外键约束
    指示如果对关系中列数据的更改将破坏外键关系的完整性,是否允许进行这些更改。 如果不允许进行这些更改,则选择**“是”,如果允许进行这些更改,则选择“否”**。

  • INSERT 和 UPDATE 规范类别
    展开以显示关系的**“删除规则”“更新规则”**的信息。

  • 删除规则
    指定如果数据库的最终用户尝试删除包含外键关系所涉及的数据的行,将执行什么操作。 如果设置为:

    • 无操作   显示一条错误信息,告知用户不允许执行该删除操作,Delete 将被回滚。

    • 级联   删除包含外键关系中所涉及的数据的所有行。

    • 设置空   如果表的所有外键列都可接受空值,则将该值设置为空。 只适用于 SQL Server 2005 和 SQL Server 2008。

    • 设置默认值   如果表的所有外键列均已定义默认值,则将该值设置为列定义的默认值。 只适用于 SQL Server 2005 和 SQL Server 2008。

  • 更新规则
    指定当数据库的用户尝试更新某一行,而该行包含外键关系所涉及的数据时所发生的情况。 如果设置为:

    • 无操作   显示一条错误信息,告知用户不允许执行该删除操作,Delete 将被回滚。

    • 级联   删除包含外键关系中所涉及的数据的所有行。

    • 设置空   如果表的所有外键列都可接受空值,则将该值设置为空。 只适用于 SQL Server 2005 和 SQL Server 2008。

    • 设置默认值   如果表的所有外键列均已定义默认值,则将该值设置为列定义的默认值。 只适用于 SQL Server 2005 和 SQL Server 2008。

请参见

任务

如何:创建表与表之间的关系

概念

引用完整性概述

其他资源

使用关系

使用键