是否存在用于审计持久对象的任何数据库设计模式?

时间:2011-12-30 07:05:19

标签: database design-patterns database-design logging entities

我想知道是否有任何基于数据库的设计模式来审核持久化对象的任何CRUD操作?

这样我就可以使用那个db设计

  • 查看何时创建对象
  • 过去何时以及如何更新,包括可能是其他实体的所有属性
  • 当它被删除时由谁等。

如果我总结:编程社区是否接受了任何数据库设计模式,其中包括审核持久化实体上的所有CRUD操作?

(如果你能指出我涉及这个主题的任何资源,我会很高兴。)

1 个答案:

答案 0 :(得分:2)

pencilCake,您通常有两个选项:在一个表中保存所有修订并以某种方式标记最后一个修订,或者使用单独的表(例如,使用_AUDIT后缀)来保存历史版本。并且您有多种选择来填充这些表,例如使用触发器或代码,例如使用方面(在java golossary中)进行CRUD操作。我建议你为你的编程语言选择一个库。