如何购买更多产品 - 最佳做法

时间:2015-12-28 12:03:47

标签: sql oracle oracle-sqldeveloper oracle-sql-data-modeler

我们有桌子披萨和订单

Logical model

SQL数据建模器生成如下关系模型:

Relational model

我们忘了,客户可以购买2个或更多相同的披萨。我们发现我们可以在表pizza_orders中添加列片段,或者我们可以为表Pizza_Orders(Pizza_Orders_Id)创建特殊的主键。哪种解决方案更好?还是有其他更好的解决方案吗?

2 个答案:

答案 0 :(得分:4)

修改您的Pizza_Orders表格以包含数量字段:

<强> Pizza_Orders

Orders_Order_id
Pizza_Pizza_id
Pizza_Pizza_quantity

如果整个订单一次就知道,那么在这个表中进行插入会很容易。换句话说,如果通常知道所有比萨饼的数量和类型,那么插入应该不是问题。这也解决了具有多种类型的相同披萨的订单的问题。

请注意,此新Pizza_Orders表中的主键只是订单号和披萨号的组合,不涉及数量。原因是订单号和披萨类型最多只能出现在一条记录中,无论数量多少。

答案 1 :(得分:3)

您应该将列数量添加到表Pizza_Orders。我想你错过了披萨的大小。订购时没有选择尺寸的选项,但对于下订单很重要。