在不知道要求的情况下,这会有点困难,因为您的问题非常广泛,而且我不确定架构是否正确。如果架构不正确,它会解释你为什么挣扎。
有些专栏对我来说不太有意义。例如,您有一个category_id
on theproduct
和 the size
。然后你有一个price
链接product
和的表size
,但是你需要一个size.category_id
匹配的约束product.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
将有一个基本价格。
- 每个
Product
都可以Categories
通过 HABTM 关系与 N 相关联。
- 每个
Product
都可以Sizes
通过 HABTM 关系与 N 相关联。
- HABTM
Product_Size
表将存储尺寸的价格调整。
- 初始
Topping
将有一个基本价格。
- 每个
Topping
都可以Categories
通过 HABTM 关系与 N 相关联。
- 每个
Topping
都可以Sizes
通过 HABTM 关系与 N 相关联。
- HABTM
Size_Topping
表将存储尺寸的价格调整。