如何创建不同事物的多个订单

时间:2014-04-30 12:09:24

标签: mysql orders

我正在为DVD商店创建一个Uni案例研究的代码,我正在使用我的客户订单数据库的波纹管代码,但我意识到它只能让我一次订购一张DVD。理想情况下,我需要它,这样你每个订单可以有多个DVD ID,我将如何做到这一点。例如,我有以下问题 “d。列出购买超过50英镑的客户名称”

CREATE TABLE CUSTOMER_ORDER
(
ORDER_ID INT NOT NULL AUTO_INCREMENT,
CUSTOMER_ID INT NOT NULL,
DVD_ID INT NOT NULL,
DVD_QUANTITY varchar(3) NOT NULL,
ORDER_DATE date NOT NULL,
ORDER_COST varchar(6) NOT NULL,
FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMER (CUSTOMER_ID),
FOREIGN KEY (DVD_ID) references DVD (DVD_ID),
PRIMARY KEY (ORDER_ID)
)

1 个答案:

答案 0 :(得分:0)

Dbrisk,我最熟悉的方式是看到这样做会有一个“订单”表(包含一个或多个项目的完整订单)和“order_items”(订单中包含的单个行或项目) )。 “订单”表将包含有关订单信息的所有信息或参考,不包括订单中的各个产品。然后,order_items将包含一个类似“order_id”的字段,以将多个商品引回订单桶。

我已经创建了一个我在下面描述的例子。这些表由#1和#2订单组成。订单#1由1个product_id 111单元和2个product_id 222单元组成。订单#2由单个产品单元333组成。

ORDERS
id      acct_id     created_date
1       123         04-30-2014
2       456         04-30-2014

ORDER_ITEMS
id      order_id        product_id      quantity
1       1               111             1
2       1               222             2
3       2               333             1

要查询完整订单,请使用order.id和order_item.order_id将order_items连接到订单。