对源代码使用版本控制系统(如subversion)是有意义的,因为它允许您退回错误、审核更改、制作无痛快照、准确发现错误的位置以便改进流程等。出于同样的原因,对业务数据进行更改跟踪也是有意义的,而且许多系统都这样做。
关于如何在普通数据库上实现这一点,已经有几个问题:
Database structure to track changehistory
Maintain history in a database
Database history for clientusage
How to version control a record in adatabase
…
对于一个如此有用和流行的特性,我们都需要重新发明轮子,这似乎很奇怪。有没有现有的数据库实现已经解决了这个问题?我设想这样一个系统将扩展sql语法,以方便查询历史记录。
最佳答案
看看temporal databases,比如TimeDB。
关于database - 是否有保留所有历史记录的数据库实现?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1091110/