我在为以下场景创建数据库架构时遇到一些问题:
购物,您可以在其中配置订单。让我们说用户订购鲜花和巧克力。到目前为止,我有以下结构:
OrderID FK_Flower FK_Chocolate
1 1 1
FK指向数据库中的条目,例如:
Id Name Price
1 Rose 100
巧克力也一样。
然而现在,有一个变化:使用可以订购多种不同的鲜花。所以,让我们说,他可以订购5朵玫瑰,3朵雏菊。
我应该做些什么改变才能解决这个问题?
答案 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朵雏菊。