0

我正在为 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)
)
4

1 回答 1

0

Dbrisk,我最熟悉的方式是为“订单”(由一个或多个项目组成的完整订单)和“order_items”(订单中包含的单个行或项目)创建一个表格。“订单”表将包含有关订单的所有信息或对信息的引用,不包括订单中的单个产品。然后,order_items 将包含一个类似“order_id”的字段,以将多个项目引用回订单存储桶。

我已经创建了一个我在下面描述的示例。这些表由订单#1 和#2 组成。订单 #1 包含 1 个产品 ID 111 单元和 2 个产品 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 连接到 order。

于 2014-04-30T18:01:29.927 回答