我們有桌子比薩餅和訂單如何購買多件一體機產品 - 最佳實踐
SQL數據建模生成關係模型是這樣的:
我們忘了,客戶可以購買2個或更多相同的披薩。我們發現,我們可以添加列表片到表pizza_orders,或者我們可以爲表Pizza_Orders(Pizza_Orders_Id)創建特殊的主鍵。哪種解決方案更好?還是還有其他更好的解決方案?
我們有桌子比薩餅和訂單如何購買多件一體機產品 - 最佳實踐
SQL數據建模生成關係模型是這樣的:
我們忘了,客戶可以購買2個或更多相同的披薩。我們發現,我們可以添加列表片到表pizza_orders,或者我們可以爲表Pizza_Orders(Pizza_Orders_Id)創建特殊的主鍵。哪種解決方案更好?還是還有其他更好的解決方案?
修改您Pizza_Orders
表,包括字段數量:
Pizza_Orders:
Orders_Order_id
Pizza_Pizza_id
Pizza_Pizza_quantity
否則插入到這個表很容易,如果整個順序一次知道。換句話說,如果所有披薩的數量和種類一般都是已知的,那麼插入應該不成問題。這也解決了與不止一種類型的相同披薩訂單的問題。
請注意,此新Pizza_Orders
表中的主鍵仍然是訂單號和匹薩號的組合,並且不涉及數量。原因是訂單號和比薩類型最多隻能出現在一條記錄中,而不管數量多少。
我個人的感覺是,這樣一個領域既不需要也不需要 - 但如果要添加,我建議將它放在PIZZA表格中,而不是在交叉點。YMMV。 –
@BobJarvis,我不同意你說的一切。 –
@DanBracuk - 至少我們可以同意我們不同意。 –
您應該將列數量添加到表Pizza_Orders。我想你錯過了披薩的大小。訂購時沒有選擇尺寸的選項,但對於下單很重要。
加1,因爲在發表評論時,@Suvro沒有足夠高的聲望發表評論。 –
這是一個學校項目,所以我會讓它在沒有比薩尺寸的情況下輕鬆完成。但是,謝謝! – Pivoman
我預計不同大小的比薩餅可能會花費不同的金額,所以他們會在PIZZA表中表現爲不同的比薩餅。 –
在你的'Pizza_Orders'表中,爲什麼每個比薩餅不會出現一次'Order_id'多次?我不確定在這裏看到問題。 –
我需要購買2個相同的披薩(比如2個比薩薩拉米)。我不能插入表pizza_orders(14,2),然後再插入表pizza_orders(14,2) – Pivoman
現在很清楚,謝謝。 –