Database 为什么订单-产品关系是多对多的?

Database 为什么订单-产品关系是多对多的?,database,many-to-many,Database,Many To Many,在数据库设计中,一个订单可以有多个产品,这是没有问题的。但是一种产品总是只能在一个订单中,不是吗?例如,如何将同一部iPhone放在两个不同的订单中 我认为应该是一对多的关系,而不是多对多的关系。逻辑有什么问题 假设你是一家电子商务公司,库存有70000部iPhone。 根据您建议的设计,在“Product”DB表中,您将存储70000行(每个IPhone一行)。这样,每个“订单”都将引用一个独特的IPhone。您是否看到数据库的数据爆炸速度有多快 您应该做的是将IPhone的一般特征(名称、价

在数据库设计中,一个订单可以有多个产品,这是没有问题的。但是一种产品总是只能在一个订单中,不是吗?例如,如何将同一部iPhone放在两个不同的订单中


我认为应该是一对多的关系,而不是多对多的关系。逻辑有什么问题

假设你是一家电子商务公司,库存有70000部iPhone。

根据您建议的设计,在“Product”DB表中,您将存储70000行(每个IPhone一行)。这样,每个“订单”都将引用一个独特的IPhone。您是否看到数据库的数据爆炸速度有多快

您应该做的是将IPhone的一般特征(名称、价格、品牌等)存储在表的一行中,并使用名为“inventory”的列跟踪库存盘点

如下所示(注意,您可以进一步改进下面的设计,但这足以理解这里的多对多逻辑)

现在,对于每个包含IPhone的订单,订单将引用产品表的同一行。因此,一个产品将有多个订单。


如果你需要更多的澄清,请告诉我。干杯

产品订单多对多关系意味着,在一个订单中,你可以订购多个产品,例如,你可以一次购买多个产品,卖家会给你一张收据(一张订单)。而另一个站点是一种可以多次密封的产品类型,例如商店订购(进口)iPhone并将其密封。原来同一产品有很多订单。 有关更多信息,请查看维基百科


希望我能帮助你

答案是一个订单可以有多个产品,一个产品也可以属于多个订单 例如: 你可以从电子商务网站订购很多书,任何一本书都可以订购很多次

Product
-------------
id | name   | brand | price | inventory
1  | IPhone | Apple | 600   | 70000