小编典典

了解SSMS 2008中关系的更新和删除规则

sql

当我们定义外键约束时,我对SQL Server 2008 Management
Studio中的更新和删除规则意味着什么感到困惑。我也没有找到相关的帮助文档(例如F1帮助)。

这是屏幕快照。欣赏是否有人可以描述他们的意思,并推荐一些相关文档以供阅读。


阅读 206

收藏
2021-04-15

共1个答案

小编典典

外键定义了两个表之间的父子关系。父表中的主键是最多n个子表行中的外键。

现在,如果父表中的主键获得UPDATE,则UPDATE
RULE开始。所有子行也都被更新,设置为NULL或其他任何值。但是,最佳实践是拥有一个永不更改的主键(固定ID或其他内容),因此这是次要的规则。

更为重要的是DELETE规则-如果删除父行(例如,删除Order)怎么办?您也可以使用CASCADE
DELETE删除所有子行(所有Order行项目),或者可以将其外键设置为NULL(它们不再具有父级),这完全取决于您的具体情况。

在“订单/订单行”方案中,删除完整订单后删除订单行可能非常有用,但是您可能不想删除某个产品,仅因为引用该产品的订单已被删除-没有一个正确的答案-
这取决于您的情况和您的应用程序。

马克

2021-04-15