Re: [請益] 商城的訂單資料庫設計
可以先想想後面可能需要的功能,像是:
- 訂單快照功能,保留當時的商品資訊 e.g. 價錢,規格等
- 是否需要跨商店結帳?
- 出貨時需不需要做到分批出貨?
- 退款時需不需要做到只退款部分商品?
- 出報表支援商業決策,譬如說過去一個月,哪間商店營業額最高? 哪些商品最熱賣?
再來考慮可能的資料庫設計
1. 一個商品一筆紀錄,通通放進 orders table
- 反正規化,每次看到心情都有一點啊砸
- 做分析的時候都要考慮有多筆商品存在,通常都需要多一次 group by
2. 用 json 或是 string concat 來把商品資訊放進同一個欄位,通通放進 orders
table
- 做分析有點麻煩,如果想要追蹤特定商品的歷史銷售數據,會需要掃整張表
3. 把商品跟訂單資訊拆開,商品另外有一張 order_details 來記錄每筆商品,同
@bheegrl 大大推文
- 幾乎每次都需要 join details table。看 UI 呈現,也可以反正規化解決
我會選 3 拉,彈性比較大,join 麻煩可以用 ORM 解決
一個訂單有十筆紀錄,table 成長很快的問題會傾向用 index, partitioning 來解決
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.50.62.58 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1623634825.A.631.html
推
06/14 14:19,
2年前
, 1F
06/14 14:19, 1F
推
06/14 18:28,
2年前
, 2F
06/14 18:28, 2F
→
06/14 18:28,
2年前
, 3F
06/14 18:28, 3F
→
06/14 18:28,
2年前
, 4F
06/14 18:28, 4F
→
06/14 18:28,
2年前
, 5F
06/14 18:28, 5F
→
06/14 19:04,
2年前
, 6F
06/14 19:04, 6F
→
06/14 19:05,
2年前
, 7F
06/14 19:05, 7F
→
06/14 19:05,
2年前
, 8F
06/14 19:05, 8F
推
06/14 23:36,
2年前
, 9F
06/14 23:36, 9F
推
06/15 12:12,
2年前
, 10F
06/15 12:12, 10F
→
06/15 12:12,
2年前
, 11F
06/15 12:12, 11F
推
06/15 19:48,
2年前
, 12F
06/15 19:48, 12F
推
06/16 01:41,
2年前
, 13F
06/16 01:41, 13F
推
06/17 00:53,
2年前
, 14F
06/17 00:53, 14F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
請益
13
44