(星形模式是一種多維的數據關系,它由一個事實表(Fact Table)和一組維表(Dimension Table)組成。每個維表都有一個維作為主鍵,所有這些維的主鍵組合成事實表的主鍵。事實表的非主鍵屬性稱為事實(Fact),它們一般都是數值或其他可以進行計算的數據;而維大都是文字、時間等類型的數據,按這種方式組織好數據我們就可以按照不同的維(事實表主鍵的部分或全部)來對這些事實數據進行求和(summary)、求平均(average)、計數(count)、百分比(percent)的聚集計算,甚至可以做20~80分析。這樣就可以從不同的角度數字來分析業(yè)務主題的情況。)
在多維分析的商業(yè)智能解決方案中,根據事實表和維度表的關系,又可將常見的模型分為星型模型和雪花型模型。在設計邏輯型數據的模型的時候,就應考慮數據是按照星型模型還是雪花型模型進行組織。
當所有維表都直接連接到“ 事實表”上時,整個圖解就像星星一樣,故將該模型稱為星型模型, 如圖 2 。
星型架構是一種非正規(guī)化的結構,多維數據集的每一個維度都直接與事實表相連接,不存在漸變維度,所以數據有一定的冗余,如在地域維度表中,存在國家 A 省 B 的城市 C 以及國家 A 省 B 的城市 D 兩條記錄,那么國家 A 和省 B 的信息分別存儲了兩次,即存在冗余。
當有一個或多個維表沒有直接連接到事實表上,而是通過其他維表連接到事實表上時,其圖解就像多個雪花連接在一起,故稱雪花模型。雪花模型是對星型模型的擴展。它對星型模型的維表進一步層次化,原有的各維表可能被擴展為小的事實表,形成一些局部的 " 層次 " 區(qū)域,這些被分解的表都連接到主維度表而不是事實表。如圖 2-3,將地域維表又分解為國家,省份,城市等維表。它的優(yōu)點是 : 通過最大限度地減少數據存儲量以及聯合較小的維表來改善查詢性能。雪花型結構去除了數據冗余
星型模型因為數據的冗余所以很多統計查詢不需要做外部的連接,因此一般情況下效率比雪花型模型要高。星型結構不用考慮很多正規(guī)化的因素,設計與實現都比較簡單。 雪花型模型由于去除了冗余,有些統計就需要通過表的聯接才能產生,所以效率不一定有星型模型高。正規(guī)化也是一種比較復雜的過程,相應的數據庫結構設計、數據的 ETL、以及后期的維護都要復雜一些。因此在冗余可以接受的前提下,實際運用中星型模型使用更多,也更有效率。