我想建模产品变体(不是选项或属性,只是变体)。
因此,每个变体本身都是一个产品。适用于某个产品所有变体的通用信息存储在另一个表中(例如:文本描述)。这样做已经很好了,不需要进一步更改。
对于依赖选项(例如颜色:红色,尺码:小号),我创建了两个变体。
变体1:
图1
表的简短描述:
- 选项:存储所有可用选项(颜色、尺码、材料等) - 值:存储所有可用值(红、蓝、绿、小、中、大、铁、木头) - 选项值:存储所有可能的选项和值的组合(颜色:{红、蓝、绿},尺码:{小、中、大},...) - 产品选项值现在将产品与其选项连接起来(例如:颜色:红色,尺码:小号,产品ID:1;颜色:蓝色,尺码:小号,产品ID:1)
这样做已经足够好了——左边是构建UI所需的元数据(哪些选项、哪些值、哪些组合),右边是与产品的联系。
但是有一个问题……选项和值的可能组合被描述为构建GUI所需,并且可以通过编程方式进行验证,但是数据库无法进行验证。
因此,我创建了变体2:
图2
现在我不确定第二个解决方案是否更好。你认为有改进的余地吗?
因此,每个变体本身都是一个产品。适用于某个产品所有变体的通用信息存储在另一个表中(例如:文本描述)。这样做已经很好了,不需要进一步更改。
对于依赖选项(例如颜色:红色,尺码:小号),我创建了两个变体。
变体1:
图1
表的简短描述:
- 选项:存储所有可用选项(颜色、尺码、材料等) - 值:存储所有可用值(红、蓝、绿、小、中、大、铁、木头) - 选项值:存储所有可能的选项和值的组合(颜色:{红、蓝、绿},尺码:{小、中、大},...) - 产品选项值现在将产品与其选项连接起来(例如:颜色:红色,尺码:小号,产品ID:1;颜色:蓝色,尺码:小号,产品ID:1)
这样做已经足够好了——左边是构建UI所需的元数据(哪些选项、哪些值、哪些组合),右边是与产品的联系。
但是有一个问题……选项和值的可能组合被描述为构建GUI所需,并且可以通过编程方式进行验证,但是数据库无法进行验证。
因此,我创建了变体2:
图2
现在我不确定第二个解决方案是否更好。你认为有改进的余地吗?