跳转至

外键对话框

外键对话框

使用“外键”对话框指定外键约束的行为。外键约束可维护两个表之间的引用完整性。不能在临时表和永久表之间定义外键约束。

外键对话框通过以下对话框选项卡组织外键约束的开发:常规,定义,列和操作。 “ SQL”选项卡显示由对话框选择生成的SQL代码。

外键对话框的常规选项卡

使用“常规”选项卡中的字段来识别外键约束:

  • 使用“名称”字段为外键添加描述性名称。该名称将显示在sdAdmin树控件中。

  • 在“注释”字段中存储有关外键约束的注释。

单击“定义”选项卡以继续。

外键对话框定义选项卡

使用“定义”选项卡中的字段来定义外键约束:

  • 切换到“是”位置以指定约束的时间可推迟,并且可以推迟到语句结束。默认为“否”。

  • 如果启用,请移动延期?切换到“是”位置以指定将约束的时间推迟到语句的末尾。默认为“否”。

  • 移动“匹配类型”开关,以指定由约束强制实施的匹配类型:

    • 选择Full表示如果任何列为空,则多列外键的所有列都必须为空。如果所有列均为空,则不需要该行在引用表中具有匹配项。

    • 选择简单以指定单个外键列可以为空;如果任何列为null,则不需要该行在引用表中具有匹配项。

  • 将修改保存到对话框后,将Validated开关移到Yes位置,指示服务器验证现有表内容(针对外键或检查约束)。

  • 将自动FK索引开关移到“否”位置以禁用自动索引功能。

  • 如果“自动FK索引”开关位于“是”位置,则“覆盖索引”旁边的字段将生成索引名称。或者,此字段被禁用。

单击列选项卡以继续。

外键对话框列选项卡

使用“列”选项卡中的字段来指定一个或多个参考列。外键约束要求表的一个或多个列必须仅包含与被引用表的行的被引用列中的值匹配的值:

  • 使用“本地”列旁边的下拉列表框可以指定当前表中将与外部表进行比较的列。

  • 使用“引用”旁边的下拉列表框可以指定比较列所在的表的名称。

  • 使用“引用”旁边的下拉列表框在外部表中指定列。

单击添加图标(+)将一列添加到列表;重复上述步骤,然后单击“添加”图标(+)添加其他列。要丢弃条目,请单击条目左侧的垃圾桶图标,然后在“删除行”弹出窗口中确认删除。

单击操作选项卡以继续。

外键对话框操作选项卡

使用“操作”选项卡上的下拉列表框来指定与外键约束相关的行为,这些行为将在表中的数据被更新或删除时执行:

  • 使用更新时旁边的下拉列表框选择更新表中数据时将执行的操作。

  • 使用“删除时”旁边的下拉列表框,选择删除表中的数据时将执行的操作。

支持的操作是: | 操作 | 描述 | |-------------|----------------------------------------------------------------| | NO ACTION | 产生错误,指示删除或更新将创建外键约束冲突。如果推迟约束,则如果仍然存在任何引用行,则会在约束检查时产生此错误。这是默认值。 | | RESTRICT | 引发错误,指示删除或更新将导致违反外键约束。这与NO ACTION相同,除了支票不可延期。 | | CASCADE | 删除任何引用已删除行的行,或将引用列的值分别更新为被引用列的新值。 | | SET NULL | 将引用列设置为null。 | | SET DEFAULT | 将引用列设置为其默认值。被引用的表中必须有一行与默认值匹配的行(如果它们不为null),否则该操作将失败。 |

单击“ SQL”选项卡以继续。

您在外键对话框中的输入会生成一个SQL命令(请参见下面的示例)。使用“ SQL”选项卡进行检查;重新访问或切换选项卡以对SQL命令进行任何更改。

外键对话框sql选项卡

  • 单击信息按钮(i)以访问联机帮助。

  • 单击保存按钮以保存工作。

  • 单击取消按钮退出而不保存工作。

  • 单击重置按钮以恢复配置参数。