Re: [請益] 商城的訂單資料庫設計

作者: usayankees27 (qwer123)   2021-06-22 15:18:14
我並不是工程師,
目前也在自學中,
針對你的問題提供些答案與解決方向,
希望能幫助到原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
看看,相信對你會有幫助
作者: ntpuisbest (阿龍)   2021-06-22 15:58:00
謝謝認真回答!
作者: taipoo (要成功要積極)   2021-06-23 01:31:00
作者: MoonCode (MoonCode)   2021-06-24 13:09:00
我想說 ACID 的特性跟表的設計在這個新手階段不是很正相關,請問你可以講講如果滿足或不滿足 ACID 的情況下你的設計會有什麼差異嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com