MySQL:识别重复数据

时间:2016-09-03 08:43:22

标签: mysql sql database database-design

我有一个以这种方式设计的数据库来存储软件测试数据:design

我的INSERT和SELECT查询工作正常,但我遇到了问题。如果我在之前测试的相同配置上再次测试相同的软件,则表fault中存储的数据与特定的测试运行无关。它只与特定软件和特定配置有关。

总结一下:如果我现在在同一配置上测试相同的软件,一年后我希望能够将找到的故障与特定的测试时间联系起来。我该如何改变设计?

谢谢。

1 个答案:

答案 0 :(得分:0)

我只看到一种正确的解决方法:您应该在配置表的顶部添加一个处理测试会话的表。

例如:

表test_session

session_id  INT
start-ts    timestamp
end-ts      timestamp
tester      VARCHAR(30)
comments    VARCHAR(200)

表格配置

configuration_id   INT
test_session_id    INT
configuration_name VARCHAR(45)

在应用程序中,您应该添加一种机制来处理会话。当您开始新会话时,您应该在某处输入数据,然后在 test_session 表中插入记录,并将其id分配给配置

此设计为您提供的不仅仅是“能够将发现的故障与特定测试时间相关联”。您还可以比较相同的配置,从而获得历史记录,并查看配置随时间的变化