事實表技術簡述
事實表結構
1,總是包含外鍵,且外鍵不能唯空。
2,事實表的設計完全依賴業務活動,不受最終報表的影響。
3,每行對應一個度量事件。
可加、半可加、半可加事實
1,可加事實:最靈活,最有用的事實。可以按照和事實表關聯的任意維度匯總。
2,半可加事實:可以按照某些維度匯總。例如差額,或者新增額,對于時間就只能是篩選條件不能用作維度。
3,不可加事實:例如比率。比較好的做法是倉庫中存入完全可加的數據。在最終計算出非可加事實前,將這些數據匯總到最終的結果集合中去。
事實表中的空值
1,事實表中除了外鍵,其余的字段可以存在空值,因為COUNT、SUM等均可對空值事實進行計算。
一致性事實
1,如果不同事實表中的事實技術定義是相同的,應該具有相同命名,如果不同則應該有不同的命名。
事務事實表
1,度量的數字必須與事務粒度保持一致。
2,事務事實表的一行對應空間或者時間上某點的度量事件。原子事務粒度可以確保對事務數據的最大化分片和分塊。
周期快照表
1,每行匯總了發生在某一標準周期,如某天,某周,某月。粒度是周期的。其外鍵的粒度是均勻的,及時周期內沒有活動發生,也會在事實表中為每個事實插入包含0或者空置的行
累計快照事實表
1,匯總了發生過程的開始和結束之間內的度量事件。都會包含時間外鍵。
無事實的事實表
1,存放僅僅記錄一系列某一時刻發生的多維實體。例如 某時候、學生、教師、地點、課程等定義良好的外鍵
聚集事實表
1,針對原子粒度事實表數據進行簡單的數字化上卷操作,目的是為了提高查詢性能。通過對來自多個事實表的度量匯總而獲得的。
合并事實表
1,將來自多個過程的,以相同粒度表示的事實合并為一個單一的合并事實表,這樣能夠帶來方便。合并會增加ETL處理過程的負擔,但是降低了BI應用分析的代價。合并事實表特別適合哪些需要共同分析的多過程度量。
維度表技術簡述
維度表結構
1,每個維度表都包含單一的主鍵列。
2,維度表的主鍵可以作為與之關聯的任何事實表的外鍵。
3,維度表通常比較寬,是扁平型非規范表,包含大量的低粒度的文本屬性。
維度代理鍵
1,DW/BI需要申明對所有的維度的主鍵的空置,無法采用自然鍵或者附加日期的自然鍵。最好是建立無語意的整型主鍵。
自然鍵、持久鍵、超自然鍵
1,自然鍵,如員工編號。
2,持久鍵:數據倉庫為員工編號創建一個單一鍵,這個單一鍵保持永久性不會發生變化。有時也被叫做超自然持久鍵。
3,最后的持久鍵應該獨立于原始的業務過程。
下鉆
1,下鉆是商業用戶分析數據的最基本的辦法。GROUP BY ***
退化維度
1,維度除了主鍵外沒有其他任何內容。常見于交易和累計快照事實表中。
非規范化扁平維度
1,能夠實現維度建模的雙重目標:簡化以及速度
多層次維度
1,同一維度中劃分多個層次,例如:日歷日期的 中的日,周,月,季度,年; 位置維度多個地理層次中 洲,國家。
文檔屬性的標識與指示器
1,操作代碼值所包含的意義應該分解成不同的表示不同描述性維度屬性的部分。例如 code=0,code_desc=關閉。
維度表中的空值屬性
1,推薦使用描述性字符串代替空置。例如:未知,Unknown。應該避免在維度屬性中使用空值。
日歷日期維度
1,能夠非常方便的對事實表 按照屬性的 日期,月份,財務進行劃分,后面會章節會貼出實際工作中日歷日期維度的維度表。
扮演角色的維度
1,不同的維度視圖,即維度表中的列名被成為角色
雜項維度
1,一些列混雜,低粒度的標識和指示器,單獨將這些不同的維度合并到一起形成雜項維度。
雪花維度
1,包含多重維度表層次,建立的多層次結構被成為雪花模式。
2,這種維度可以很精確表示層次化的數據,但是會給用戶帶來理解上的困難,也會影響查詢性能,不建議使用。
支架維度
1,維度表中包含對其他維度表的引用。被引用的維度稱為支架維度。但是盡量少用。
2,多數情況下,事實表和維度之間的關聯應該由事實表來實現。
歷史文章
數據倉庫-概述-讀書筆記一
數據倉庫-DW/BI架構對比-讀書筆記二
參考資料
數據倉庫工具箱
如果您覺得我用心了,覺得您有所收獲,麻煩關注下我吧,您的關注就是我的動力,因為我不是一個人在前行。