數據倉庫初習
1 什么是數據倉庫?
目前,數據倉庫一詞尚沒有一個統一的定義,著名的數據倉庫專家W.H.Inmon在其著作
《Building the Data Warehouse》一書中給予如下描述:數據倉庫(Data Warehouse)
是一個面向主題的(SubjectOriented)、集成的(Integrate)、相對穩定的(Non-Vola
tile)、反映歷史變化(Time Variant)的數據集合,用于支持管理決策。對于數據倉庫
的概念我們可以從兩個層次予以理解,首先,數據倉庫用于支持決策,面向分析型數據處
理,它不同于企業現有的操作型數據庫;其次,數據倉庫是對多個異構的數據源有效集成
,集成后按照主題進行了重組,并包含歷史數據,而且存放在數據倉庫中的數據一般不再
修改。
數據倉庫建模分為物理建模以及邏輯建模:
物理建模:側重于對物理存儲介質的訪問.
邏輯建模:側重于反應業務部門的需求,邏輯建模通常可以分為3NF(第三范式)及星狀模型
第三范式:范式是數據庫邏輯模型設計的基本理論,可以通過范式來規范化一個關系型數據
庫,在數據倉庫的模型設計中多采用第三范式是因為它有非常嚴格的數學定義
(1) 每個屬性的值唯一,不具有多義性;
(2) 每個非主屬性必須完全依賴于整個主鍵,而非主鍵的一部分;
(3) 每個非主屬性不能依賴于其他關系中的屬性,因為這樣的話,這種屬性應該歸到其他
關系中去。
星狀模型: 星型模式是三個或三個以上數據表的集合.星型模式是一種多維的數據關系,
它由一個事實表(FactTable)和一組維表(DimensionTable)組成。每個維表都有一個
維作為主鍵,所有這些維組合成事實表的主鍵,換言之,事實表主鍵的每個元素都是維表
的外鍵。事實表的非主屬性稱為事實(Fact),它們一般都是數值或其他可以進行計算的
數據,而維大都是時間、地域等類型的數據。