我正在开发一个项目,我想让最终用户在创建硬件设备列表时基本上添加无限量的资源。
在这种情况下,他们可以存储硬盘的数量和类型。硬盘驱动器类型已经存储在具有所有潜在选项的MySQL数据库表中,因此它们可以选择设置数量,选择驱动器类型(从下拉框中),并根据需要添加更多条目。
由于我不想使用“drive1amount”,“drive1typeid”,“drive2amount”,“drive2typeid”等创建数据库,这样做的最佳方法是什么?
我已经看到类似的问题用多对多链接表回答,但是想不出我怎么能用这个来解决这个问题。
答案 0 :(得分:0)
您的回答有点依赖于您在此项目中的长期目标。如果您想拥有一个数据存储库,其中包含所有不同类型的硬件设备及其规格的配置文件,我建议您维护每种不同类型硬件的硬件表。例如,您将拥有一个硬盘表,其中包含所有不同型号和类型的硬盘。然后,您可以将此特定表中的记录分配给主机配置表。您可以根据用户的输入建立数据集。
如果您不清楚,请告诉我,我会为您创建一个图表并上传。
答案 1 :(得分:0)
这样的东西?
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是现有表的外键
这样表格并不关心它是什么类型的硬件