我想为产品变体建模(不是选项或属性,只是变体)。
因此,每一个变体本身就是一个产品。对产品的所有变体有效的一般信息存储在另一个表中(例如:文本描述)。好的,我认为这很好,无需进一步更改。
对于依赖选项(例如颜色:红色,尺寸:小),我创建了两个变体。
变体 1:
表的简短描述:
- 选项:存储所有可用选项(颜色、尺寸、材料……)
- value:存储所有可用的值(红、蓝、绿、小、中、大、铁、木)
- option_value:存储选项和值的所有可能组合(颜色:{red,blue,green}, size:{small, medium, large},...
- product_option_value 现在将产品与其选项连接起来(例如:color:red、size:small、product_id:1;color:blue、size:small、product_id:1)
好的,我认为这会很好用——左边是用于构建 UI 的元数据描述(哪些选项、哪些值、哪些组合)——右边是与产品的链接。
但是有一个问题......描述了选项和值的可能组合以构建GUI,并且可以通过编程方式对其进行验证,但数据库无法进行验证。
因此我创建了变体 2:
现在我不确定第二种解决方案是否会更好。你怎么看?有没有改进的余地?