修改现有数据库表以添加版本控制

时间:2012-09-27 11:22:17

标签: database database-design

想象一下,我正在创建一个非常简单的错误跟踪系统。我有一个错误列表,在数据库中目前看起来像这样:

ID  Title           Details         CreatedDate
1   someTitle       someDetails     26/09/2012
2   otherTitle      otherDetails    27/09/2012

我希望在此表中添加版本控制,以便存储每个错误的历史记录。我在考虑这样的事情:

ID  BugID   CreatedDate
1   1       26/09/2012
2   3       26/09/2012


BugID   Title           Details           RevisionGroup
1       someTitle       someDetails       1
2       otherTitle      otherDetails      2
3       otherTitle      changedDetails    2

这里我有第一个表中的错误列表,它链接到第二个表中最新版本的错误。 revisionGroup列没有链接到任何东西,我只是取当前最大值并在需要插入新bug时递增。

我的数据库设计非常不稳定,但我已经考虑过这个并且相信它应该可行。这看起来是最好的方式吗?还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

不错的问题格式:)

好吧,既然你只想要最新的bug,为什么不把时间戳而不是版本。 它会做什么是为您节省一个额外的查询,当您输入新的bug并查找最新版本时,您将执行该查询。除非您的业务规则声明了版本号的要求。我相信你说的并非如此,我当前的设计没有看到任何其他问题。

设计数据库时,请记住......使用处理器进行计算要比任何磁盘I / O快得多。如果可能的话,你应该避免任何额外的读/写,并且可以避免。

祝你好运!