mysql 管理产品大小的最佳方法
Posted
技术标签:
【中文标题】mysql 管理产品大小的最佳方法【英文标题】:mysql best way to manage product sizes 【发布时间】:2012-09-24 11:21:23 【问题描述】:我正在开发产品数据库,对于尺寸我创建了一个单独的表 PRODUCT_SIZE(id,sizetext)
例如(1,'小') ,(2,'大'), (3,'特大'),...
我将这些尺寸列表作为复选框提供,当添加产品时,可以针对当前产品选择所有可能的尺寸。
例如用于选择 T 恤、小码和大码。
这 2 种尺码适用于每个购买的新股票条目。 现在我才知道,可以有不同的尺寸单位,有些物品可以以英寸为单位,有些以公斤为单位,有些以米为单位。
我想到了一个改变的解决方案: 修改表
PRODUCT_SIZE(id,sizetext, UNitType);
现在可以是:(1,'5','KG') ,(2,'10','KG'), (3,'2.5'.'Inches'),...
有没有更好的方法,建议?
【问题讨论】:
【参考方案1】:我做了一个数据库存储衣服的尺寸有几种类型。一篇文章的尺寸像 xs s m l 其他是 26 27 28 29 30 等等。 我决定这样做:
# on one side in the script i define size types and names;
$sizeTypes[1] = [XS, S, M, L];
$sizeTypes[2] = [29, 30, 31, 32];
#The and so on
#and on the other side in the database, there are just two columns
size_type_id(int) | size_qty |
# so if I have one article with 3 pieces of size S 2 pieces of size M and 5 pieces of size L the database will store:
size_type_id| size_qty |
1 |0:0;1:3;2:2;3:5|
然后在脚本中我只是翻译它,以便类型 1 的 0 是类型 1 的 XS 1 是类型 2 的 S 2 是 31 等等
【讨论】:
【参考方案2】:您似乎将“衣服尺寸”、“重量”和“长度”强加到一个“尺寸”属性中。
试试这些表:
product (product_id, name)
"Nike t-shirt"
attribute_group (attribute_group_id, name)
"Shirt size", "Weight", "Length", etc.
attribute_value (attribute_value_id, attribute_group_id, name)
"Shirt size" would have rows for "Small", "Large", etc.
product_attribute (product_id, attribute_value)
"Nike t-shirt" is "Large"
给attribute_value添加一个“显示顺序”(这样“Small”可以在“Large”之前显示)。
对你的其他属性也这样做。
我已经为一个生产站点做了这个,我认为它运作良好。
祝你好运。
【讨论】:
【参考方案3】:与其为此制作一个单独的表,不如将所有下拉选项放在应用程序范围的变量中?然后,您可以将该数据作为字符串直接添加到产品的字段中,并以编程方式处理不同的选项/单位。
【讨论】:
可以从管理面板添加/删除尺寸。对于未来的产品,管理员可以输入与产品相关的尺寸。 啊,如果尺寸是动态的,那么使用您的方法可能会更好。以上是关于mysql 管理产品大小的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章