要件を知らなければ、質問が非常に広範であり、スキーマが正しいかどうかわからないため、これは少し難しいでしょう。スキーマが正しくない場合は、苦労している理由が説明されます。
私にはまったく意味のないコラムがあります。たとえば、category_id上にproductと がありsizeます。次に、とpriceをリンクするテーブルがありますが、 が に一致する制約が必要ですか?productsizesize.category_idproduct.category_id
データベースとショッピング カートについて知っていることを踏まえて、スキーマを次のように記述します。
Categories
id
name
description
active
created
modified
Sizes
id
name
Products
id
name
description
price
active
offered
created
modified
Categories_Products
id
category_id
product_id
Products_Sizes
id
product_id
size_id
price
Toppings
id
name
description
price
active
created
modified
Categories_Toppings
id
category_id
toppings_id
Sizes_Toppings
id
size_id
topping_id
price
説明
- イニシャル
Productには基本価格があります。
- それぞれは、HABTM 関係を通じて
ProductN に関連付けることができます。Categories
- それぞれは、HABTM 関係を通じて
ProductN に関連付けることができます。Sizes
- HABTM
Product_Sizeテーブルには、サイズの価格調整が格納されます。
- イニシャル
Toppingには基本価格があります。
- それぞれは、HABTM 関係を通じて
ToppingN に関連付けることができます。Categories
- それぞれは、HABTM 関係を通じて
ToppingN に関連付けることができます。Sizes
- HABTM
Size_Toppingテーブルには、サイズの価格調整が格納されます。