![]() |
1
3
我做了与您的第二种方法类似的事情:让表具有实际的工作集和一个具有更改的历史记录(时间戳、记录id、属性id、属性值)。这包括创建记录。第三个表描述了属性(id、property_name、property_type),这有助于在应用程序的更高层进行数据转换。因此,您还可以非常容易地跟踪单个属性的更改。 除了时间戳,您还可以有一个类似于int的值,每个记录id的每次更改都会增加一个值,这样您就有了一个实际的 版本 . |
![]() |
2
2
你本可以
什么时候?
|
![]() |
3
2
我正在对词汇表数据进行版本控制,我的方法非常成功地满足了我的需要。基本上,对于需要版本控制的记录,可以将字段集划分为持久字段和版本相关字段,从而创建两个表。第一个集合中的一些也应该是第一个表的唯一键。
地址
以这种方式,您将获得由全名和生日确定的地址主题(不应通过版本控制更改)和包含地址的版本控制记录。address_id应该通过外键与address:id相关。在版本表中的每个条目中,您将获得主题地址的新版本:id=Address\u id和一个特定的时间戳,这样您就可以拥有一个历史引用。 |