Mysql 可包含可自定义产品(RDMS)的订单的数据库架构
我来自前端背景,所以如果这个db问题看起来很愚蠢,我道歉 假设我有一个数据库处理汽车和汽车配件的订单。如果Mysql 可包含可自定义产品(RDMS)的订单的数据库架构,mysql,sql,database,database-design,database-schema,Mysql,Sql,Database,Database Design,Database Schema,我来自前端背景,所以如果这个db问题看起来很愚蠢,我道歉 假设我有一个数据库处理汽车和汽车配件的订单。如果Car是不可定制的,那么一切都很简单。对于每个订单,我们只需将OrderId与Car的ProductId关联即可。但是汽车是一种产品,可以包含一个或多个产品,如导航、座椅加热器等,用户也可以单独购买这些配件产品 我们应该如何最好地处理这个问题?如果每个产品用户订单在订单表中都有一个唯一的ProductOrderId,并且如果该产品可以包含另一个产品,那么我们将其放入一个表中,该表将Produ
Car
是不可定制的,那么一切都很简单。对于每个订单,我们只需将OrderId
与Car
的ProductId
关联即可。但是汽车
是一种产品
,可以包含一个或多个产品
,如导航、座椅加热器等,用户也可以单独购买这些配件产品
我们应该如何最好地处理这个问题?如果每个产品
用户订单在订单表中都有一个唯一的ProductOrderId
,并且如果该产品
可以包含另一个产品
,那么我们将其放入一个表中,该表将ProductOrderId
与ProductId
关联
如果我们这样做,db会失控吗?对我来说似乎有点低效。我觉得有更好的方法。如果你看看复杂的产品通常是如何计费的,主要项目及其每个选项在销售清单中被视为单独的行项目。在这种情况下,汽车是一种产品,它的每个附件也是产品。您可以在
产品
上建立一个渐开线关系,以指示哪些附件与哪种类型的汽车相匹配
此场景的数据模型如下所示:
或者,您可以有一个场景,其中您需要一个抽象级别,以便您的销售清单只包含一个项目,即一辆完全附加的汽车。这要求订单项更像物料清单中的标题,如下所示: