維度表示你要對數據進行分析時所用的一個量,好比你要分析產品銷售狀況,你能夠選擇按類別來進行分析,或按區域來分析,這樣的按照什麼分析就構成一個維度。前面的實例就能夠有兩個維度:類型和區域。另外每一個維度還能夠有子維度(稱爲屬性),例如類別能夠有子類型,產品名等屬性。下面是兩個常見的維度表結構:spa
產品維度表:Prod_id, Product_Name, Category, Color, Size, Price 時間維度表:TimeKey, Season, Year, Month, Date產品
而事實表是數據聚合後依據某個維度生成的結果表。它的結構實例以下: 銷售事實表:Prod_id(引用產品維度表),TimeKey(引用時間維度表),SalesAmount(銷售總量,以貨幣計),Unit(銷售量)。it
通常來講,一個事實數據表都要和一個或多個維度表相關聯,用戶在利用事實數據表建立多維數據集時,能夠使用一個或多個維度表。class
上面的這些表就是存在於數據倉庫中的。從這裏能夠看出它有幾個特色: 1.維度表的冗餘很大。主要是由於維度通常不大(相對於事實表來講的),而維度表的冗餘能夠使事實表節省不少空間。引用
2.事實表通常都很大,若是以普通方式查詢的話,獲得結果通常花的時間都不是咱們能夠接受的。因此它通常要進行一些特殊處理。如SQL Server 2005就會對事實表進行如預生成處理等。im
3.維度表的主鍵通常都取整型值的標誌列類型,這樣也是爲了節省事實表的存儲空間。數據