1

我试图围绕这个话题展开思考,但找不到简单的解决方案。

  • 产品根据地区价格。
  • 地区每个地区有一种货币,每个地区有一种股票。
  • 然后是颜色和尺寸等产品变化,颜色应该是特殊的,因为我需要图像。
  • 颜色和尺寸取决于基于地区的库存。
  • 产品每个地区有一个价格

也许这里的任何人都对这个数据库布局有一个好主意。

编辑

产品

  • ID
  • 姓名
  • 标识符
  • 蛞蝓

product_variations

  • ID
  • product_id
  • 姓名
  • 尺寸
  • 图片

product_stocks

  • ID
  • 数数
  • product_variation_id
  • region_id

产品价格

  • ID
  • product_id
  • region_id
  • 价格

地区

  • ID
  • 姓名
  • 蛞蝓

尺寸仍然与变化相关..我需要一种具有多种尺寸的变化,并且库存也应该可以根据地区链接到尺寸

4

2 回答 2

1

可能是这样的:

Products

  • Id.
  • Name.

产品变化,如颜色和尺寸、颜色。

ProductVariations

  • Id.
  • ProductId.
  • StockId(颜色和尺寸取决于地区的库存)
  • Colour.
  • Size

地区每个地区有一种货币,每个地区有一种股票。

Currencies

  • Id.
  • Name.

Stocks

  • Id.
  • Name.
  • RegionId.

Regions

  • Id.
  • Name.
  • CurrencyId.
  • StockId.

产品每个地区有一个价格

产品基于地区价格

ProductPrices

  • Id.
  • ProductId-> 产品表。
  • RegionId-> 地区表。
  • Price.

您可能需要稍微调整此结构以适应:

  • 产品图像取决于您是每个产品只需要一个图像还是一个产品可以有多个图像(新表ProductImages)。
  • 您没有阐明您需要的产品属性(产品变体)是每种产品的很多变体(每种产品一对多)还是只是每种产品的属性。

更新:

一种尺寸也可以有库存。

在这种情况下,您可以根据需要移动 ColourSize/或size唯一到新表,例如ProductVariationOptions

ProductVariationOptions

  • Id.
  • Size.
  • Colour.

然后你ProductVariationOptions会是这样的:

ProductVariations

  • Id.
  • ProductId.
  • StockId(颜色和尺寸取决于地区的库存)
  • ProductVariationOptionsId->ProductVariationOptions
于 2012-09-06T07:59:47.347 回答
1

一个地区可以通过变体拥有许多产品

一个变体可以有多个图像

地区

  • 姓名
  • 货币

产品

  • 姓名

变化

  • 颜色
  • 尺寸
  • 价格
  • region_id
  • product_id

图片

  • 变体_id

对于尺寸和颜色,我可能会使用 simple_enum gem。我一直在我一直在做的一个项目上使用它,它非常好。

于 2012-09-06T08:01:45.300 回答