邏輯數據模型的說明
- 為了解決特定業務需求而形成的業務解決方案。邏輯數據模型以業務需求為基礎,忽略軟件環境、精簡環境等具體問題有關的模型實現的復雜性。
- 針對一個訂單輸入系統,前期已經完成概念數據模型(概念、業務規則、義務范圍)。在理解訂單輸入系統的需求之后,需要創建邏輯數據模型,其中包含需要交付給應用程序所使用的所有屬性和業務規則。
- 例如,根據概念數據模型可以,一位客戶(customer)可以訂購1個或多個訂單(order),二邏輯數據模型則需要關注諸如客戶姓名、地址、訂單號及訂購商品等有關客戶、訂單的細節信息。
關系邏輯模型
關系數據模型包括實體以及實體間的關系和屬性,如下圖:
- 通過“規范化技術”構建關系數據模型
需要保證每個屬性都是單值,且提供完全的、唯一的依賴於主鍵的事實。
單值:一個屬性只能包含一則信息
完全:主鍵是唯一能標識實體實例得到最小的屬性集合
唯一:由主鍵決定的每一個屬性只提供一個事實,即不存在隱藏的依賴。
維度邏輯模型
- 創建維度邏輯模型
維度邏輯模型的創建,主要考慮到兩方面: 量度計 和 維度
-
- 量度計 分類:
- 聚集:聚集量度計中存儲信息粒度層次高於事物粒度,主要服務於 報表工具
- 原子:包括業務中用到的最底層的細節數據,事物粒度
- 累積:完成一次業務流程需要多長時間,如 從開始申請一直到完成房屋抵押貸款所經歷的時間將被記錄在一張累計事實表中
- 快照:記錄實體生命周期中與特定步驟的時間信息
- 與數倉中的周期快照表的定義不同:數倉的周期快照表以規律性的、可預見的時間間隔來記錄事實,時間間隔如 天、周、月等,訂單日快照表、訂單月快照表 等
- 周期快照表事實的粒度是每個時間段一條記錄,通常比事物事實表的粒度要粗,是在事務型事實表上建立的聚集表。
- 維度分類
- 固定維度:又稱為0型漸變維度,如性別男或女
- 退化維度:維度的屬性被轉移至事實表中
- 多值維度:用於屬性或字段存在多值的情況,但最好的模型是每個屬性單值
- 不齊整維度:在一個不齊整的維度表中,至少有一個成員的父成員在該維度表的直接上級維度表中確實
- 收縮維度:略
- 漸變維度(SCD Slowly Changing Dimension):
- SCD 1:僅存儲當前維度成員的值,而忽略值的臨時變化
- SCD 2: 需要存儲所有維度成員的 歷史數據
- SCD 3:僅需要記錄維度成員的部分歷史信息,如當前狀態和最近狀態或當前狀態和原始狀態
- SCD 6:表示復雜維度,該維度的歷史可能存在多種變化。類型 0、1、2、3 是構成負責、先進歷史信息(如類型6)的必要組件
- 量度計 分類: