Re: [請益] 商城的訂單資料庫設計
我並不是工程師,
目前也在自學中,
針對你的問題提供些答案與解決方向,
希望能幫助到原po,
版上的其他前輩們,
如果認為我的答案有錯誤或增進的空間,
再請各位提點與指教。
※ 引述《ntpuisbest (阿龍)》之銘言
: 想問問假使我有一個網路商城
: 使用者甲有可能會在A商店 買了 兩個羽球拍 一顆籃球
: 使用者乙有可能在A商店 買了 三雙球鞋
: 那麼我的訂單資料庫設計欄位
: 是應該要每個商品都要佔據一個列會比較適合嗎
: 訂單編號 商品名稱 店家名稱 商品數量
: A1 羽球拍 A 2
: A1 籃球 A 1
: A2 球鞋 A 3
: 我的理解是使用者甲雖然買了兩樣東西,但是這是同一筆訂單,所以訂單編號要相同
: 我都假設成A1這樣
: 可是這樣設計的話,萬一使用者甲一次買十樣商品,
: 那我的資料庫不就要有十列來存
: 想問這有更好的設計方式嗎?
先決定你資料庫要用 SQL 還 NoSQL,
你看起來像是要用 SQL,
那你的問題就是沒有把資料表正規化,
依你文中的敘述簡單畫個 ERD,
關鍵字 正規化 了解下,
就能看懂與理解為什麼要這樣設計,
另外你之後的資料操作,
Transaction 與 ACID 關鍵字可以看看。
https://i.imgur.com/BSE1Svt.jpg
: 另外想問另外一個問題是
: 如果是一般的註冊使用者帳號密碼的表單傳到後端,我知道後端
: 可以用name來接收
: 但是如果是購物車
: 要怎麼樣把使用者 打勾的 羽球拍 籃球
: 都用json傳到後端
: 畢竟不同商店都有不同的產品清單
: 這方面我也不可能去把每一個商店的購物畫面都刻一遍
不需要畫面一個一個刻,
我以前用 Angular 可刻一個空白畫面,
API 取資料後再把資料代入,
其他的前端框架應該也能做到。
從你的文中敘述,
不缺定你是否已有基本的基礎知識,
建議你到
https://github.com/kamranahmedse/developer-roadmap
看看,相信對你會有幫助
----
Sent from BePTT
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.176.95 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1624346296.A.C05.html
※ 編輯: usayankees27 (114.45.176.95 臺灣), 06/22/2021 15:22:32
※ 編輯: usayankees27 (114.45.176.95 臺灣), 06/22/2021 15:39:09
推
06/22 15:58,
2年前
, 1F
06/22 15:58, 1F
推
06/23 01:31,
2年前
, 2F
06/23 01:31, 2F
推
06/24 13:09,
2年前
, 3F
06/24 13:09, 3F
→
06/24 13:09,
2年前
, 4F
06/24 13:09, 4F
→
06/24 13:09,
2年前
, 5F
06/24 13:09, 5F
ACID 的部分跟我畫的 ERD 沒什麼關係,我會提到主要是他的敘述讓我覺得他可能才剛接觸
※ 編輯: usayankees27 (114.44.116.66 臺灣), 06/24/2021 13:57:40
推
06/24 15:51,
2年前
, 6F
06/24 15:51, 6F
→
06/24 15:51,
2年前
, 7F
06/24 15:51, 7F
→
06/24 15:53,
2年前
, 8F
06/24 15:53, 8F
M大的第一個疑問,
ACID 與 資料表設計關係,
是我文中敘述的問題,做了修正,
我個人覺得兩者沒直接關連,
正規化是以減少資料重複,
與避免資料更新異常為目的,
來決定資料如何儲存,
ACID 則是為了資料操作前後資料的正確,
要求資料操作須符合的4個特性。
第二個疑問 ACID 原PO 現階段是否要了解,
我的出發點是原PO 正在做作品,
做到商城資料操作時會有幫助,
M大若有其他想法或認為我的敘述有錯誤,
再請你回覆或另發篇文,感謝。
※ 編輯: usayankees27 (114.44.116.66 臺灣), 06/24/2021 18:42:08
※ 編輯: usayankees27 (114.44.116.66 臺灣), 06/24/2021 19:06:01
討論串 (同標題文章)