【问题标题】:Database Schema for Multi-Color Products多色产品的数据库模式
【发布时间】:2012-03-15 17:18:57
【问题描述】:

我正在设计一个数据库,并希望得到一些关于我目前所拥有的反馈。

以下是要求: 每个产品都有多种颜色。 每个产品都必须属于某个类别。 每个类别可能有一个子类别。

示例关系是

Eyes[Cat]
   EyeProduct[Product]
      Color1[color]
      ...
      ColorN[color]

Lips[Cat]
   Lipgloss[Subcat]
      CoolLipgloss[Product]
          Color1[color]
          ...
          ColorN[color]

到目前为止,这是我的数据库设计:

Categories
-id     (pk)
-subcat_id  (fk)
-name
-description
-active     (boolean)

Sub Category
-id         (pk)
-product_id     (fk)
-name
-description


Products
-id     (pk)
-name
-price
-weight
-descritpion
-ingredients
-product_img
-active     (boolean)

SKU
-sku    (pk)
-product_id     (fk)
-name
-image_small
-image_med
-image_Lrg
-active     (boolean)

实现图像表是个好主意吗?此表将包含用于每个 SKU(颜色)的所有图像和任何额外产品图像的引用。我认为这更有意义,因为每个 sku 条目也可以有不止一张图片。

【问题讨论】:

    标签: mysql database relationship product


    【解决方案1】:

    看起来不错。只是关于关系(fk)的几个注释,我认为它们应该改变:

    Categories
    -id     (pk)
    -name
    -description
    -active     (boolean)
    
    Sub Category
    -id         (pk)
    -category_id     (fk)
    -name
    -description
    
    
    Products
    -id     (pk)
    -subcategory_id     (fk)
    -name
    -price
    -weight
    -descritpion
    -ingredients
    -product_img
    -active     (boolean)
    
    SKU
    -sku    (pk)
    -product_id     (fk)
    -name
    -image_small
    -image_med
    -image_Lrg
    -active     (boolean)
    

    顺便说一句。您可以对图像使用部分路径,这将为您节省 2 个文本字段。 例如,您有 3 张图片用于 sku 1111:

    /tmp/image1111small.jpg
    /tmp/image1111med.jpg
    /tmp/image1111lrg.jpg
    

    实际上只需要存储“/tmp/image1111”,通过相应的路径添加“small.jpg”、“med.jpg”和“lrg.jpg”来恢复完整路径。

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多