我已经查看了关于这个主题的其他讨论,特别是:
以及:
但我觉得它们缺乏深度和简单。
我正在寻找一个生产质量的模式来支持产品和产品变体,如颜色、尺寸、左/右手、容量等。
此外,我需要支持产品套件、相关产品、依赖产品。
我还需要支持产品线/样式,例如所有风格为“温莎”的水龙头和淋浴头内的所有产品。
如果你愿意分享这么有价值的东西,任何帮助都将不胜感激。
谢谢
我已经查看了关于这个主题的其他讨论,特别是:
以及:
但我觉得它们缺乏深度和简单。
我正在寻找一个生产质量的模式来支持产品和产品变体,如颜色、尺寸、左/右手、容量等。
此外,我需要支持产品套件、相关产品、依赖产品。
我还需要支持产品线/样式,例如所有风格为“温莎”的水龙头和淋浴头内的所有产品。
如果你愿意分享这么有价值的东西,任何帮助都将不胜感激。
谢谢
根据我的经验,您所需要的(为了简单起见)是一个多表关系结构。根据您提供的信息,我已经起草了以下草稿
产品表
用于维护您的产品列表
[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类型来存储值,因为问题是开放式的。这是一个数量数字,还是一个三页文字描述?您可以根据需要进行调整。您也可以使用这个表格来处理依赖关系,因为它不需要是产品ID和属性ID的唯一组合,因为您可能有一个或多个颜色,或者它可以属于多个组等。
[product_property_value]
- product_id (BIGINT, FK => product.id, NOT NULL )
- property_id (INT, FK => product_property.id, NOT NULL)
- value (BLOB)