我正在设计一个数据库,我希望它可以支持多个版本 换句话说,如果我有一个对象 - 信息,它可以在一个版本上有一个值,在另一个版本上有另一个值。 我希望能够创建一个新版本:这意味着与旧版本相关的所有信息都应与当前版本相关,但如果新版本有更改,则会有旧版本的记录。
我正在考虑为我想要添加“版本控制”的所有表添加另一列版本, 但是每个版本的表格内容加倍。
答案 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