维护表格中的值历史/跟踪日期表格的变化

时间:2014-03-10 07:01:45

标签: mysql sql database-design relational-database history

以下是我的表结构:

PROJECT_ID      MODULE_ID      PASS FAIL RETEST NOT_EXECUTED TOTAL
TEST_1         TEST_1_MOD_1   10   5    2      2            19
TEST_1         TEST_1_MOD_2   20   5    5      0            30
TEST_1         TEST_1_MOD_3   30   5    2      0            37
TEST_1         TEST_1_MOD_4   40   5    7      2            54
TEST_1         TEST_1_MOD_5   50   5    2      0            57

每天我都会更新此表的通过,失败,重新测试,净执行和总列数。我这样做是使用网页(作为查看和更新​​表的前端)。

现在问题出现在我想要查看2天前的状态。更清楚的是,截至2009年3月的数据将如下所示:

PROJECT_ID      MODULE_ID      PASS FAIL RETEST NOT_EXECUTED TOTAL
TEST_1         TEST_1_MOD_1   10   5    2      2            19
TEST_1         TEST_1_MOD_2   20   5    5      0            30
TEST_1         TEST_1_MOD_3   30   5    2      0            37
TEST_1         TEST_1_MOD_4   40   5    7      2            54
TEST_1         TEST_1_MOD_5   50   5    2      0            57

在3月10日,我将表中的值更新为

PROJECT_ID      MODULE_ID      PASS FAIL RETEST NOT_EXECUTED TOTAL
TEST_1         TEST_1_MOD_1   20   5    2      2            29
TEST_1         TEST_1_MOD_2   20   5    5      5            35
TEST_1         TEST_1_MOD_3   30   5    12     0            47
TEST_1         TEST_1_MOD_4   40   5    7      2            54
TEST_1         TEST_1_MOD_5   60   5    2      0            67

并且在3月11日我希望看到截至2009年3月的状态:

PROJECT_ID      MODULE_ID      PASS FAIL RETEST NOT_EXECUTED TOTAL
TEST_1         TEST_1_MOD_1   10   5    2      2            19
TEST_1         TEST_1_MOD_2   20   5    5      0            30
TEST_1         TEST_1_MOD_3   30   5    2      0            37
TEST_1         TEST_1_MOD_4   40   5    7      2            54
TEST_1         TEST_1_MOD_5   50   5    2      0            57

我有一个不可行的解决方案是在名为'DATE_UPDATED'的表中添加一个新列,我应该每天为每个模块插入新行。但我担心这会增加桌面空间。

这是最佳做法吗?或者我们还有其他更好的解决方案吗?请帮忙!

非常感谢任何帮助!

0 个答案:

没有答案