在數據集市設計中可以使用3種基本的系統方法:數據驅動的方法、需求驅動的方法和混合方法。它們的區(qū)別在于源數據庫分析和終端用戶需求分析階段所占的比重。方法的選擇將極大地影響概念設計的方式。
數據驅動方法包括:基于實體-關系模式的設計、基于關系模式的設計、基于XML模式的設計。概念型實體-關系模式比關系型邏輯模式更具表達力。因此通常認為前者是更好的設計源。但實際情況是公司經常無法提供精確完整的實體-關系模式(丟失、文檔不完整或者其他原因)。那么就只能根據數據庫的邏輯模式來做。另一方面,Web數據大部分是XML格式的,基于XML模式的設計可以從XML源的模式派生一個數據集市概念模式。
1 數據驅動方法設計
1.1 基于實體-關系模式的設計
在數據集市的符合維度事實模型(DFM)的概念設計中使用的基于實體-關系模式的技術包含以下步驟:
(1)定義事實。
(2)對于每個事實:
? ? ? ? ? a. 建立一個屬性樹。
? ? ? ? ? b. 修剪和移植屬性樹。
? ? ? ? ? c. 定義維度。
? ? ? ? ? d. 定義度量。
? ? ? ? ? e. 創(chuàng)建事實模式。
首先從數據源模式中選擇相關事實。然后以半自動模式創(chuàng)建屬性樹。這是一個過渡結構,可用于確定事實模式的邊界以清除不相關屬性及修改鏈接到這些不相關屬性的依賴關系(對應步驟(2).b)。 屬性樹 鏈接了數據集市和數據源模式。這個鏈接是 數據準備過程的關鍵 。之后將屬性樹轉換為事實模式(步驟(2).e)就相對簡單了。其中,步驟a基于一種算法;步驟cde基于屬性的目標特性;步驟1和b需要深入理解公司的商業(yè)模型。
1.1.1 定義事實
事實通常對應于公司中動態(tài)發(fā)生的事件。在實體-關系模式中, 事實 可能對應著一個 實體 或者E1,E2,...,En實體間的n元 關系 R。對于后者,為簡便起見,可將R轉換為一個實體( 實體化過程 )。為此,添加一個新實體F,并使用F和Ei間的二元關系(Ri)替換R的每個分支。若使用min(E, A)和max(E, A)分別表示 最小基數等級 和 最大基數等級 (基數等級是指實體E在相應等級上參與關系A,通常min(E, A)∈{0, 1},max(E, A)∈{1, n}),則:min(F, Ri) = max(F, Ri) = 1, min(Ei, Ri) = min(Ei, R), max(Ei, Ri) = max(Ei, R)。
注意:有時不同的實體可能是表達個體事實的候選。建議選作事實的實體應該是構建包含盡可能多的屬性的屬性樹的實體。
1.1.2 構建屬性樹
屬性樹
給定實體-關系數據源模式的一個相關部分,以及它的一個被分類為事實的實體F,屬性樹是滿足以下要求的樹:
?
- 每個節(jié)點對應于一個數據源模式屬性(簡單或復合屬性)。
- 根對應于F實體的標識符。
- 對于每個節(jié)點v,對應的屬性通過函數決定了對應于v的后繼的所有屬性。
?
1.1.3 修剪和移植屬性樹
1.1.4 定義維度
1.1.5 定義度量
1.1.6 生成事實模式
1.2 基于關系模式的設計
1.3 基于XML模式的設計
2 混合方法設計
3 需求驅動方法設計
參考資料:
《數據倉庫設計:現代原理與方法》Matteo Golfarelli,Stefano Rizzi著
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
