MVC學習之路 Part.2 – 資料設計

前言

本篇延續上篇,電商專案商品資料設計,如果無法銜接可先往Part.1快速閱覽後再接續本篇閱讀。

資料設計

這邊可以先用Excel來表示一個商品資料會有什麼東西,並寫下範例資料,建議大家也可以這樣練習,會比較清楚自己想要呈現的目標,如以下。

接下來再根據上表來設計資料庫的資料表,過程中也要去思考欄位的資料類型是什麼,或是允不空值等等細節,例如,建立一筆新的商品資料時,
“商品名稱”在新增時一定要有名字,並且它是個”文字”,
“商品價格”在新增時一定要給價格,並且它是個”數值”,
“商品描述”在新增時不一定要有描述,並且它是一個”文字”
以此類推,你會得到以下結構,

這只是第一步,再來就會發現上圖缺少了資料表正規化的過程,所以開始做正規化的動作,例如,
每個商品都應該要有一個唯一索引值,也就是主鍵(Primary Key),
商品圖片口語化可表示為「一個商品可以有很多張圖片」,所以應該要實作成一對多的樣子,
接著,你會得到以下結構,

再來,這邊很多初學者會疏忽掉,上述這些設計都只有針對前台也就是消費者的角度在看待資料的設計,這邊建議大家可以用不同的視角來規劃,例如以下,

消費者:商品名稱、價格、描述說明、漂漂亮亮的商品圖片。

管理者:除了消費者看得到的東西以外,還需要看到其他資訊,如,商品是否上架、商品是否刪除、建立商品的日期、人員等等資訊。

這樣一來就可以較完整的去描述商品資料,建議可以多多練習,一個完整的商店不會只有商品資料,也可以以這樣的方式去規劃會員、訂單的資料。

下一個範例將會把MVC專案開起來,然後呈現商品列表的網頁頁面😀。

後記

  1. 同一種資料,因為不同人、不同需求,設計出的資料可能都不相同,所以通常都需要一些時間向不同角色蒐集需求才有辦法產出,所以,練習階段大家可以試著站在不同的角色去規劃。
  2. 這邊其實已經用到資料庫設計,且包含「正規化」、「反正規化」的設計技巧,如果稍微有看不懂的地方,建議可以先去尋找關聯式資料庫相關的學習資源。
邱秉澄(Jimmy)
邱秉澄(Jimmy)

於 Build School 擔任 Software Engineer & Student Coach
聯絡方式: jimmychiu@build-school.com