【问题标题】:I'm looking for a database schema for products and product variations [closed]我正在寻找产品和产品变体的数据库模式 [关闭]
【发布时间】:2011-12-23 17:57:41
【问题描述】:

我特别关注了有关该主题的其他讨论:

Representing ecommerce products and variations cleanly in the database

和:

DB schema help, linking variations of products

但我发现它们缺乏和简单化。

我正在寻找一种生产质量模式来支持产品和产品变化,例如颜色、尺寸、左/右手、容量等。

我还需要支持产品套件、相关产品、依赖产品。 我还需要支持产品线/样式,例如样式中的所有产品,例如“温莎”样式的水龙头和淋浴头。

如果您愿意分享如此有价值的东西,我们将不胜感激。

谢谢

【问题讨论】:

  • 聘请数据库管理员?

标签: php sql database


【解决方案1】:

如果您打算将所有这些都放入一个关系数据库(您的 SQL 标记让我这么认为),您需要好好计划一下。您应该寻找一位在该领域有经验并且可以与您一起详细了解您的规范的数据库管理员 (DBA)。

如果您没有预先说明您需要做什么,您可能需要研究一个基于文档的数据库,例如 couchdb,它可以为您提供更大的灵活性来处理产品实体的数据和属性的变化。管理/规范化数据的工作更多是在您的应用程序代码中,而不是在关系数据库中。

【讨论】:

  • 谢谢,是的,我的目的是使用 SQL 关系数据库。我已经为此工作了一段时间,而且非常复杂。我希望得到一些见解。显然我不是第一个解决这个问题的人。我有足够的经验将任何建议与我的要求结合起来。
  • 如果您查看现有开源电子商务解决方案的数据库设计,例如 OSCommerce(有基本的变化,因此可能是该主题的一个很好的一般起点),它可能会有所帮助,例如 Magneto 和 Oxid Eshop。使用数据库工具可视化数据库结构。
  • 好主意。我现在正在这样做。
【解决方案2】:

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

产品表

用于维护您的产品列表

[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)

如果您有任何问题或需要澄清,我会尽我所能提供帮助。它非常基本,应该可以满足您的需求。

【讨论】:

    猜你喜欢
    • 2011-11-27
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 2022-01-25
    • 2017-06-22
    • 1970-01-01
    相关资源
    最近更新 更多