維度表和事實表

   維度表示對數據進行分析時所的一個量, 比如分析產品銷售情況, 可以選擇按類別來進行分析,或按區域來分析. 這樣的按..分析就構成一個維度。前面的示例就可以有兩個維度:類型和區域。另外每個維度還可以有子維度(稱爲屬性),例如類別可以有子類型產品名等屬性。下面是兩個常見的維度表結構:

產品維度表:Prod_id, Product_Name, Category, Color, Size, Price
時間維度表:TimeKey, Season, Year, Month, Date

   而事實表是數據聚合後依據某個維度生成的結果表。它的結構示例如下:

銷售事實表:Prod_id(引用產品維度表), TimeKey(引用時間維度表), SalesAmount(銷售總量,以貨幣計), Unit(銷售量)

上面的這些表就是存在於數據倉庫中的。從這裏可以看出它有幾個特點:

1. 維度表的冗餘很大,主要是因爲維度一般不大(相對於事實表來說的),而維度表的冗餘可以使事實表節省很多空間。
2. 事實表一般都很大,如果以普通方式查詢的話,得到結果一般發的時間都不是我們可以接受的。所以它一般要進行一些特殊處理。如SQL Server 2005就會對事實表進行如預生成處理等。
3. 維度表的主鍵一般都取整型值的標誌列類型,這樣也是爲了節省事實表的存儲空間。


   一個典型的例子是,把邏輯業務比作一個立方體,產品維、時間維、地點維分別作爲不同的座標軸,而座標軸的交點就是一個具體的事實。也就是說事實表是多個維度表的一個交點。而維度表是分析事實的一個窗口。  

      首先介紹下數據庫結構中的星型結構,該結構在位於結構中心的單個事實數據表中維護數據,其它維度數據存儲在維度表中。每個維度表與事實數據表直接相關,且通常通過一個鍵聯接到事實數據表中。星型架構是數據倉庫比較流向的一種架構。

       事實表是數據倉庫結構中的中央表,它包含聯繫事實與維度表的數字度量值和鍵。事實數據表包含描述業務(例如產品銷售)內特定事件的數據。

       維度表是維度屬性的集合。是分析問題的一個窗口。是人們觀察數據的特定角度,是考慮問題時的一類屬性,屬性的集合構成一個維。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章