支持SQL上的暂存

时间:2011-08-29 10:12:13

标签: sql database-design

我正在设计一个数据库,我希望它可以支持多个版本 换句话说,如果我有一个对象 - 信息,它可以在一个版本上有一个值,在另一个版本上有另一个值。 我希望能够创建一个新版本:这意味着与旧版本相关的所有信息都应与当前版本相关,但如果新版本有更改,则会有旧版本的记录。

我正在考虑为我想要添加“版本控制”的所有表添加另一列版本, 但是每个版本的表格内容加倍。

1 个答案:

答案 0 :(得分:0)

经过时间考验的方法是使用StartDt和EndDt列。活动列是EndDt为null的列。更改电子邮件的人的示例:

ID   StartDt     EndDt        Name      Email
1    2011-01-01  2011-02-01   Joe       joe@hotmail.com
2    2011-02-01  2011-03-01   Joe       joe@yahoo.com
3    2011-03-01  null         Joe       joe@gmail.com