2016-08-18 55 views
0

我正在设计一个数据库来存储软件测试数据。基本思路如下:我想存储每个测试配置的信息,每个测试的软件版本和每个发现的故障。MySQL:三个相互关联的表

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

我的问题与表格设计有关,更具体地说它们之间的关系。请问这种设计的工作在我的情况:

design

或者它会更好,如果表“过失”直接关系到餐桌“配置”?

在此先感谢。

回答

1

嗯,是的,直接将“fault”链接到“configuration”将会更好,因为configuration_id应该是“configuration.configuration_id”(主键)的外键。但是,如果每个“软件”只有一个“配置”,那么因为您已经将“software_id”引用到“fault”表中,所以您不需要将“configuration_id”添加到“fault”中,因为它已经存在进入“软件”表。

您将检索此查询您的所有数据:

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”。