Teradata:添加外键约束时CHECK OPTION的目的是什么?

时间:2011-12-27 13:25:37

标签: foreign-keys constraints teradata

我似乎无法在互联网上找到一个很好的资源来解释添加外键约束时使用的check option。我已将其视为with check optionwith no check option

1 个答案:

答案 0 :(得分:2)

WITH CHECK OPTION约束添加REFERENCES短语告诉数据库以单个事务或请求的粒度强制执行定义的RI约束。系统将子表和父表连接在一起以查看是否存在不一致。如果发现不一致,则整个事务将以TERADATA会话模式或ANSI模式下的问题请求回滚。

横向如果指定WITH NO CHECK OPTION,则数据库不会强制执行RI。因此,当父表值不存在时,子节点中的记录可以使用除NULL之外的值来引用父节点。

RI执法在Teradata中是一把双刃剑,必须仔细评估你最终决定如何执行它。 Teradata手册会详细说明您需要考虑的许多事项,以帮助您做出决定。话虽如此,在过去的15年里,我一直在与Teradata合作,但我还没有开发过在数据仓库中实施RI的系统。 是对,错,或无所谓。

希望这有帮助。