2010-08-24 41 views
6

我需要一個心理過程來設計一個OLAP數據庫...你如何設計OLAP數據庫?

本質上是標準的關係這將會是(鬆鬆):

Identify Entities 
Identify Relationships 
Identify Properties of Entities 

對於每個屬性:

Ensure property can be related to only one entity 
Ensure property is directly related to entity 

對於OLAP數據庫,我瞭解術語,動機和結構;但是,我不知道如何將我的關係模型分解爲OLAP模型。

回答

8

確定尺寸(或按) 這些是您可能想要分析/分組您的報告的任何內容。源數據庫中的每個表都是潛在的維度。尺寸應儘可能分層,例如您的日期維度應該有年,月,日的層次結構,類似的位置應該有例如國家,地區,城市層次結構。這將允許您的OLAP工具更高效地計算聚合。

確定度量值 這些是您的客戶希望看到的KPI或實際數值信息,它們通常能夠被聚合,因此源數據庫中的任何非標誌非關鍵數字字段都是潛在的度量標準。

排列在星型模式中,中心'事實'表中的度量值以及與適用維度表的FK關係。度量值應存儲在最低維度層次結構中。

確定事實表中的'糧食',這基本上是'細節水平'舉行。它通常由報告要求,報告解決方案的來源和性能要求中提供的數據粒度決定。您可以隨時識別穀物,或者一旦確定了所有重要數據,就可以將其作爲最後一步。我傾向於採取最後一步確保糧食在我的事實表中保持一致。

最後一步是確定緩慢變化的尺寸和這些要求。例如,如果客戶維度包含其地址的一個元素並且它們移動,那麼要如何處理。

+0

什麼是「By's」? – 2010-12-01 15:58:12

+3

任何你想分組或分析你的數據'BY',俚語真的... – stevenrcfox 2010-12-02 13:36:43

+0

非數字字段也可以聚合計數功能,對吧? – dpp 2014-08-13 06:48:54

3

確定維度和度量的一個重要點是您爲模型選擇的最終基數。我們假設您的關係數據庫數據輸入是整天。 也許您不需要按小時即可按天觀察或彙總測量結果。您可以選擇一週的粒度或每月等。

+1

謝謝,這是一個有用的觀點,我沒有包括在我的答案中。 – stevenrcfox 2013-04-08 09:53:46