产品数量的数据库架构

时间:2016-07-09 15:26:28

标签: database database-design

我在为以下场景创建数据库架构时遇到一些问题:

购物,您可以在其中配置订单。让我们说用户订购鲜花和巧克力。到目前为止,我有以下结构:

OrderID  FK_Flower FK_Chocolate
1         1         1            

FK指向数据库中的条目,例如:

Id  Name     Price
1   Rose     100

巧克力也一样。

然而现在,有一个变化:使用可以订购多种不同的鲜花。所以,让我们说,他可以订购5朵玫瑰,3朵雏菊。

我应该做些什么改变才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

你想要多对多的关系。

将Orders表更改为以下内容:

Orders:
-------
Id
1

Flowers表保持不变:

Flowers:
------------------
Id  Name     Price
1   Rose     100
2   Daisy    120

使用Order和Flower ID作为外键创建一个新表:

Orders_Flowers:
-------------------------
FK_Order_Id  FK_Flower_ID
1            1
1            1
1            1
1            1
1            1
1            2
1            2
1            2

这样,Id = 1的订单有5朵玫瑰和3朵雏菊。