免責聲明:
本文轉自網絡文章,轉載此文章僅為個人收藏,分享知識,如有侵權,請聯系博主進行刪除。
原文作者:知識點滴
原文地址: 維度表, 事實表, 數據倉庫, BI...
以前一直對維度表, 事實表, 數據分析, BI等概念等有一些模糊. 這幾天的學習終於讓這些有了一些眉目了:
維度表示你要對數據進行分析時所用的一個量, 比如你要分析產品銷售情況, 你可以選擇按類別來進行分析,或按區域來分析. 這樣的按..分析就構成一個維度。前面的示例就可以有兩個維度:類型和區域。另外每個維度還可以有子維度(稱為屬性),例如類別可以有子類型,產品名等屬性。下面是兩個常見的維度表結構:
產品維度表:Prod_id, Product_Name, Category, Color, Size, Price
時間維度表:TimeKey, Season, Year, Month, Date
而事實表是數據聚合后依據某個維度生成的結果表。它的結構示例如下:
銷售事實表:Prod_id(引用產品維度表), TimeKey(引用時間維度表), SalesAmount(銷售總量,以貨幣計), Unit(銷售量)
上面的這些表就是存在於數據倉庫中的。從這里可以看出它有幾個特點:
1. 維度表的冗余很大,主要是因為維度一般不大(相對於事實表來說的),而維度表的冗余可以使事實表節省很多空間。
2. 事實表一般都很大,如果以普通方式查詢的話,得到結果一般發的時間都不是我們可以接受的。所以它一般要進行一些特殊處理。如SQL Server 2005就會對事實表進行如預生成處理等。
3. 維度表的主鍵一般都取整型值的標志列類型,這樣也是為了節省事實表的存儲空間。
