了解數(shù)據(jù)建模之前首先要知道的是什么是數(shù)據(jù)模型。數(shù)據(jù)模型(Data Model)是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供一個抽象的框架。
一、概要:數(shù)據(jù)建模簡介
數(shù)據(jù)基本用于兩種目的:1、操作型記錄的保存2、分析型決策的制定。簡單地說就是操作型系統(tǒng)保存數(shù)據(jù),分析型系統(tǒng)使用數(shù)據(jù);前者反映數(shù)據(jù)的最新狀態(tài),后者反映數(shù)據(jù)一段時間的狀態(tài)變化。操作型系統(tǒng)簡稱為OLTP(On-Line Transaction Processing)聯(lián)機事務處理,分析型系統(tǒng)簡稱為OLAP(On-Line?Analytical Processing)聯(lián)機分析處理。在OLTP場景中,常用的是使用實體關系模型(ER)來存儲,從而在事務處理中解決數(shù)據(jù)的冗余和一致性問題。在OLAP場景中,有多種建模方式有:ER模型、星型模型和多維模型。
數(shù)據(jù)建模是一種用于定義和分析數(shù)據(jù)的要求和其需要的相應支持的信息系統(tǒng)的過程。從需求到實際的數(shù)據(jù)庫,有三種不同的類型。用于信息系統(tǒng)的數(shù)據(jù)模型作為一個概念數(shù)據(jù)模型,本質(zhì)上是一組記錄數(shù)據(jù)要求的最初的規(guī)范技術。數(shù)據(jù)首先用于討論適合企業(yè)的最初要求,然后被轉(zhuǎn)變?yōu)橐粋€邏輯數(shù)據(jù)模型,該模型可以在數(shù)據(jù)庫中的數(shù)據(jù)結構概念模型中實現(xiàn)。一個概念數(shù)據(jù)模型的實現(xiàn)可能需要多個邏輯數(shù)據(jù)模型。數(shù)據(jù)建模中的最后一步是確定邏輯數(shù)據(jù)模型到物理數(shù)據(jù)模型中到對數(shù)據(jù)訪問性能和存儲的具體要求。數(shù)據(jù)建模定義的不只是數(shù)據(jù)元素,也包括它們的結構和它們之間的關系。
1) 概念數(shù)據(jù)模型(Conceptual Data Model)
簡稱概念模型 ,主要用來描述世界的概念化結構。概念數(shù)據(jù)模型是最終用戶對數(shù)據(jù)存儲的看法,反映了最終用戶綜合性的信息需求,它以數(shù)據(jù)類的方式描述企業(yè)級的數(shù)據(jù)需求,數(shù)據(jù)類代表了在業(yè)務環(huán)境中自然聚集成的幾個主要類別數(shù)據(jù)。概念數(shù)據(jù)模型的目標是統(tǒng)一業(yè)務概念,作為業(yè)務人員和技術人員之間溝通的橋梁,確定不同實體之間的最高層次的關系。
2) 邏輯數(shù)據(jù)模型(Logical Data Model)
簡稱數(shù)據(jù)模型,這是用戶從數(shù)據(jù)庫所看到的模型,是具體的DBMS所支持的數(shù)據(jù)模型,如網(wǎng)狀數(shù)據(jù)模型(Network Data Model)、 層次數(shù)據(jù)模型 (Hierarchical Data Model)等等。 此模型既要面向用戶,又要面向系統(tǒng) ,主要用于 數(shù)據(jù)庫管理系統(tǒng) (DBMS)的實現(xiàn)。邏輯數(shù)據(jù)模型的內(nèi)容包括所有的實體和關系,確定每個實體的屬性,定義每個實體的主鍵,指定實體的外鍵,需要進行范式化處理。邏輯數(shù)據(jù)模型的目標是盡可能詳細的描述數(shù)據(jù),但并不考慮數(shù)據(jù)在物理上如何來實現(xiàn)。邏輯數(shù)據(jù)建模不僅會影響數(shù)據(jù)庫設計的方向,還間接影響最終數(shù)據(jù)庫的性能和管理。
3) 物理數(shù)據(jù)模型(Physical Data Model)
簡稱物理模型 ,是面向計算機物理表示的模型,描述了數(shù)據(jù)在儲存介質(zhì)上的組織結構,它不但與具體的DBMS 有關,而且還與操作系統(tǒng)和硬件有關。每一種邏輯數(shù)據(jù)模型在實現(xiàn)時都有起對應的物理數(shù)據(jù)模型。DBMS為了保證其獨立性與可移植性,大部分物理數(shù)據(jù)模型的實 現(xiàn)工作又系統(tǒng)自動完成,而設計者只設計索引、聚集等特殊結構。物理結構圖顯示物理數(shù)據(jù)模型是在邏輯數(shù)據(jù)模型的基礎上,考慮各種具體的技術實現(xiàn)因素,進行數(shù)據(jù)庫體系結構設計,真正實現(xiàn)數(shù)據(jù)在數(shù)據(jù)庫中的存放。
二、方法:數(shù)據(jù)建模常用模型
1)D-R模型
D-R模型(Entity-relationship model)實體關系模型,E-R模型的構成成分是實體集、屬性和聯(lián)系集。其表示方法如下:(1) 實體集用矩形框表示,矩形框內(nèi)寫上實體名。(2) 實體的屬性用橢圓框表示,框內(nèi)寫上屬性名,并用無向邊與其實體集相連。(3) 實體間的聯(lián)系用菱形框表示,聯(lián)系以適當?shù)暮x命名,名字寫在菱形框中,用無向連線將參加聯(lián)系的實體矩形框分別與菱形框相連,并在連線上標明聯(lián)系的類型,即1—1、1—N或M—N。如圖1-1所示。
2)多維模型
它是維度模型的另一種實現(xiàn)。當數(shù)據(jù)被加載到OLAP多維數(shù)據(jù)庫時,對這些數(shù)據(jù)的存儲的索引,采用了為維度數(shù)據(jù)涉及的格式和技術。性能聚集或預計算匯總表通常由多維數(shù)據(jù)庫引擎建立并管理。由于采用預計算、索引策略和其他優(yōu)化方法,多維數(shù)據(jù)庫可實現(xiàn)高性能查詢。這種模型可以以星型模式,雪花模式,或事實星座模式的形式存在。
3)星型模型
它是維度模型在關系型數(shù)據(jù)庫上的一種實現(xiàn)。它是多維的數(shù)據(jù)關系,它由事實表(Fact Table)和維表(Dimension Table)組成。每個維表中都會有一個維作為主鍵,所有這些維的主鍵結合成事實表的主鍵。事實表的非主鍵屬性稱為事實,它們一般都是數(shù)值或其他可以進行計算的數(shù)據(jù)。該模型表示每個業(yè)務過程包含事實表,事實表存儲事件的數(shù)值化度量,圍繞事實表的多個維度表,維度表包含事件發(fā)生時實際存在的文本環(huán)境。這種類似于星狀的結構通常稱為'星型連接'。其重點關注用戶如何更快速地完成需求分析,同時具有較好的大規(guī)模復雜查詢的響應性能。如圖1-2所示。
4)雪花模型
它是當有一個或多個維表沒有直接連接到事實表上,而是通過其他維表連接到事實表上時,其圖解就像多個雪花連接在一起,故稱雪花模型。雪花模型是對星型模型的擴展。如圖1-3所示。
三、方案:數(shù)據(jù)建模六步驟
數(shù)據(jù)建模,通俗地說,就是通過建立數(shù)據(jù)科學模型的手段解決現(xiàn)實問題的過程。數(shù)據(jù)建模也可以稱為數(shù)據(jù)科學項目的過程,并且這個過程是周期性循環(huán)的。具體可分為六大步驟,如圖2-1所示。
1) 收集業(yè)務需求與數(shù)據(jù)實現(xiàn):在開始維度建模工作之前,需要理解業(yè)務需求,以及作為底層源數(shù)據(jù)的實際情況。通過與業(yè)務方溝通交流、查看現(xiàn)有報表等來發(fā)現(xiàn)需求,用于理解他們的基于關鍵性能指標、競爭性商業(yè)問題、決策制定過程、支持分析需求的目標。同時,數(shù)據(jù)實際情況可通過與數(shù)據(jù)庫系統(tǒng)專家交流,了解訪問數(shù)據(jù)可行性等。
2) 選擇業(yè)務過程:業(yè)務過程是組織完成的操作型活動。業(yè)務過程時間建立或獲取性能度量,并轉(zhuǎn)換為事實表中的事實。多數(shù)事實表關注某一業(yè)務過程的結果。過程的選擇非常重要的,因為過程定義了特定的設計目標以及對粒度、維度、事實的定義。
3) 聲明粒度:聲明粒度是維度設計的重要步驟。粒度用于確定某一事實表中的行表示什么。在選擇維度或事實前必須聲明粒度,因為每個候選維度或事實必須與定義的粒度保持一致。在從給定的業(yè)務過程獲取數(shù)據(jù)時,原子粒度是最低級別的粒度。強烈建議從關注原子級別粒度數(shù)據(jù)開始設計,因為原子粒度數(shù)據(jù)能夠承受無法預期的用戶查詢。
4) 確認維度:維度提供圍繞某一業(yè)務過程事件所涉及的'誰、什么、何處、何時、為什么、如何'等背景。維度表包含分析應用所需要的用于過濾及分類事實的描述性屬性。牢牢掌握事實表的粒度,就能夠?qū)⑺锌赡艽嬖诘木S度區(qū)分開來。
5) 確認事實:事實,涉及來自業(yè)務過程事件的度量,基本上都是以數(shù)據(jù)值表示。一個事實表行與按照事實表粒度描述的度量事件之間存在一對一關系,因此事實表對應一個物理可觀察的事件。在事實表內(nèi),所有事實只允許與聲明的粒度保持一致。文章來源:http://www.zghlxwxcb.cn/news/detail-453678.html
6) 部署方式:選擇一種維度模型的落地方式。既可以選擇星型模型,部署在關系數(shù)據(jù)庫上,通過事實表及通過主外鍵關聯(lián)的維度表;也可以選擇多維模型,落地于多維數(shù)據(jù)庫中。文章來源地址http://www.zghlxwxcb.cn/news/detail-453678.html
到了這里,關于數(shù)據(jù)建模方法論及實施步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!