【发布时间】:2016-09-03 20:45:31
【问题描述】:
我有这样的问题:
假设我有一个物品,例如一个 CUP。我想出售它,但希望允许用户选择 CUP 属性,例如尺寸、颜色、材质。当用户选择尺寸(可能是大)、颜色(可能是黑色)和材质(可能是玻璃)时,我需要向他展示,我们在仓库中有 20 个这样的杯子,每个成本是 25 美元。现在:我不知道如何将这些组合存储在数据库中。
这是我的超级愚蠢的解决方案:
对于每个组合,我都会有一个列,但是,添加任何新组合也可能会很痛苦,因为删除一些组合,我必须以某种方式映射它们,嗯...
标识 |产品名称 |大黑玻璃价格 |大黑玻璃计数 | SmallBlackGlass价格 |小黑玻璃计数 |中...
愚蠢的想法,但至于现在没有更好的选择:/
希望很清楚我想要实现的目标。 谢谢
【问题讨论】:
-
为什么不创建名为属性的新表?它可以存储 cup_id 、属性和值
-
好的,所以你将有一个名为 product_properties 的表,然后你必须添加 product_properties_values,最后你会得到像 product_properties_values_combinations 这样的东西......但是最后一个应该是什么样子......
-
关注“entity-attribute-value”标签来讨论这种模式。
标签: mysql database database-design orm combinations