首页 文章

为产品变体设计数据库

提问于
浏览
4

我想模拟产品变体(不是选项或属性,只是变体) .

所以每个变体都是产品本身 . 对产品的所有变体有效的一般信息存储在另一个表中(例如:文本描述) . 好吧,我认为这很好,不需要进一步的改变 .

对于依赖选项(例如颜色:红色,大小:小),我创建了两个变体 .

Variant 1:

diagram 1

表格的简短描述:

  • 选项:存储所有可用选项(颜色,大小,材料......)

  • value:存储所有可用值(红色,蓝色,绿色,小,中,大,铁,木)

  • option_value:存储选项和值的所有可能组合(颜色:{红色,蓝色,绿色},大小:{小,中,大},...

  • product_option_value现在将产品与其选项连接(例如:颜色:红色,尺寸:小,product_id:1;颜色:蓝色,尺寸:小,product_id:1)

好的,我认为这样可以很好地工作 - 在左侧用于构建UI的元数据描述(哪些选项,哪些值,哪些组合) - 右侧是与产品的链接 .

但是有一个问题......描述了选项和值的可能组合以构建GUI,并且可以以编程方式验证它,但数据库无法进行验证 .

因此我创建了 variant 2:

diagram 2

现在我不确定第二种解决方案是否更好 . 你怎么看?还有改进的余地吗?

1 回答

  • 0

    如果要将 product_option_value only 限制为 option_value 中已存在的值,则为是,第二个模型是更好的模型 .

    然而,该模型允许在多个选项之间共享单个值(例如,“红色”可以是“颜色”和“大小”) . 我猜这不是你想要的,在这种情况下,模型看起来应该类似于:

    enter image description here

相关问题