在一列 Oracle 中存储多个值(外键引用)
Storing Multiple Values (Foreign Key References) in One Column Oracle
我正在尝试为餐厅设计数据库。我有构成餐厅订单的餐厅商品。一个订单可以包含多个项目。在订单中我想引用多个项目(外键)。以下是来自 tables.
的示例数据
有没有办法在订单 table 中存储多个 ITEM_ID 引用项目 PK ITEM_ID?
有,但是 - 你应该规范化数据模型(所以 - 你不应该做你想做的事)。 “解决方案”是创建一个新的 table,例如ORDER_ITEMS
:
create table order_items
(order_id number constraint fk_oi_order references orders (order_id),
item_id number constraint fk_oi_item references items (item_id),
--
constraint pk_oi primary key (order_id, item_id)
);
它将包含订单 ID 及其包含的所有项目的组合。
我正在尝试为餐厅设计数据库。我有构成餐厅订单的餐厅商品。一个订单可以包含多个项目。在订单中我想引用多个项目(外键)。以下是来自 tables.
的示例数据
有没有办法在订单 table 中存储多个 ITEM_ID 引用项目 PK ITEM_ID?
有,但是 - 你应该规范化数据模型(所以 - 你不应该做你想做的事)。 “解决方案”是创建一个新的 table,例如ORDER_ITEMS
:
create table order_items
(order_id number constraint fk_oi_order references orders (order_id),
item_id number constraint fk_oi_item references items (item_id),
--
constraint pk_oi primary key (order_id, item_id)
);
它将包含订单 ID 及其包含的所有项目的组合。