数据库设计:产品尺寸

时间:2014-01-22 15:22:24

标签: mysql database-design

对于B2B商店,我正在寻找最好的数据库设计。产品存储在数据库中,每个产品都有一个大小条。此尺寸条的尺寸数量未知,产品可用。因此,此时,我们了解产品,并了解产品的尺寸。在此之后,应该可以为产品添加未知数量的颜色,最后,对于每种颜色/尺寸组合,应存储库存量。

下面,我为它做了数据库设计,但我认为它不是最好的解决方案。底线是将输入订单。几乎每个订单都有多种产品和几乎所有颜色/尺寸组合。有人可以为它提供最好的数据库设计吗?

表格结构:

sizebar
--------
id, title

sizebar_sizes
--------
id, sizebar_id, size

products
--------
id, sizebar_id, title

products_colors
--------
id, product_id, color

products_sizes
--------
id, color_id, sizebar_sizes_id, quantity

2 个答案:

答案 0 :(得分:0)

我想你想要多对多的关系...... 产品和尺寸应该有一个pivottable products_sizes。产品和颜色应该有一个pivottable products_colors

另一个表可以包含库存中的商品,例如:in_stock表,其中包含productID,colorID和sizeID的外键

答案 1 :(得分:0)

我无法真正理解“尺寸栏”的含义,但如果你说每个产品只有一个尺寸栏,那么任何尺寸条数据都可以作为产品表的一部分。

然后你有尺寸:

sizes
--------
id, size

和颜色:

colors
--------
id,  color

产品仍然是一个通用的高级概念:

products
--------
id, title, sizebar_name

所以我们需要知道哪些具体的变化是正确的?我将其称为“项目”,但它可以是“available_products”或“variation”或其他:

items
--------
id, item_id, color_id, size_id

我们还需要跟踪订购的商品,以便我们需要订单:

orders
--------
id, client_id, order_date, shipping_type, etc etc

order_items
----------
id, order_id, item_id, quantity