iT邦幫忙

1

資料庫設計 (二) - 收集需求

  • 分享至 

  • xImage
  •  

找出需要儲存什麼,以及為何要儲存?

資料庫設計的下一個核心步驟,是收集需求。這個階段的目的是明確回答一個問題:

這個資料庫「需要儲存什麼」?又「為什麼要儲存這些資料」?

系統本身無法告訴你全部的需求

有些需求可以從現有的系統中推導,例如欄位結構、紀錄格式等等。但很多時候,系統本身無法涵蓋所有背景與業務邏輯,這時你需要做的就是「與人溝通」。

找對人談話:誰能告訴你需要儲存什麼?

誰能提供資料庫需求的資訊,取決於這個資料庫是為誰設計的:

  • 個人專案 : 你自己就是需求提供者
  • 商業系統 : 店長、業主、產品經理、業務代表或實際使用系統的員工
  • 團隊開發 : 其他工程師、分析師、PM

這些人不一定能告訴你具體欄位名稱或資料型別,但他們能提供關鍵資訊,哪些業務資訊重要?哪些是不必要的?哪些可能是未來的擴充需求?

不需要「儲存一切」,找出重點

常見的設計誤區是試圖讓資料庫涵蓋所有內容。實際上,確定哪些資料是「需要存的」,哪些是「可以省略的」,才是設計關鍵。
例如:

  • 一間商店可能只關心產品、客戶與訂單,並不需要紀錄每一次促銷活動的細節。
  • 一間學校可能只關心教師、學生與課程,出缺席與假單可能會延後納入。

這些都需要經過訪談與確認,不能自己猜。

除了與人交談,也可以從以下方式獲取需求:

  • 觀察現有系統或報表
  • 參考目前的 Excel 表格、紙本表單
  • 檢視已存在的數據或後台操作流程

將這些需求清楚記錄下來,不論是用筆記、表格還是畫圖,對後續設計都會很有幫助。

別忘了:是否需要「資料變動歷史」?

某些系統會要求能夠追蹤資料的變更歷史(Audit Trail),常見於需要審計的系統中,例如:

  • 哪一筆資料被誰修改了?
  • 什麼時候修改的?
  • 是透過什麼工具修改的?(使用者操作、腳本、API…)

若系統有這種需求,就必須在資料表中額外設計欄位,例如 updated_at、updated_by、change_source 等,或採用版本紀錄表來儲存異動記錄。

總結

收集需求的本質,是釐清:

  • 需要儲存哪些資料?
  • 哪些資料不需要儲存?
  • 是否需要追蹤資料異動?

這些答案,不只來自系統,更多來自人與業務背景。找到對的人、問對的問題、留下可追溯的紀錄,是成功的資料庫設計流程中不可或缺的一步。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言