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 管理产品大小的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 的最佳 varchar 大小是多少?

产品管理页中,如何只显示多个正常大小的详情图片的第一张

产品管理页中,如何只显示多个正常大小的详情图片的第一张

使用通用矢量大小类型的最佳方法是啥?

自动布局动态大小 uitableview 单元格的最佳方法是啥

实现可变大小的多行 UITableCell 的最佳方法是啥?