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



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

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 列没有链接到任何东西,我只是取当前存在的最大值,并在需要插入新错误时递增。

我的数据库设计非常不稳定,但我已经考虑过这一点,并相信它应该可以工作。这看起来像是最好的做事方式吗?有没有更好的方法?

不错的问题格式:)

好吧,既然您只想要最新的错误,为什么不放置时间戳而不是版本。它将为您节省一个额外的查询,当您输入新错误并查找最新版本时,您将执行该查询。除非您的业务规则规定了版本号的要求。我相信你说不是这样,那么我认为你当前的设计没有任何其他问题。

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

祝你好运!

最新更新