【发布时间】:2012-11-12 23:24:58
【问题描述】:
我有一个关于多对多关系的问题。我知道我们必须创建一个联结表。但是假设我们有这种情况:
为客户提供一张桌子 一张订单表 一桌产品
一个订单可以有多个产品,一个产品可能有多个订单。因此,我们创建了一个联结表。 我可以在客户和产品之间创建一个联结表,这个联结将是一个订单表来存储订单吗?
谢谢
【问题讨论】:
-
您需要一个
OrderProducts表。Orders会有CustomerID,OrderProducts会有很多OrderID和ProductID它仍然需要自己的索引,因为许多相同的Product可能在那个Order上 -
或者,您可以让
OrderProducts使用OrderID和ProductID作为复合主键,并包含Quantity字段。 -
您可能不想创建联结表ala
CustomerProducts,因为它不允许您将各个行组合成单独的Orders
标签: sql database many-to-many junction-table