簡體   English   中英

MySQL:三個相互關聯的表

[英]MySQL: three tables related to each other

我正在設計一個數據庫來存儲軟件測試數據。 基本思想如下:我想存儲每個經過測試的配置,每個經過測試的軟件版本以及每個發現的故障的信息。

我想執行的查詢示例如下。 我想查找使用特定軟件在特定配置上發現的所有故障。

我的問題與表格設計有關,更具體地說,與表格之間的關系有關。 在我的情況下,這種設計是否可行:

設計

還是將表“ 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”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM