何謂資料建模?
資料建模是定義資料如何結構化、連線和儲存在系統中的程序。
default
{}
default
{}
primary
default
{}
secondary
資料建模簡介
資料建模的主要目標是整理資訊,以便在整個業務中有信心且一致地使用這些資訊。其定義了哪些資料是重要的,例如客戶、產品或交易,以及這些資訊如何相互關聯。
透過建立共用結構和一般定義,資料建模可協助確保報表、儀表板和分析正確、一致且符合情境,以實現對業務的共同理解。
資料建模隨著時間持續演進,以滿足不斷變化的業務需求。早期系統的設計主要是支援基本記錄作業。隨著企業改為採用雲端平台及資料導向的決策,資料建模已不再著重技術細節,而是更重視資料的清晰度、可擴展性和可信度。
資料建模和資料庫設計的比較
資料建模著重於資料的內容,以及概念如何與業務關聯,以協助建立對資訊的共同理解。相對地,資料庫設計著重於如何在特定系統中實際建置模型化資料,包括表格、索引和效能詳細資訊。
資料建模和資料架構的比較
資料架構考慮的是整個組織內各系統間的資料流程。資料模型則是廣大資料架構中的關鍵基石,聚焦於個別資料元素的結構和意義及其關係。
資料建模和資料控管的比較
資料建模會定義資料的內容和結構化的方式,而資料控管則定義應如何管理資料。換句話說,建模是塑造資料,而控管是制定規則以負責任地使用資料。
資料建模和資料整合的比較
資料整合是結合不同系統的資料以便一併使用的程序。資料建模是建立對系統間共用資料的共同理解,使資料整合更輕鬆容易。
資料建模為何重要?
透過定義資料代表的意義、系統流程以及如何支援業務規則和需求,資料建模在協助組織更有效地使用資料中扮演關鍵角色。如此一來,資料建模就如同設計人員、開發人員和分析師的藍圖,確保所建構的系統能提供預期的功能和準確的結果。其他效益包括:
- 清楚的系統藍圖:資料模型會記錄資料在開發開始前的預期結構和行為,減少模糊性和猜測作業。
- 減少錯誤並降低重工率:透過預先定義資料規則和關係,可及早發現問題,而非之後以更高的成本修正問題。
- 共用定義和度量指標:從商務使用者到技術團隊,每一個人皆從對重要術語和度量指標有相同理解。
- 更可靠的報表製作和分析:完善建模的資料支援一致的計算和 KPI,以及可靠的儀表板。
- 可信的度量指標:一致的公式、階層、單位和貨幣,確保決策者能夠仰賴這些數字。
- 更輕鬆的系統維護:清楚記錄的資料結構可讓系統較容易更新、疑難排解和隨時間擴展。
資料建模將原始資料轉換為有意義且可據以行動的資訊,不僅支援日常作業,還能促進分析作業,進而推動更睿智且快速的決策。
資料模型的類型
根據資料儲存、分析和使用的方式,不同類型的資料模型會用於不同用途。幾個常見的模型類型包括:
關聯式資料模型
關聯式資料模型會將資料整理成資料表,資料表由資料列和資料行組成,以鍵值相互連結。每個表格代表一個業務概念,例如客戶或訂單。此類型的模型廣泛用於作業系統和傳統資料庫,因為其支援準確性、一致性和日常的商業交易。
維度資料模型
維度資料模型專門用於報表製作和分析。其將資料整理成事實(例如銷售或收入)和維度(例如時間、產品或地點)。此結構可讓商務使用者更容易了解資料、建立報表並快速分析趨勢。
半結構化資料模型
半結構化資料模型支援未遵循固定表格結構的資料。資料的格式和內容可能不同,通常儲存為 JSON 或 XML 等文件或檔案。有大量多元或快速變動的資料時,通常使用此方法,可提供比傳統模型更大的彈性。
資料建模的層級
資料建模通常會分階段完成,每個層級都會增加更多詳細資料和精確度。這些層級能幫助團隊以清楚且有條不紊的方式,從業務構想出發實現可運作的系統。
概念資料建模
實質意義
概念資料建模提供對業務重視的資料,以及主要概念之間的相互關係的高層級檢視。其並非探討技術詳細資料,而是著重於整體結構和內容,讓利益關係方更容易了解和商定何為重要資料。
回答的內容
「企業需要哪些資料,關鍵概念之間的相互關係如何?」
邏輯資料建模
實質意義
邏輯資料建模會將更多結構和詳細資料新增至概念模型。其可更精確定義實體、屬性和關係,同時保持獨立於任何特定技術或資料庫。此層次可協助將業務需求轉換為清楚的資料規則。
回答的內容
「應如何結構化資料以支援業務規則和需求?」
實體資料建模
實質意義
實體資料建模表示資料在特定系統或資料庫中儲存和建置的方式。其中包括在硬體和軟體中建立實際資料庫結構的技術詳細資料,例如表格、資料行、資料類型和效能考量,以支援要運用的應用程式。
回答的內容
「要如何在實際系統中建置資料?」
這些層級共同作用,確保能明確掌握企業意圖,據此準確設計並有效建構實用資料。
資料建模程序
資料建模本質上是一個由上而下的流程,可協助團隊從業務需求著手,將其轉換為有條理的可用資料。雖然形式層級可能不同,但核心步驟通常相同:
- 了解業務目標:識別組織嘗試達成的目標,以及資料將如何支援組織實現這些目標。
- 識別關鍵資料概念:決定主要業務實體及其關聯方式。實體範例包含客戶、銷售和產品。
- 定義業務規則:說明控管資料行為方式的規則、定義和限制條件。
- 建立概念模型:針對業務和技術團隊可輕鬆了解的資料記錄高階檢視。
- 發展邏輯模型:不專注於技術層面,透過定義屬性、關係和資料規則來新增結構和詳細資料。
- 設計實體模型:將邏輯模型翻譯為資料庫就緒設計,包含表格、欄位和資料類型。
- 審核並驗證:與利益關係人確認模型,確保其符合業務需求並可支援報表製作和分析。
- 維護及改善:隨著業務需求、系統和資料使用演進,更新模型。
遵循此程序有助於確保資料定義良好,一次即可正確建立系統,且隨著組織發展能獲得可信賴的洞察。
資料建模技術和圖表
資料建模運用一些常見的技術和視覺工具,讓資料更容易理解、設計和溝通,協助業務和技術團隊在建立或變更系統前協調一致。
實體關係圖(ERD)
最常見的技術之一是使用 ERD,以視覺方式呈現關鍵資料實體以及實體間如何相互關聯。ERD 可協助團隊對資料的整體方向一目了然,更容易就範圍達成共識、找出遺失的資料或重疊,並避免誤解。
由於 ERD 使用簡單的視覺效果和商業術語,因此對於調整專案早期的業務和技術利益關係方特別實用。
關係和聯結
關係和聯結說明不同資料集如何相互連結和搭配使用。關係會定義資料如何與其他資料相關,例如客戶與訂單的連結方式。
聯結是指當資料合併進行報告或分析時,如何套用這些關係。清楚定義關係可確保資料正確連線,避免雙重計數、缺少記錄或結果不一致等問題。
正規化
正規化是用來以邏輯且一致的方式組織資料,使其保持準確且容易隨著時間管理。核心概念是將每個資訊儲存在單一適當位置,而不是重複儲存到多個位置。
例如,正規化會將客戶和訂單分隔為自己的結構,並將其連結在一起,而非在每個訂單記錄中儲存客戶的名稱和地址。若客戶資訊有所變更,則僅需更新一次。
這些技術有助於確保資料結構合理、緊密相連並準備好支援準確的系統、報表製作和決策。
資料建模範例
對任何企業應用程式來說,資料建模都是設計系統和定義支援所需基礎架構的必要早期步驟。這包含交易系統、資料處理應用程式套件,或其他收集、建立或使用資料的系統。
以現實情況為例,試想一家線上零售業務,希望追蹤客戶及其訂單。需要回答下列問題:
- 誰是我們的客戶?
- 他們下哪些訂單?
- 各訂單包含哪些產品?
若要回答這些問題,企業必須識別核心實體:
- 客戶
- 訂單
- 產品
定義這些實體之間的關係:
- 「客戶」可提出許多「訂單」
- 「訂單」屬於一個「客戶」
- 「訂單」可包含許多「產品」
- 多個「訂單」中可能出現「產品」
然後將此資料整理到表格:
-
客戶
- 客戶 ID
- 姓名
- 電子郵件
- 地址
-
訂單
- 訂單 ID
- 訂單日期
- 客戶 ID
-
產品
- 產品 ID
- 產品名稱
- 價格
此模型清楚顯示主要企業物件(客戶、訂單和產品)、物件連接方式(客戶下單、訂單包含產品),以及如何以結構化方式儲存資料。
使用資料建模的時機?
在任何需要清楚了解、共用或更改資料的時候,資料建模都很有幫助。以下是建立或更新資料模型能即時提升價值的常見情況。
建立新系統
資料建模可協助定義系統需要支援的資料,以及在開發開始前應如何結構化、降低風險和重工率。
移轉至新平台
將資料移至新系統或雲端時,資料建模可協助說明目前存在的資料、如何對應至新環境,以及可改善或淘汰的項目。
建立或改善報表製作與分析
資料模型定義一致的計量、維度和關係,讓儀表板和報表更加可靠且更容易信任。
合併來自多個來源的資料
合併不同系統的資料時,資料建模可協助調節結構、命名和意義上的差異,以便正確使用資料。
清理資料定義
當團隊有衝突的定義或指標時,資料建模非常實用。這能建立符合業務語言和邏輯的共用參考。
修正經常性資料品質問題
若出現錯誤、重複或不一致持續出現,資料建模有助於解決根本原因,而非僅解決徵兆。
簡而言之,當資料清晰度、一致性和長期可用性優先時,資料建模是最有價值的。
常見的資料建模挑戰
即使流程清楚且工具正確,組織在建立或維護資料模型時仍經常遇到障礙。預先意識到這些挑戰,可以更容易避免昂貴的錯誤,並讓模型在經過一段時間後仍能保持精確。
不清楚或不斷更改的定義
其中一個最常見的問題是對關鍵詞彙的含義有分歧,例如「客戶」、「訂單」或「有效使用者」。若沒有統整一致的定義,將導致模型不一致或稍後需要再重新處理。在開始建模之前,具體、共同的商業語言是不可或缺的。
度量指標不一致或衝突
不同團隊可能會以不同方式計算 KPI,導致儀表板資訊無法配合,並根據不相符的數據制定決策。資料建模可協助標準化這些計算,但前提是與利益關係方就邏輯方面達成共識。
過於複雜的模型
有時模型成長過大或複雜,導致模型難以理解、維護或建置。不必要的複雜性會降低開發速度並令使用者混淆。好的模型聚焦於必要項目,並盡可能保持簡單。
模型隨時間漂移
隨著系統演進和新需求出現,資料模型可能會不再與現實同步,此情況也稱為「漂移」。這會導致不正確、非預期錯誤和過時的紀錄文件。定期審核和更新,可確保模型符合業務的實際運作需求。
缺少或缺乏記錄的關係
若未清楚定義資料實體間的關係,模型可能不會支援正確的報表製作或系統行為。缺少連線可能造成重複記錄、不正確的聯結或中斷的分析。
透過清楚的溝通、簡單的設計和定期審查,及早解決這些挑戰,有助於確保資料模型保持準確、實用且符合業務目標。
資料建模的最佳實務
強力的資料建模仰賴清楚的標準、持續可行的流程以及共同的理解。下列檢查清單強調最佳實務,有助於保持模型的準確性、可維護性和實用性。
1. 使用清楚且一致的命名規則:
- 套用反映業務意義的簡易、敘述性名稱
- 使用一致的命名模式(例如,使用單數名詞「客戶」)
- 調整各系統使用的名稱以減少混淆
2. 記錄所有重要事項:
- 擷取實體、屬性、度量指標和關係的定義
- 記錄假設、業務規則和限制
- 將紀錄文件儲存在共用、可存取的位置
3. 提早驗證並經常進行驗證:
- 與技術團隊驗證關係和規則的可行性
- 測試範例情境,確保模型支援實際報表製作和營運需求
- 檢查重複、缺少實體或關係不明確
4. 套用版本控制:
- 如同追蹤程式碼一樣追蹤模型的變更
- 維護清楚的版本歷史記錄,包含更改事項和原因的註記
- 確保團隊知道哪個版本是「真實資料源」
5. 盡可能重複使用模式:
- 借鑒先前專案中經過實證的設計,減少設計時間和錯誤
- 套用可重複的模型模式以維護一致性
- 相似結構已存在時重複使用標準實體
6. 保持模型單純:
- 限制複雜度:除非能帶來真正的價值,否則請勿新增表格、屬性或規則
- 避免深度巢狀關係,造成建置或報表製作困難
- 以邏輯方式分組相關概念,因此模型為直覺性讀取
7. 規劃可擴展性和變化:
- 考量未來資料量、附加屬性和新的使用案例
- 打造有彈性的模型,使模型無須經過重大重新設計即可持續發展
- 定期檢查和改善模型,避免模型隨著系統和企業流程改變而產生漂移
這些最佳實務共同創造了穩定、易理解且具彈性的模型,支援可靠的資料、減少重工以及更強大的決策制定。
常見問題
資料建模的三個層級如下:
- 概念性資料建模:商務概念及其相互關係的高層級檢視。其回答了問題:「企業需要哪些資料?」
- 邏輯資料建模:更多關於結構、屬性和規則的詳細資料 (不侷限於技術層面)。其回答了問題:「如何將資料結構化?」
- 實體資料建模:特定資料庫或系統中的技術建置。其回答了問題:「如何儲存和存取資料?」