我正在设计一个数据库来存储软件测试数据。基本思想如下:我想存储每个经过测试的配置,每个经过测试的软件版本以及每个发现的故障的信息。

我想执行的查询示例如下。我想查找使用特定软件在特定配置上发现的所有故障。

我的问题与表格设计有关,更具体地说,与表格之间的关系有关。在我的情况下,这种设计是否可行:

design

还是将表“ fault”与表“ configuration”直接相关会更好?

提前致谢。

最佳答案

好吧,是的,最好直接将“故障”链接到“配置”,因为configuration_id应该是“ configuration.configuration_id”的外键(主键)。但是,如果每个“软件”只有一个“配置”,则由于您已经在“故障”表中引用了“ software_id”,因此无需在“故障”中添加“ configuration_id”进入“软件”表。

您将通过以下查询检索所有数据:

SELECT * FROM fault INNER JOIN software ON fault.software_id = software.software_id INNER JOIN configuration ON software.configuration_id = configuration.configuration_id


然后,只需从“故障”表中删除“ configuration_id”。

关于mysql - MySQL:三个相互关联的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39017267/

10-11 07:02