1

このトピックに頭を悩ませようとしていますが、簡単な解決策が見つかりません。

  • 地域価格に基づく製品。
  • 地域には、地域ごとに 1 つの通貨と地域ごとの在庫があります。
  • 次に、色やサイズなどの製品バリエーションがあります。色は特別な理由である必要があり、そのために画像が必要です。
  • 色とサイズは、地域に基づいて在庫に応じて異なります。
  • 製品には地域ごとに 1 つの価格があります

たぶん、ここにいる誰かがこのデータベース レイアウトについて良い考えを持っているでしょう。

編集

製品

  • ID
  • 名前
  • 識別子
  • ナメクジ

製品バリエーション

  • ID
  • 製品番号
  • 名前
  • サイズ
  • 画像

product_stocks

  • ID
  • カウント
  • product_variation_id
  • region_id

product_prices

  • ID
  • 製品番号
  • region_id
  • 価格

地域

  • ID
  • 名前
  • ナメクジ

それでもサイズはバリエーションに関連付けられています..複数のサイズのバリエーションが1つ必要であり、在庫は地域に基づいてサイズにリンクできる必要があります

4

2 に答える 2

1

次のようなものかもしれません:

Products

  • Id
  • Name

色やサイズ、色などの製品バリエーション。

ProductVariations

  • Id
  • ProductId
  • StockId(色とサイズは地域に応じた在庫によって異なります)
  • Colour
  • Size

リージョンには、リージョンごとに1つの通貨があり、リージョンごとに在庫があります。

Currencies

  • Id
  • Name

Stocks

  • Id
  • Name
  • RegionId

Regions

  • Id
  • Name
  • CurrencyId
  • StockId

製品の価格は地域ごとに1つです

地域価格に基づく製品

ProductPrices

  • Id
  • ProductId->製品テーブル。
  • RegionId->リージョンテーブル。
  • Price

以下に対応するために、この構造を少し調整する必要があるかもしれません。

  • 商品ごとに1つの画像しか必要ないか、商品に多くの画像を含めることができるかによって、商品の画像が表示されます(新しい表ProductImages)。
  • 必要な製品のプロパティ(製品のバリエーション)を明確にしませんでした。それらは、製品ごとに多くのバリエーション(製品ごとに1対多)であるか、製品ごとのプロパティにすぎません。

アップデート:

ワンサイズでも在庫があります。

この場合 、次のように、新しいテーブルに移動したり、必要に応じて移動ColourSizeたりできます。sizeProductVariationOptions

ProductVariationOptions

  • Id
  • Size
  • Colour

次に、あなたProductVariationOptionsは次のようになります:

ProductVariations

  • Id
  • ProductId
  • StockId(色とサイズは地域に応じた在庫によって異なります)
  • ProductVariationOptionsId->ProductVariationOptions
于 2012-09-06T07:59:47.347 に答える
1

リージョンには、バリエーションを通じて多くの製品を含めることができます

バリエーションには複数の画像を含めることができます

領域

  • 名前
  • 通貨

製品

  • 名前

変化

  • サイズ
  • 価格
  • region_id
  • 製品番号

画像

  • バリエーション_id

サイズと色については、おそらく simple_enum gem を使用します。私が取り組んでいるプロジェクトでそれを使用してきましたが、それはかなり素晴らしいものでした.

于 2012-09-06T08:01:45.300 に答える