![](/img/trans.png)
[英]How should I handle updating data in a one-to-many relationship database schema?
[英]How can I develop a database schema for a one to many relationship?
我需要實現一個購物車。 我們假設我正在銷售20種不同的商品。
我有幾個簡單的表:
Cart
-------
tran_id first_name last_name items
1 John Doe 1:4:15:16
Item
-------
item_id name price
1 Ruby $1.00
2 Diamond $2.00
...
重點是,我如何查詢購物車並按照1:4:15:16格式的順序顯示項目,而不是Ruby,Amethyst,Opal,Silver。
你的結構不是一對多或多對多,它只是一對一的“blob:of:冒號:分隔:文本”。
適當的多對多關系通常使用表來橋接關系。 在您的特定情況下,該表通常是“交易明細”表,而您的“購物車”表是“交易標題”表。
在這種情況下你會有三個表:
CART (transaction header)
---------------
tran_id NUMBER
first_name VARCHAR(100)
last_name VARCHAR(100)
CART_ITEM (transaction detail)
---------------
tran_id NUMBER
item_id NUMBER
.. other details about this line item (quantity, etc)
ITEM
---------------
item_id NUMBER
name VARCHAR(100)
price NUMBER(18,4)
然后,要查詢此內容以獲得您要查找的內容,請說:
SELECT h.tran_id, i.name, i.price
FROM cart h
INNER JOIN cart_item d ON (h.tran_id = d.tran_id)
INNER JOIN item i ON (d.item_id = i.item_id)
WHERE h.tran_id = 1
ORDER BY i.name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.