3

我正在开发产品数据库,对于尺寸我创建了一个单独的表 PRODUCT_SIZE(id,sizetext)

例如 (1,'Small') ,(2,'Large'), (3,'Extra Large'),...

我提供了这些尺寸列表作为复选框,当添加产品时,可以针对当前产品选择所有可能的尺寸。

例如选择 T 恤、小码和大码。

这 2 种尺寸适用于每个购买的新股票条目。现在我才知道,可以有不同的尺寸单位,有些物品可以英寸,有些可以公斤,有些可以米。

我有一个改变的解决方案:改变表

PRODUCT_SIZE(id,sizetext, UNitType);

现在可以是:(1,'5','KG') ,(2,'10','KG'), (3,'2.5'.'Inches'),...

有没有更好的方法,建议?

4

3 回答 3

4

似乎您将“衣服尺寸”、“重量”和“长度”强加到一个“尺寸”属性中。

试试这些表:

  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"

也向属性值添加“显示顺序”(因此“小”可以在“大”之前显示)。

也为您的其他属性执行此操作。

我已经为一个生产站点做了这个,我认为它运作良好。

祝你好运。

于 2012-10-03T16:55:29.930 回答
0

与其为此制作一个单独的表,不如将所有下拉选项放在应用程序范围变量中?然后,您可以将该数据作为字符串直接添加到产品的字段中,并以编程方式处理不同的选项/单位。

于 2012-10-03T13:58:45.720 回答
0

我做了一个数据库存储衣服的尺寸有几种类型。一篇文章的尺寸像 xs sml 其他是 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 等等

于 2013-10-01T11:28:59.370 回答