2016-08-18 52 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」。