第2章數據倉庫及其設計_第1頁
第2章數據倉庫及其設計_第2頁
第2章數據倉庫及其設計_第3頁
第2章數據倉庫及其設計_第4頁
第2章數據倉庫及其設計_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第2章章 數據倉庫設計數據倉庫設計 2.1 數據倉庫設計概述數據倉庫設計概述數據倉庫設計是建立一個面向企業(yè)決策者的分析環(huán)數據倉庫設計是建立一個面向企業(yè)決策者的分析環(huán)境或系統(tǒng)。境或系統(tǒng)。2.1.1 2.1.1 數據倉庫設計原則數據倉庫設計原則 以業(yè)務和需求為中心以業(yè)務和需求為中心:是指圍繞業(yè)務方向性需求、業(yè):是指圍繞業(yè)務方向性需求、業(yè)務問題等,確定系統(tǒng)范圍和總體框架。務問題等,確定系統(tǒng)范圍和總體框架。 以數據來驅動以數據來驅動: 是指其所有數據均建立在已有數據源是指其所有數據均建立在已有數據源基礎上,從已存在于操作型環(huán)境中的數據出發(fā)進行數基礎上,從已存在于操作型環(huán)境中的數據出發(fā)進行數據倉庫設計

2、。據倉庫設計。2.1.2 2.1.2 數據倉庫構建模式數據倉庫構建模式1. 先整體再局部的構建模式:先整體再局部的構建模式:W.H.Inmon模式模式優(yōu)點:優(yōu)點:數據規(guī)范化程度高,數據規(guī)范化程度高,最小化數據冗余與不一致最小化數據冗余與不一致性;便于全局數據的分析性;便于全局數據的分析和挖掘。和挖掘。缺點:缺點:建設周期長、見效慢;建設周期長、見效慢;風險程度相對大。風險程度相對大。2. 先局部再整體的構建模式:先局部再整體的構建模式:Ralph Kimball 模式模式優(yōu)點:優(yōu)點:投資少、見效快;在投資少、見效快;在設計上相對靈活;易于實設計上相對靈活;易于實現。現。缺點:缺點:會有一定級別

3、的冗余會有一定級別的冗余和不一致性。和不一致性。2.1.3 2.1.3 數據倉庫設計步驟數據倉庫設計步驟(1 1)數據倉庫的規(guī)劃和需求分析。)數據倉庫的規(guī)劃和需求分析。(2 2)數據倉庫的建模。)數據倉庫的建模。(3 3)數據倉庫物理模型設計。)數據倉庫物理模型設計。(4 4)數據倉庫的部署。)數據倉庫的部署。(5 5)數據倉庫的維護。)數據倉庫的維護。2.2 數據倉庫規(guī)劃和需求分析數據倉庫規(guī)劃和需求分析2.2.1 2.2.1 數據倉庫的規(guī)劃數據倉庫的規(guī)劃數據倉庫的策略規(guī)劃包括:數據倉庫的策略規(guī)劃包括: 明確用戶的戰(zhàn)略遠景、業(yè)務目標。明確用戶的戰(zhàn)略遠景、業(yè)務目標。 確定建設數據倉庫的目的和目標

4、。確定建設數據倉庫的目的和目標。 定義清楚數據倉庫的范圍、優(yōu)先順序、主題和針對的業(yè)務。定義清楚數據倉庫的范圍、優(yōu)先順序、主題和針對的業(yè)務。 定義衡量數據倉庫成功的要素。定義衡量數據倉庫成功的要素。 定義精簡的體系結構、使用技術、配置、容量要求等。定義精簡的體系結構、使用技術、配置、容量要求等。 定義操作數據和外部數據源。定義操作數據和外部數據源。 確定建設所需要的工具。確定建設所需要的工具。 概要性地定義數據獲取和質量控制的策略。概要性地定義數據獲取和質量控制的策略。 數據倉庫管理及安全。數據倉庫管理及安全。2.2.2 2.2.2 數據倉庫的需求分析數據倉庫的需求分析 主題分析主題分析 數據分

5、析數據分析 環(huán)境要求分析環(huán)境要求分析2.3 數據倉庫的建模數據倉庫的建模2.3.1 2.3.1 多維數據模型及相關概念多維數據模型及相關概念多維數據模型將數據看作數據立方體形式,滿足用戶多維數據模型將數據看作數據立方體形式,滿足用戶從多角度多層次進行數據查詢和分析的需要而建立起來的從多角度多層次進行數據查詢和分析的需要而建立起來的基于事實和維的數據庫模型?;谑聦嵑途S的數據庫模型。其數據組織采用多維結構文件進行數據存儲,并有索其數據組織采用多維結構文件進行數據存儲,并有索引及相應的元數據管理文件與數據相對應。引及相應的元數據管理文件與數據相對應。 1. 粒度(粒度(Granularity)粒度

6、粒度是指數據倉庫中數據單元的詳細程度和級別,確定是指數據倉庫中數據單元的詳細程度和級別,確定數據倉庫的粒度是設計數據倉庫的一個最重要方面。數據倉庫的粒度是設計數據倉庫的一個最重要方面。數據越詳細,粒度越小級別就越低;數據綜合度越高,數據越詳細,粒度越小級別就越低;數據綜合度越高,粒度越大級別就越高粒度越大級別就越高。例如,地址數據中。例如,地址數據中“北京市北京市”比比“北北京市海淀區(qū)京市海淀區(qū)”的粒度小。的粒度小。在傳統(tǒng)的操作型數據庫系統(tǒng)中,對數據處理和操作都是在傳統(tǒng)的操作型數據庫系統(tǒng)中,對數據處理和操作都是在最低級的粒度上進行的在最低級的粒度上進行的。但是在數據倉庫環(huán)境中應用的主。但是在數

7、據倉庫環(huán)境中應用的主要是分析型處理,一般需要將數據劃分為詳細數據、輕度總要是分析型處理,一般需要將數據劃分為詳細數據、輕度總結、高度總結三級或更多級粒度。結、高度總結三級或更多級粒度。2. 維度(維度(Dimension)維度維度(簡稱為維)是指人們觀察事物的特定的角度,概(簡稱為維)是指人們觀察事物的特定的角度,概念上類似于關系表的屬性。念上類似于關系表的屬性。例如企業(yè)常常關心產品銷售數據隨著時間推移而變化的例如企業(yè)常常關心產品銷售數據隨著時間推移而變化的情況,這是從時間的角度來觀察產品的銷售,即情況,這是從時間的角度來觀察產品的銷售,即時間維時間維;企業(yè)也常常關心本企業(yè)的產品在不同地區(qū)的銷

8、售分布情企業(yè)也常常關心本企業(yè)的產品在不同地區(qū)的銷售分布情況,這時是從地理分布的角度來觀察產品的銷售,即況,這時是從地理分布的角度來觀察產品的銷售,即地區(qū)維地區(qū)維。3. 維屬性和維成員維屬性和維成員一個維是通過一組屬性來描述的,如時間維包含年份、一個維是通過一組屬性來描述的,如時間維包含年份、季度、月份和日期等屬性,這里的年份、季度等稱為時間季度、月份和日期等屬性,這里的年份、季度等稱為時間維的維的維屬性維屬性。維的一個取值稱為該維的一個維的一個取值稱為該維的一個維成員維成員,如果一個維是,如果一個維是多層次的,那么該維的維成員是在不同維層次的取值組合。多層次的,那么該維的維成員是在不同維層次的

9、取值組合。例如,一個時間維具有年份、季度、月份、日期四個層次,例如,一個時間維具有年份、季度、月份、日期四個層次,分別在四個層次各取一個值,就得到時間維的一個維成員,分別在四個層次各取一個值,就得到時間維的一個維成員,即某年某季某月某日。即某年某季某月某日。4. 維層次維層次同一維度可以存在細節(jié)程度不同的各個值,可以將粒度同一維度可以存在細節(jié)程度不同的各個值,可以將粒度大的值映射到粒度小的值,這樣構成維層次(或維層次結構)大的值映射到粒度小的值,這樣構成維層次(或維層次結構)或概念分層,即將低層概念映射到更一般的高層概念,概念或概念分層,即將低層概念映射到更一般的高層概念,概念分層允許在各種抽

10、象級審查和處理數據。分層允許在各種抽象級審查和處理數據。 例如對于地點維,有例如對于地點維,有“杭州杭州浙江浙江中國中國”的維層次。的維層次。又例如時間維,可以從年、季度、月份、日期來描述,那又例如時間維,可以從年、季度、月份、日期來描述,那么么“年份年份季度季度月份月份日期日期”就是維層次。就是維層次。5. 度量(度量(Measure)或事實()或事實(Fact)度量是數據倉庫中的信息單元,即多維空間中的一度量是數據倉庫中的信息單元,即多維空間中的一個單元,用以存放數據,也稱為事實(個單元,用以存放數據,也稱為事實(FactFact)。)。通常是數值型數據并具有可加性。例如:通常是數值型數據

11、并具有可加性。例如:(日期,商品,地區(qū),銷售量)(日期,商品,地區(qū),銷售量)其中,銷售量就是一個度量。其中,銷售量就是一個度量。 2.3.2 2.3.2 多維數據模型的實現多維數據模型的實現多維數據模型實現方式:多維數據模型實現方式: 關系數據庫(關系數據庫(RDBRDB) 多維數據庫(多維數據庫(MDDBMDDB) 兩者相結合(兩者相結合(HDBHDB)1. 關系數據庫關系數據庫在基于關系數據庫的數據倉庫中有兩類表,一類是維在基于關系數據庫的數據倉庫中有兩類表,一類是維表,對每個維至少使用一個表存放維的層次、成員等維的表,對每個維至少使用一個表存放維的層次、成員等維的描述信息;另一類是事實表

12、,用來存放維關鍵字和度量等描述信息;另一類是事實表,用來存放維關鍵字和度量等信息。信息。維表和事實表通過主關鍵字(主鍵)和外關鍵字(外維表和事實表通過主關鍵字(主鍵)和外關鍵字(外鍵)聯系在一起。鍵)聯系在一起。多維數據立方體各個坐標軸上的刻度以及立方體各個多維數據立方體各個坐標軸上的刻度以及立方體各個交點的取值都被記錄下來,因而數據立方體的全部信息就交點的取值都被記錄下來,因而數據立方體的全部信息就都被記錄了下來。都被記錄了下來。例如,下表是一個關系表的數據組織形式,其中包含例如,下表是一個關系表的數據組織形式,其中包含按產品和地區(qū)兩項分類統(tǒng)計的銷售量。按產品和地區(qū)兩項分類統(tǒng)計的銷售量。產品

13、產品地區(qū)地區(qū)銷售量銷售量電視機電視機華北華北1010電視機電視機華東華東2020電視機電視機華中華中3030電視機電視機華南華南4040電冰箱電冰箱華北華北4040電冰箱電冰箱華東華東3030電冰箱電冰箱華中華中2020電冰箱電冰箱華南華南1010手機手機華北華北5050手機手機華東華東6060手機手機華中華中7070手機手機華南華南80802. 多維數據庫多維數據庫多維數據庫也是一種數據庫,可以將數據加載、存儲多維數據庫也是一種數據庫,可以將數據加載、存儲到此數據庫中,或從中查詢數據。但其數據是存放在大量到此數據庫中,或從中查詢數據。但其數據是存放在大量的多維數組中,而不是關系表中。的多維數

14、組中,而不是關系表中。例如例如ExcelExcel便是如此。便是如此。例如,上一個表采用多維數據庫的數據組織形式如下表所示。例如,上一個表采用多維數據庫的數據組織形式如下表所示。華北華北華東華東華中華中華南華南電視機電視機1010202030304040電冰箱電冰箱4040303020201010手機手機5050606070708080產品產品地區(qū)地區(qū)銷售量銷售量電視機電視機華北華北1010電視機電視機華東華東2020電視機電視機華中華中3030電視機電視機華南華南4040電冰箱電冰箱華北華北4040電冰箱電冰箱華東華東3030電冰箱電冰箱華中華中2020電冰箱電冰箱華南華南1010手機手機華

15、北華北5050手機手機華東華東6060手機手機華中華中7070手機手機華南華南8080在關系數據庫中,在關系數據庫中,“多對多多對多”的關系總是轉化成多個的關系總是轉化成多個“一對多一對多”的關系,有利于數據的一致性和規(guī)范化的關系,有利于數據的一致性和規(guī)范化,這符合,這符合事務處理系統(tǒng)的需求。事務處理系統(tǒng)的需求。多維數據庫的優(yōu)勢不僅在于多維數據庫的優(yōu)勢不僅在于多維概念表達清晰多維概念表達清晰,占用存,占用存儲少,更重要的是它有著儲少,更重要的是它有著高速的綜合速度高速的綜合速度。在多維數據庫中,數據可以直接按行或列累加,并且由在多維數據庫中,數據可以直接按行或列累加,并且由于多維數據庫中不像關

16、系表那樣出現大量的冗余信息,因此于多維數據庫中不像關系表那樣出現大量的冗余信息,因此其統(tǒng)計速度遠遠超過關系數據庫,數據庫記錄數越多,其效其統(tǒng)計速度遠遠超過關系數據庫,數據庫記錄數越多,其效果越明顯。果越明顯。2.3.3 2.3.3 數據倉庫建模的主要工作數據倉庫建模的主要工作1. 在需求分析上,確定系統(tǒng)所包含的主題域并加以描述在需求分析上,確定系統(tǒng)所包含的主題域并加以描述主題選取的原則是優(yōu)先實施管理者目前最迫切需求、主題選取的原則是優(yōu)先實施管理者目前最迫切需求、最關心的主題。主題內容的描述包括主題的公共鍵、主題最關心的主題。主題內容的描述包括主題的公共鍵、主題之間的聯系和各主題的屬性。之間的聯

17、系和各主題的屬性。例如,若以顧客為主題,則設計的相關主題內容的描例如,若以顧客為主題,則設計的相關主題內容的描述如下:述如下:基本信息:顧客號、顧客姓名、性別、年齡、文化程度、住址、電話基本信息:顧客號、顧客姓名、性別、年齡、文化程度、住址、電話經濟信息:顧客號、年收入、家庭總收入經濟信息:顧客號、年收入、家庭總收入公共鍵:顧客號公共鍵:顧客號2. 確定事實表的粒度確定事實表的粒度事實表的粒度能夠表達數據的詳細程度。從用途的不事實表的粒度能夠表達數據的詳細程度。從用途的不同來說,事實表可以分為以下三類:同來說,事實表可以分為以下三類: 原子事實表原子事實表:是保存最細粒度數據的事實表,也是數:

18、是保存最細粒度數據的事實表,也是數據倉庫中保存原子信息的場所。據倉庫中保存原子信息的場所。 聚集事實表聚集事實表:是原子事實表上的匯總數據,也稱為匯:是原子事實表上的匯總數據,也稱為匯總事實表??偸聦嵄?。 合并事實表合并事實表:是指將位于不同事實表中處于相同粒度:是指將位于不同事實表中處于相同粒度的事實進行組合建模而成的一種事實表。的事實進行組合建模而成的一種事實表。3. 確定數據分割策略確定數據分割策略分割是指把邏輯上是統(tǒng)一整體的數據分割成較小的、分割是指把邏輯上是統(tǒng)一整體的數據分割成較小的、可以獨立管理的物理單元進行存儲可以獨立管理的物理單元進行存儲,以便能分別處理,從,以便能分別處理,從

19、而提高數據處理的效率。而提高數據處理的效率。分割可以分割可以按時間、地區(qū)、業(yè)務類型按時間、地區(qū)、業(yè)務類型等多種標準來進行,等多種標準來進行,也可以按自定義標準,分割之后小單元的數據相對獨立,也可以按自定義標準,分割之后小單元的數據相對獨立,處理起來更快更容易。但在多數情況下,數據分割采用的處理起來更快更容易。但在多數情況下,數據分割采用的標準不是單一的,而是多個標準的組合。標準不是單一的,而是多個標準的組合。4. 構建數據倉庫中各主題的多維數據模型及其聯系構建數據倉庫中各主題的多維數據模型及其聯系由于數據倉庫目前大多是使用關系數據庫來實現的,由于數據倉庫目前大多是使用關系數據庫來實現的,所以本

20、章主要討論基于關系數據庫的數據倉庫建模方法。所以本章主要討論基于關系數據庫的數據倉庫建模方法。2.3.4 2.3.4 幾種常見的基于關系數據庫的多維數據模型幾種常見的基于關系數據庫的多維數據模型1. 1. 星形模式星形模式星形模式(星形模式(Star schemaStar schema)是由一個事實表和一組維表)是由一個事實表和一組維表組成,每個維表都有一個維主鍵,所有這些維組合成事實表組成,每個維表都有一個維主鍵,所有這些維組合成事實表的主鍵,換言之,事實表主鍵的每個元素都是維表的外鍵。的主鍵,換言之,事實表主鍵的每個元素都是維表的外鍵。該模式的核心是事實表,通過事實表將各種不同的維表該模式

21、的核心是事實表,通過事實表將各種不同的維表連接起來,各個維表都連接到中央事實表。連接起來,各個維表都連接到中央事實表。(1 1)星形模式的基本結構)星形模式的基本結構星形模式的基本結構如下:星形模式的基本結構如下:星形模式的特點如下:星形模式的特點如下: 維度表只與事實表關聯,維度表彼此之間沒有任何聯系。維度表只與事實表關聯,維度表彼此之間沒有任何聯系。 每個維度表中的主碼都只能是單列的,同時該主碼被放置每個維度表中的主碼都只能是單列的,同時該主碼被放置在事實數據表中,作為事實數據表與維表連接的外碼。在事實數據表中,作為事實數據表與維表連接的外碼。 星型模式是以事實表為核心,其他的維度表圍繞這

22、個核心星型模式是以事實表為核心,其他的維度表圍繞這個核心表呈星型狀分布。表呈星型狀分布?!纠?.12.1】一個一個“銷售銷售”數據倉庫的星形模式如圖數據倉庫的星形模式如圖2.52.5所示。所示。該模式包含一個中心事實表該模式包含一個中心事實表“銷售事實表銷售事實表”和和4 4個維表:時間個維表:時間維表、銷售商品維表、銷售地點維表和顧客維表。在銷售事實維表、銷售商品維表、銷售地點維表和顧客維表。在銷售事實表中存儲著四個維表的主鍵和兩個度量表中存儲著四個維表的主鍵和兩個度量“銷售量銷售量”和和“銷售金銷售金額額”。 (2)維表設計)維表設計維表用于存放維信息,包括維的屬性(列)和維的層維表用于

23、存放維信息,包括維的屬性(列)和維的層次結構。一個維用一個維表表示。維表通常具有以下數據次結構。一個維用一個維表表示。維表通常具有以下數據特征:特征: 維通常使用使用解析過的時間、名字或地址元素,這樣維通常使用使用解析過的時間、名字或地址元素,這樣可以使查詢更靈活。例如時間可分為年份、季度、月份可以使查詢更靈活。例如時間可分為年份、季度、月份和時期等,地址可用地理區(qū)域來區(qū)分,如國家、省、市、和時期等,地址可用地理區(qū)域來區(qū)分,如國家、省、市、縣等??h等。 維表通常不使用業(yè)務數據庫的關鍵字作為主鍵,而是對維表通常不使用業(yè)務數據庫的關鍵字作為主鍵,而是對每個維表另外增加一個額外的字段作為主鍵來識別維

24、表每個維表另外增加一個額外的字段作為主鍵來識別維表中的對象。在維表中新設定的鍵也稱為代理鍵。中的對象。在維表中新設定的鍵也稱為代理鍵。 維表中可以包含隨時間變化的字段,當數據集市或數據維表中可以包含隨時間變化的字段,當數據集市或數據倉庫的數據隨時間變化而有額外增加或改變時,維表的倉庫的數據隨時間變化而有額外增加或改變時,維表的數據行應有標識此變化的字段。數據行應有標識此變化的字段。維表中維的類型:維表中維的類型: 結構維結構維 信息維信息維 分區(qū)維分區(qū)維 分類維分類維 退化維退化維 一致維一致維 父子維父子維在數據倉庫的邏輯模型設計中,有一在數據倉庫的邏輯模型設計中,有一些維表是經常使用的,它

25、們的設計形成了些維表是經常使用的,它們的設計形成了一定的設計原則,如時間維、地理維、機一定的設計原則,如時間維、地理維、機構維和客戶維等,所以在設計維表時應遵構維和客戶維等,所以在設計維表時應遵循這些設計原則。循這些設計原則。又例如,數據倉庫存儲的是系統(tǒng)的歷又例如,數據倉庫存儲的是系統(tǒng)的歷史數據,業(yè)務分析最基本的維度就是時間史數據,業(yè)務分析最基本的維度就是時間維,所以每個主題通常都有一個時間維。維,所以每個主題通常都有一個時間維。(3)概念分層)概念分層維表中維一般包含著層次關系,也稱為概念分層,如在維表中維一般包含著層次關系,也稱為概念分層,如在時間維上,按照時間維上,按照“年份季度月份年份

26、季度月份”形成了一個層次,其形成了一個層次,其中年份、季度、月份成為這個層次的三個級別。中年份、季度、月份成為這個層次的三個級別。概念分層的作用如下:概念分層的作用如下: 概念分層為不同級別上的數據匯總提供了一個良好的概念分層為不同級別上的數據匯總提供了一個良好的基礎?;A。 綜合概念分層和多維數據模型的潛力,可以對數據獲得更深綜合概念分層和多維數據模型的潛力,可以對數據獲得更深入的入的洞察力洞察力。 通過在多維數據模型中,在不同的維上定義概念分層,使得通過在多維數據模型中,在不同的維上定義概念分層,使得用戶在不同的維上用戶在不同的維上從不同的層次對數據進行觀察從不同的層次對數據進行觀察成為可

27、能。成為可能。 多維數據模型使得從不同的角度對數據進行觀察成為可能,多維數據模型使得從不同的角度對數據進行觀察成為可能,而概念分層則提供了從不同層次對數據進行觀察的能力;結而概念分層則提供了從不同層次對數據進行觀察的能力;結合這兩者的特征,我們可以在多維數據模型上定義各種合這兩者的特征,我們可以在多維數據模型上定義各種OLAPOLAP操作,為用戶操作,為用戶從不同角度不同層次觀察數據從不同角度不同層次觀察數據提供了靈活性。提供了靈活性。(4)事實表設計)事實表設計事實表是多維模型的核心,是用來記錄業(yè)務事實并作事實表是多維模型的核心,是用來記錄業(yè)務事實并作相應指標統(tǒng)計的表,同維表相比,事實現具有

28、如下特征:相應指標統(tǒng)計的表,同維表相比,事實現具有如下特征: 記錄數量很多,因此事實表應當盡量減小一條記錄的記錄數量很多,因此事實表應當盡量減小一條記錄的長度,避免事實表過大而難于管理。長度,避免事實表過大而難于管理。 事實表中除度量外,其他字段都是維表或中間表(對事實表中除度量外,其他字段都是維表或中間表(對于雪花模式)的關鍵字(外鍵)。于雪花模式)的關鍵字(外鍵)。 如果事實相關的維很多,則事實表的字段個數也會比如果事實相關的維很多,則事實表的字段個數也會比較多。較多。在查詢事實表時,通常使用到聚集函數,一個聚集函數從在查詢事實表時,通常使用到聚集函數,一個聚集函數從多個事實表記錄中計算出

29、一個結果。度量可以根據其所用的聚多個事實表記錄中計算出一個結果。度量可以根據其所用的聚集函數分為三類:集函數分為三類: 分布的聚集函數分布的聚集函數:將這類函數用于:將這類函數用于n n個聚集值得到的結果個聚集值得到的結果和將函數用于所有數據得到的結果一樣。例如和將函數用于所有數據得到的結果一樣。例如COUNTCOUNT(求(求記錄個數)、記錄個數)、SUMSUM(求和)、(求和)、MINMIN(求最小值)、(求最小值)、MAXMAX(求(求最大值)等。最大值)等。 代數的聚集函數代數的聚集函數:函數可以由一個帶:函數可以由一個帶m m個參數的代數函數個參數的代數函數計算(計算(m m為有界整

30、數),而每個參數值都可以由一個分布為有界整數),而每個參數值都可以由一個分布的聚集函數求得。例如的聚集函數求得。例如AVGAVG(求平均值)等。(求平均值)等。 整體的聚集函數整體的聚集函數:描述函數的子聚集所需的存儲沒有一:描述函數的子聚集所需的存儲沒有一個常數界,即不存在一個具有個常數界,即不存在一個具有m m個參數的代數函數進行這個參數的代數函數進行這一計算。例如一計算。例如MODEMODE(求最常出現的項)。(求最常出現的項)。2. 雪花模式雪花模式(1)雪花模式的基本結構)雪花模式的基本結構雪花模式(雪花模式(Snowflake schemaSnowflake schema)是對星形

31、模式的擴展,)是對星形模式的擴展,每一個維表都可以向外連接多個詳細類別表。每一個維表都可以向外連接多個詳細類別表。在這種模式中,維表除了具有星形模式中維表的功能在這種模式中,維表除了具有星形模式中維表的功能外,還連接對事實表進行詳細描述的詳細類別表,詳細類外,還連接對事實表進行詳細描述的詳細類別表,詳細類別表通過對事實表在有關維上的詳細描述達到了縮小事實別表通過對事實表在有關維上的詳細描述達到了縮小事實表和提高查詢效率的目的,表和提高查詢效率的目的, 雪花模式的基本結構如下:雪花模式的基本結構如下:星形模式雖然是一個關系模型,但是它不是一個規(guī)范星形模式雖然是一個關系模型,但是它不是一個規(guī)范化的

32、模型,在星形模式中,維表被故意地非規(guī)范化了,雪化的模型,在星形模式中,維表被故意地非規(guī)范化了,雪花模式對星形模式的維表進一步標準化,對星形模式中的花模式對星形模式的維表進一步標準化,對星形模式中的維表進行了規(guī)范化處理。維表進行了規(guī)范化處理。 雪花模式的特點如下:雪花模式的特點如下: 某個維表不與事實表直接關聯,而是與另一個維表關聯。某個維表不與事實表直接關聯,而是與另一個維表關聯。 可以進一步細化查看數據的粒度??梢赃M一步細化查看數據的粒度。 維表和與其相關聯的其他維表也是靠外碼關聯的。維表和與其相關聯的其他維表也是靠外碼關聯的。 也以事實數據表為核心。也以事實數據表為核心?!纠?.22.2

33、】在圖在圖2.52.5的星形模式中,每維只用一個維表表示,的星形模式中,每維只用一個維表表示,而每個維表包含一組屬性。例如,銷售地點維表包含屬性集而每個維表包含一組屬性。例如,銷售地點維表包含屬性集Location_idLocation_id,街道,城市,省,國家,街道,城市,省,國家 。圖圖2.5這種模式可能造成某些冗余,例如,可能存在城市、省、這種模式可能造成某些冗余,例如,可能存在城市、省、國家字段的數據冗余:國家字段的數據冗余: 101,“101,“解放大道解放大道100100號號”,“武漢武漢”,“湖北省湖北省”,“中國中國” 201,“201,“解放大道解放大道8585號號”,“武

34、漢武漢”,“湖北省湖北省”,“中國中國” 255,“255,“解放大道解放大道205205號號”,“武漢武漢”,“湖北省湖北省”,“中國中國” 可以對地點維表進一步規(guī)范化,如圖可以對地點維表進一步規(guī)范化,如圖2.72.7所示,這樣就所示,這樣就構成了構成了“銷售銷售”數據倉庫的雪花模式。數據倉庫的雪花模式。圖圖2.7(2)雪花模式和星形模式的比較)雪花模式和星形模式的比較比較項目比較項目星形模式星形模式雪花模式雪花模式行數行數多多少少可讀性可讀性容易容易難難表數量表數量少少多多搜索維的時間搜索維的時間快快慢慢3. 事實星座模式事實星座模式(1)事實星座模式的基本結構)事實星座模式的基本結構通常

35、一個星形模式或雪花模式對應一個問題的解決通常一個星形模式或雪花模式對應一個問題的解決(一個主題),它們都有多個維表,但是只能存在一個事(一個主題),它們都有多個維表,但是只能存在一個事實表。實表。在一個多主題的復雜數據倉庫中可能存放多個事實表,在一個多主題的復雜數據倉庫中可能存放多個事實表,此時就會出現多個事實表共享某一個或多個維表的情況,此時就會出現多個事實表共享某一個或多個維表的情況,這就是事實星座模式(這就是事實星座模式(Fact Constellations schemaFact Constellations schema)。)。【例例2.32.3】在圖在圖2.52.5的星形模式的基礎

36、上,增加一個供貨的星形模式的基礎上,增加一個供貨分析主題,包括供貨時間(分析主題,包括供貨時間(Time_idTime_id)、供貨商品)、供貨商品(Item_idItem_id)、供貨地點()、供貨地點(Locate_idLocate_id)、供應商)、供應商(Supplier_idSupplier_id)、供貨量和供貨金額等屬性。)、供貨量和供貨金額等屬性。設計相應的供貨事實表,對應的維表有時間維表、商品設計相應的供貨事實表,對應的維表有時間維表、商品維表、地點維表和供應商維表,其中前三個維表和銷售事實維表、地點維表和供應商維表,其中前三個維表和銷售事實表共享,對應的事實星座模式如圖表共享

37、,對應的事實星座模式如圖2.82.8所示。所示。圖圖2.8(2)三種模式的關系)三種模式的關系2.4 數據倉庫的物理模型設計數據倉庫的物理模型設計設計數據倉庫的物理模型時,要求設計人員必須做到以設計數據倉庫的物理模型時,要求設計人員必須做到以下幾方面:下幾方面:構建數據倉庫的物理模型與所選擇的數據倉庫開發(fā)工具構建數據倉庫的物理模型與所選擇的數據倉庫開發(fā)工具密切相關。這個階段所做的工作是確定數據的存儲結構,確密切相關。這個階段所做的工作是確定數據的存儲結構,確定索引策略和確定存儲分配等。定索引策略和確定存儲分配等。 要全面了解所選用的數據倉庫開發(fā)工具,特別是存要全面了解所選用的數據倉庫開發(fā)工具,

38、特別是存儲結構和存取方法。儲結構和存取方法。 了解數據環(huán)境、數據的使用頻度、使用方式、數據了解數據環(huán)境、數據的使用頻度、使用方式、數據規(guī)模以及響應時間要求等,這些是對時間和空間效規(guī)模以及響應時間要求等,這些是對時間和空間效率進行平衡和優(yōu)化的重要依據。率進行平衡和優(yōu)化的重要依據。 了解外部存儲設備的特性,如分塊原則,塊大小的了解外部存儲設備的特性,如分塊原則,塊大小的規(guī)定,設備的規(guī)定,設備的I/OI/O特性等。特性等。2.4.1 2.4.1 確定數據的存儲結構確定數據的存儲結構一個數據倉庫開發(fā)工具往往都提供多種存儲結構供設一個數據倉庫開發(fā)工具往往都提供多種存儲結構供設計人員選用,不同的存儲結構有

39、不同的實現方式,各有各計人員選用,不同的存儲結構有不同的實現方式,各有各的適用范圍和優(yōu)缺點。的適用范圍和優(yōu)缺點。設計人員在選擇合適的存儲結構時應該權衡三個方面設計人員在選擇合適的存儲結構時應該權衡三個方面的主要因素:的主要因素:存取時間、存儲空間利用率和維護代價存取時間、存儲空間利用率和維護代價。同一個主題的數據并不要求存放在相同的介質上同一個主題的數據并不要求存放在相同的介質上。在物理設計時,常常要按數據的重要程度、使用頻率以在物理設計時,常常要按數據的重要程度、使用頻率以及對響應時間的要求進行分類,并將不同類的數據分別存儲及對響應時間的要求進行分類,并將不同類的數據分別存儲在不同的存儲設備

40、中。在不同的存儲設備中。重要程度高、經常存取并對響應時間要求高的數據就存重要程度高、經常存取并對響應時間要求高的數據就存放在高速存儲設備上,如硬盤;存取頻率低或對存取響應時放在高速存儲設備上,如硬盤;存取頻率低或對存取響應時間要求低的數據則可以放在低速存儲設備上,如磁盤或磁帶。間要求低的數據則可以放在低速存儲設備上,如磁盤或磁帶。常用的策略:常用的策略: 合并表組織合并表組織 引入冗余引入冗余 分割表組織分割表組織 生成導出數據生成導出數據2.4.2 2.4.2 確定索引策略確定索引策略數據倉庫的數據量很大,因而需要對數據的存取路數據倉庫的數據量很大,因而需要對數據的存取路徑進行仔細的設計和選

41、擇。徑進行仔細的設計和選擇。由于數據倉庫的數據都是不常更新的,因而可以設由于數據倉庫的數據都是不常更新的,因而可以設計多種多樣的索引結構來提高數據存取效率。計多種多樣的索引結構來提高數據存取效率。設計人員可以考慮對各個數據存儲建立專用的、復設計人員可以考慮對各個數據存儲建立專用的、復雜的索引,以獲得最高的存取效率。雜的索引,以獲得最高的存取效率。2.4.3 2.4.3 確定存儲分配確定存儲分配許多數據倉庫開發(fā)工具提供了一些存儲分配的參數供許多數據倉庫開發(fā)工具提供了一些存儲分配的參數供設計者進行物理優(yōu)化處理,例如,塊的尺寸、緩沖區(qū)的大設計者進行物理優(yōu)化處理,例如,塊的尺寸、緩沖區(qū)的大小和個數等等

42、,它們都要在物理設計時確定。小和個數等等,它們都要在物理設計時確定。這同創(chuàng)建數據庫系統(tǒng)時的考慮是一樣的。這同創(chuàng)建數據庫系統(tǒng)時的考慮是一樣的。2.5 數據倉庫的部署和維護數據倉庫的部署和維護2.5.1 2.5.1 數據倉庫的部署數據倉庫的部署完成前面各項工作之后,可以進入數據倉庫的部署階完成前面各項工作之后,可以進入數據倉庫的部署階段,主要包括段,主要包括用戶認可、初始裝載、桌面準備和初始培訓用戶認可、初始裝載、桌面準備和初始培訓。2.5.2 2.5.2 數據倉庫的維護數據倉庫的維護維護數據倉庫的工作主要是管理日常數據裝入的工作,維護數據倉庫的工作主要是管理日常數據裝入的工作,包括刷新數據倉庫的

43、當前詳細數據,將過時的數據轉化成歷包括刷新數據倉庫的當前詳細數據,將過時的數據轉化成歷史數據,清除不再使用的數據,管理元數據等等。史數據,清除不再使用的數據,管理元數據等等。2.6 一個簡單的數據倉庫一個簡單的數據倉庫SDWS設計示例設計示例2.6.1 SDWS2.6.1 SDWS的需求分析的需求分析某電商的業(yè)務銷售涵蓋全國范圍,銷售商品有家用某電商的業(yè)務銷售涵蓋全國范圍,銷售商品有家用電器和通信設備等。已建有網上銷售業(yè)務管理系統(tǒng),可電器和通信設備等。已建有網上銷售業(yè)務管理系統(tǒng),可以獲取每日銷售信息和顧客的基本信息等。以獲取每日銷售信息和顧客的基本信息等?,F為該電商建立一個能夠提高市場競爭能力

44、的數據倉現為該電商建立一個能夠提高市場競爭能力的數據倉庫庫SDWSSDWS。 分析全國各地區(qū)每年、每季度的銷售金額。分析全國各地區(qū)每年、每季度的銷售金額。 分析各類商品在每年、每月份的銷售量。分析各類商品在每年、每月份的銷售量。 分析各年齡層次的顧客的購買商品的次數。分析各年齡層次的顧客的購買商品的次數。 分析分析20132013年年1 1季度各地區(qū)各類商品的銷售量。季度各地區(qū)各類商品的銷售量。 分析分析20132013年各省份各年齡層次的商品購買金額。年各省份各年齡層次的商品購買金額。 分析各產品子類、各地區(qū)、各年齡層次的銷售量。分析各產品子類、各地區(qū)、各年齡層次的銷售量。 其他銷售情況分析

45、等。其他銷售情況分析等。其主題是電商銷售情況分析,包括以下分析其主題是電商銷售情況分析,包括以下分析功能功能: 2.6.2 SDWS2.6.2 SDWS的建模的建模通過需求分析,確定通過需求分析,確定SDWSSDWS采用采用星形模式星形模式。1. 維表設計維表設計設計如下設計如下4 4個維表。個維表。(1)日期維)日期維Dates表結構表結構DatesDates維表的數據維表的數據 :Date_key日期日期年份年份月份月份季度季度12013-02-0120132122013-04-1120134232013-08-2020138342013-12-05201312452014-02-1920

46、1421DatesDates的概念分層的概念分層 (2)顧客維)顧客維CustomersCustomers表結構表結構CustomersCustomers維表的數據維表的數據 :Cust_key姓名姓名年齡年齡年齡層次年齡層次1王華王華36中年中年2陳明陳明45中年中年3張兵張兵22青年青年4李麗李麗33青年青年5劉慶劉慶65老年老年6曾強曾強35青年青年Customers的概念分層的概念分層 (3)地點維)地點維Locates表結構表結構LocatesLocates維表的數據維表的數據 :Locate_key地址地址地區(qū)地區(qū)省份省份市市縣縣1北京市海淀區(qū)北京市海淀區(qū)A小小區(qū)區(qū)華北華北北京北京

47、北京北京海淀區(qū)海淀區(qū)2湖北省武漢市洪山湖北省武漢市洪山區(qū)區(qū)A華中華中湖北湖北武漢市武漢市洪山區(qū)洪山區(qū)3江蘇省揚州市寶應江蘇省揚州市寶應縣縣T華東華東江蘇江蘇揚州市揚州市寶應縣寶應縣4廣東省廣州市越秀廣東省廣州市越秀區(qū)區(qū)T華南華南廣東廣東廣州市廣州市越秀區(qū)越秀區(qū)Locates的概念分層的概念分層 (4)商品維)商品維Products表結構表結構ProductsProducts維表的數據維表的數據 :Prod_key子類子類品牌品牌型號型號單價單價分類分類1電視機電視機長虹長虹長虹長虹ZH1500家用電器家用電器2電視機電視機海信海信海信海信HX2500家用電器家用電器3電冰箱電冰箱海爾海爾海爾海

48、爾HU2800家用電器家用電器4電冰箱電冰箱美菱美菱美菱美菱ML2500家用電器家用電器5手機手機華為華為華為華為HW1880通信設備通信設備6電話電話TCLTCL89150通信設備通信設備Products維表概念分層維表概念分層 2. 事實表設計事實表設計Sales表結構表結構SalesSales事實表的數據事實表的數據 :Date_keyCust_keyLocate_keyProd_key數量數量金額金額(元元)111111500122225000133312800144437500151511880162634502111115002222375002333128002444125002

49、5152376026263450311111500Date_keyCust_keyLocate_keyProd_key數量數量金額金額(元元)3222512500333312800344437500351523760362611504111115004222250004333384004444375004515118804626115051111150052222500053331280054441250055151188056262300SDWS的星形模式的星形模式 3. 元數據設計元數據設計 描述每個事實表和維表的主題和內容,例如事實表的主題描述每個事實表和維表的主題和內容,例如事實表的主

50、題元數據和事實元數據如表元數據和事實元數據如表2.92.9和和2.102.10所示,對每個維表也所示,對每個維表也采用類似的描述方式。采用類似的描述方式。 對事實表和維表每個屬性進行描述,例如,對事實表和維表每個屬性進行描述,例如,Cust_keyCust_key元數元數據的描述如表據的描述如表2.112.11所示,對每個重要的屬性都采用類似的所示,對每個重要的屬性都采用類似的描述方式。描述方式。這里的元數據設計主要包含數據倉庫中各對象的描述。這里的元數據設計主要包含數據倉庫中各對象的描述。表表2.9 2.9 銷售主題元數據銷售主題元數據名稱名稱Sales_ItemSales_Item描述描述

51、整個電商的商品銷售狀況整個電商的商品銷售狀況目的目的用于進行電商銷售狀況和促銷情況的分析用于進行電商銷售狀況和促銷情況的分析維維時間、商品、顧客、地點時間、商品、顧客、地點事實事實銷售事實表銷售事實表度量值度量值銷售量,銷售金額、銷售筆數銷售量,銷售金額、銷售筆數2.6.3 2.6.3 基于基于SQL Server 2008SQL Server 2008設計設計SDWSSDWS1. 創(chuàng)建數據倉庫分析項目創(chuàng)建數據倉庫分析項目打開打開Microsoft Server Business Intelligence Microsoft Server Business Intelligence Devel

52、opment StudioDevelopment Studio,選擇,選擇“文件文件| |新建新建| |項目項目”命令,選中命令,選中“Analysis ServicesAnalysis Services項目項目”,在名稱文本框中輸入,在名稱文本框中輸入“SDWS”SDWS”,如圖如圖2.202.20所示,系統(tǒng)建立一個空的所示,系統(tǒng)建立一個空的SDWSSDWS分析項目。分析項目。2. 定義數據源定義數據源假設在假設在SQL Server 2008SQL Server 2008中已創(chuàng)建了一個數據庫中已創(chuàng)建了一個數據庫SDWSDW,包含前面介紹過的維表和事實表及相關數據。包含前面介紹過的維表和事實

53、表及相關數據。注意注意,需采用,需采用“使用使用WindowsWindows身份驗證身份驗證”創(chuàng)建創(chuàng)建SDWSDW數據數據庫。庫。在在“解決方案資源管理器解決方案資源管理器”中右擊中右擊“數據源數據源”并選擇并選擇“新新建數據源建數據源”命令,出現命令,出現“連接管理器連接管理器”對話框,建立新連接。對話框,建立新連接。3. 定義數據源視圖定義數據源視圖在在“解決方案資源管理器解決方案資源管理器”中右擊中右擊“數據源視圖數據源視圖”并選擇并選擇“新建數據源視圖新建數據源視圖”命令,在出現的對話框中選中關系數據源命令,在出現的對話框中選中關系數據源SDWSDW,單擊,單擊“下一步下一步”,出現,

54、出現“名稱匹配名稱匹配”對話框,默認選中對話框,默認選中“與主鍵同名與主鍵同名”項,如圖項,如圖2.232.23所示,單擊所示,單擊“下一步下一步”。出現出現“選擇表和視圖選擇表和視圖”對話框,從左邊選中對話框,從左邊選中CustomersCustomers、DatesDates、LocatesLocates、ProductsProducts和和SalesSales共共5 5個表到右邊列表中,個表到右邊列表中,如圖如圖2.242.24所示,單擊所示,單擊“下一步下一步”,再單擊,再單擊“完成完成”。這樣就。這樣就創(chuàng)建好了數據源創(chuàng)建好了數據源SDW.dsvSDW.dsv。4. 定義維表定義維表在

55、在“解決方案資源管理器解決方案資源管理器”中右擊中右擊“維度維度”并選擇并選擇“新新建維度建維度”命令,在出現的對話框中選中命令,在出現的對話框中選中“使用現有表使用現有表”,單,單擊擊“下一步下一步”,選擇,選擇DatesDates維表,如圖維表,如圖2.252.25所示。所示。單擊單擊“下一步下一步”,勾選所有屬性,如圖,勾選所有屬性,如圖2.262.26所示,單擊所示,單擊“下一步下一步”,再單擊,再單擊“完成完成”。然后選擇然后選擇DatesDates維度,右擊它并選擇維度,右擊它并選擇“屬性屬性”命令,在命令,在出現的屬性對話框中選擇出現的屬性對話框中選擇TypeType屬性并指定其值為屬性并指定其值為TimeTime,表示,表示它是一個時間維度,如圖它是一個時間維度,如圖2.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論