簡體   English   中英

多對多鏈接表的替代方法

[英]Alternatives for a many-to-many link table

我正在一個項目中,我希望最終用戶在創建硬件設備列表時基本上可以添加無限量的資源。

在這種情況下,他們可以存儲硬盤驅動器的數量和類型。 硬盤驅動器類型已經與所有可能的選項一起存儲在MySQL數據庫表中,因此它們具有設置數量,選擇驅動器類型(從下拉框)和根據需要添加更多條目的選項。

由於我不想使用“ drive1amount”,“ drive1typeid”,“ drive2amount”,“ drive2typeid”等創建數據庫,因此最佳方法是什么?

我已經看到多對多鏈接表回答了類似的問題,但是我想不出該如何解決這個問題。

您的答案在一定程度上取決於您對該項目的長期目標。 如果您想擁有一個包含所有不同類型的硬件設備及其規范的配置文件的數據存儲庫,建議您維護每種不同類型的硬件的硬件表。 例如,您將擁有一個硬盤表,其中包含所有不同型號和類型的硬盤。 然后,您可以將記錄從該特定表分配到主機配置表。 您可以根據用戶的輸入來構建數據集。

如果您不清楚,請告訴我,我將為您創建圖表並上傳。

像這樣嗎

CREATE TABLE `hardware` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(256) NOT NULL,
 `quantity` int(11) NOT NULL,
 `hardware_type_id` int(11) NOT NULL,
 PRIMARY KEY (`id`),
 KEY `type_id` (`hardware_type_id`),
 CONSTRAINT `hardware_ibfk_1` FOREIGN KEY (`hardware_type_id`) REFERENCES `hardware_type` (`id`)
) ENGINE=InnoDB 

hardware_type_id是您現有表的外鍵

這樣桌子就不在乎它是哪種硬件

暫無
暫無

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

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