1.定義:
維度表包含與業務過程度量事件有關的文本環境,即事件的5W1H:When,Where,Who, What,Why,How
tips:避免在維度屬性中使用空值(但這里注意空值NULL不關聯,但空串字符會關聯);事實表不同,事實表的度量可以為空,但外鍵不能存在空值,否則違背了參照完整性。
2.一些關於維度的處理:
1)退化維:
一般來說事實表中的外鍵都對應一個維表,維的信息主要存放在維表中;但是退化維僅僅是事實表中的一列,這個維的相關信息都在這一 列中,沒有維表與之相關聯。比如:發票號,序列號等等。退化維具有普通維上卷、切片的各種操作。若發票號下有眾多明細項,退化維是表示母子訂單發票號的雙親關系唯一標識符,可識別哪些屬於同一訂單,這時退化維可用於分組鍵。
2)非規范化扁平維度:
非規范化的多對一固定深度層次(類似商品->品牌->類別樹狀多對一關系),將多層次維度打開為多個扁平的維度屬性。以易用為主,不需要省空間而單獨建層次的維度表。
3)多層次維度:
與上面的多對一不同,這里指的是維度包含不只一個層次,如日歷可以按財務周期划分為天到周;也可以從天到月到年。
4)雜項維度:
即建立單獨的維度表將不同維度合並到一起,是一種事務概要型維度。不需要列出所有可能的笛卡爾積,但至少包含實際發生的可能情況。
5)支架維度:
就是維度表上還有維度外鍵的雪花模式,盡量少用。
3.緩慢變化維:
1)類型0:原樣保留
原始值,無變化的
2)類型1:重寫
只看當前值,不考慮歷史
3)類型2:增加新行
拉鏈表的處理方式,三個額外列:生效時間、失效時間、當前行標志。
4)類型3:增加新屬性--類似2019舊屬性,2020新屬性
可以考慮當前值,以及先前屬性值
5)類型4:增加微型維度
處理頻繁變化的維度屬性,如人口屬性。即將年齡、購買頻繁度、收入水平等轉換成離散的范圍值組成新的維度以適應變化,在邏輯層還是可以展開碼值使用。
有兩種場景不適合微型維度:數據挖掘分析、有分析離散值的需求