单个订单中的许多项目,SQL表设计

时间:2012-05-10 04:56:33

标签: sql database-design datatable

我有一个订单表,当用户来到商店时,他们可以购买多个商品。我可以知道执行此类记录操作的最佳做​​法是什么?是每个项目在订单表中排序一行还是在订单表中将所有行混合成一行?

让我们说,顾客A从商店购买3件商品。那顺序表会是3排吗?或者包含所有详细信息的订单表中的1行和带分隔符的单独订单?

我设计的结构就像这样::

tblOrder
    OrderID (Primary Key)
    UserID
    TotalPrice

tblOrderItem
    OrderItemID (Primary Key)
    OrderID (Referencing tblOrder)
    Quantity
    ItemID (Referencing tblItem)
    TotalPrice 

这是对的吗?

2 个答案:

答案 0 :(得分:1)

我建议你保留3行,因为你可以很容易地进行维护。

<强>更新

@SLim,结构现在看起来很完美。你将继续这样做。

答案 1 :(得分:1)

毫无疑问,每个订单在数据库表中都应该有自己的行。

否则,例如,如果您想查找购买特定商品的所有订单 - 您会怎么做?如果每行有一个项目,那就容易多了。

更重要的是,这是大型电子商务网站采用的方法。如果您有兴趣学习专业开发软件,那么您必须学习最佳实践。

祝你好运!