我正在寻找产品和产品变体的数据库模式


I'm looking for a database schema for products and product variations

我已经看了关于这个主题的其他讨论:

在数据库中清晰地表示电子商务产品和变体

:

数据库模式帮助,链接产品的变化

但我发现他们缺乏和简单。

我正在寻找一个生产质量方案,以支持产品和产品的变化,如颜色,尺寸,左/右,容量等。

我还需要支持产品套件,相关产品,依赖产品。我还需要支持产品线/风格,例如一个风格内的所有产品,例如"windsor"风格的水龙头和淋浴头。

如果你愿意分享这么有价值的东西,任何帮助都是感激的。

谢谢

如果您打算将所有这些放入关系数据库(您的SQL标记使我这样认为),则需要做好计划。您应该找一位在该领域经验丰富的数据库管理员(DBA),他可以和您一起详细检查您的规范。

如果你没有预先规定你需要做什么,你可能想看看基于文档的数据库,比如couchdb,它将为你提供更大的灵活性,以适应产品实体的数据和属性的变化。管理/规范化数据的工作更多地在应用程序代码中进行,而不是在关系数据库中进行。

根据我的经验,您正在寻找的(为了简单起见)是一个多表关系结构。根据你提供的信息,我拟定了一份如下草案

产品表

用于维护您的产品列表

[product]
   - id  (BIGINT, AUTO_INC, PK, NOT NULL)
   - title (VARCHAR(255), INDEX, NOT NULL)

产品属性表

关于你的属性的所有独特的东西,它们可能有也可能没有共同之处。尺寸、颜色、左/右、容量等)

[product_property]
   - id (INT, AUTO_INC, PK, NOT NULL)
   - title (VARCHAR(255), INDEX, NOT NULL)

产品属性值表

在这个表中,您可以告诉它哪个产品的属性具有什么值(即。本产品10234-3为黑色,容量为25个。我使用BLOB类型作为值,因为问题是开放的。这是一个数量数字,还是一个三页的文字描述。你可以根据需要进行调整。你也可以使用这个表来处理依赖关系,它不需要是product_id和property_id的唯一组合,因为你可以有一个或多个颜色,或者它可以属于多个组,等等。

[product_property_value]
   - product_id  (BIGINT, FK => product.id, NOT NULL )
   - property_id (INT, FK => product_property.id, NOT NULL)
   - value (BLOB)

如果你有任何问题或需要澄清,我会尽我所能提供帮助。