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
--
※ 編輯: usayankees27 (114.45.176.95 臺灣), 06/22/2021 15:39:09
謝謝認真回答!
推
我想說 ACID 的特性跟表的設計在這個新手階段不是很正
相關,請問你可以講講如果滿足或不滿足 ACID 的情況下
你的設計會有什麼差異嗎
ACID 的部分跟我畫的 ERD 沒什麼關係,我會提到主要是他的敘述讓我覺得他可能才剛接觸
※ 編輯: usayankees27 (114.44.116.66 臺灣), 06/24/2021 13:57:40所以我問你 了解或不了解 ACID,設計會有什麼差別
我個人是覺得要別人去看一個東西要有它的意義
我認為這階段這不是一定要了解的知識
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:0184
Re: [討論] API沒資料,回200還是404比較好這篇就不以引述的方式回覆了,因為算是對 後續其他人不論在推文中或是回文中的內容 回覆,另外也是針對我自己在前一篇文章中 沒有提到的部分進行說明。 (1) 敘述問題與回答問題64
Re: [請益]高流量網站和資料結構首先很高興看到原PO發問 能夠這樣追逐更深入的技術,先恭喜你,離高手又更近一步了 我寫程式要飯也好一陣子了,分享一下我從聽說大流量很屌,想玩大流量, 到現在可以真正碰觸到大流量一路的心得 在開始之前,先回應原PO的 搶票網站 例子30
Re: [寶寶] 給正餐還是點心?及餐點選擇板友們建議提供油鹽,是正確的建議, 可是這位媽媽好像有幾個信念: 1. 油鹽不進。 2. 營養素都有攝取到,例如海帶裡有碘,就不須再吃碘鹽。 3. 媽媽們不必自學營養知識,讀了營養書也不會成為營養師。27
[請益]新鮮人找資料分析師工作大家好,最近剛要畢業,想請教版上前輩們一些問題 首先介紹自己背景,小弟是112理院學碩 有發過一篇Q1一作paper 在學期間數學相關課程有修過統計/高統/機率/線代等 程式方面只會寫python跟R language(主要拿來作科學分析)16
[請益] 欄位或是變數改名這邊想請問各位前輩系統維護上常常遇到的一個問題 就是程式中的變數或是資料表欄位命名的"變更" 我不確定是不是一開始我的設計的想法就錯了 通常我在設計時,會將使用者的操作"畫面"與系統中的命名盡量保持一致, 討論起來比較有共通的語言,尤其是在一些專有名詞的欄位命名上。15
Re: [請益] 選擇mongoDB或是relational database ??: : jerry大的意思是mongodb的ACID只在document level : 所以如果我需要同時access multiple documents就會有dirty read的問題是吧?? : ※ 編輯: pracinverse (59.115.199.156), 11/02/2016 13:52:40 : → manaup: 作業? 11/02 14:249
[請益]高流量網站和資料結構先自承是非本科的新人 最近看了版上的討論串,覺得自己的確實是 沒有CS基礎的API工程師,以前在學校修過資料結構 但是只有一些很粗糙的觀念 像是hash function因為返回的是index,所以在查找資料上非常快7
[請益] SQL進階能力培養大家好 我是非電資科系畢業,本來想找數據分析有關的職缺,最後錄取一份純寫SQL的工作,公 司算是乙方,主要工作內容是做資料移轉、設計資料庫、維護資料一致性還有效能優化 但我只在學校學過用基本的SQL語法調資料,還有上Leetcode練習五十題左右,爬文發現 什麼備份、優化、權限管理都沒接觸過6
[討論] 陳明通的護航 學術上真的說的過去嗎?這是陳明通4千字聲明稿全文 試著想簡略陳明通的邏輯 就是林、余兩人的研究論文,都是同一場選舉下不同人即為不同學術方向的研究 研究設計方式都採相同學術理論根基基礎來討論,研究設計的問卷兩人使用同樣3
Re: [請益] 選擇mongoDB或是relational database ??通常不會拿 RDBMS 來處理這塊,因為 1) 偶而掉一些資料沒關係,2) 不會用到 transaction,所以 ACID 之類的特性反而對效能有影響。 IoT 資料主要分成兩類,一種是以數字為主的資料 (在 IoT 常見),另外一種是以 文字為主的資料。 文字為主的資料其實就很像是 log,可以考慮丟到 Elasticsearch 裡面翻,所以