DataBase参考完整性您对日志表的看法

时间:2011-06-23 15:27:34

标签: sql database database-design

我使用MS SQL 2008和C#。

我需要设计一个能够在特定表上记录CRUD操作的系统。

在我的例子中,我有两个表:

带有Articles

PK ArticleId

带有LogArticles

FK to ArticleId

LogArticles是为我的Articles表记录任何CRUD操作(实际代码驻留在我的BL没有SQL中)。

我理解有关参考完整性的abit,我担心如果我从Articles删除记录并拒绝或丢失`LogArticles中的引用,最好的方法是什么。

这是我的想法:

  • 我将FK保留在表Articles上,并使用CASCADE SET NULL。
  • 我从表格LogArticles中删除了FK,我只会将没有任何FK的ArticleId添加到我的LogArticles

如果您之前已经建立了类似的系统,请告诉我您对此有什么看法,或者您的任何考虑。 谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题:

保持你所描述的结构, 然后在Article上添加触发器,使用当前密钥将事件发布到LogArticles