2012-02-20 70 views
13

在閱讀業務對象的書籍時,我遇到了術語 - 事實表和維度表。這是所有數據庫的標準事物,它們都有事實表和維度表,還是僅用於業務對象設計?我正在尋找解釋,區分兩者之間以及它們之間的關係。數據庫 - 事實表和維度表

編輯:

爲什麼不能查詢一下就從事實表所需的數據?如果所有的信息都存儲在一張事實表中,會發生什麼?通過創建一個單獨的事實和維度表並加入它可以獲得什麼好處?

對不起,一次有太多的問題,但我想知道有關的相互關係和whys。

回答

9

Dimension and FactOLAP數據庫設計中的關鍵術語。

  • 事實表包含可以聚合的數據。
  • 度量值是彙總的數據表達式(例如成本總和,調用次數...)
  • 維度包含用於生成組和過濾器的數據。
  • 沒有尺寸數據的情況表是無用的。樣品:「訂單總數爲1M」不是信息,而是「2005年至2009年的訂單總數」。

他們有很多與這些概念(例如Microsft SSASTableau Software)和語言(如MDX)工作的BI工具。

有時候不容易知道數據是度量還是維數。例如,我們正在分析revenue,這兩種情況都是候選條件:

  • 3措施net profitoverheadsinterest
  • 1量度profit1維profit type(具有3個元素:淨額,開銷,利息)

該BI分析師我誰決定什麼是每個解決方案的最佳設計。

EDITED由於問題也正在編輯:

的OLAP溶液通常具有語義層。此圖層向OLAP工具提供有關以下內容的信息:哪些元素是事實數據,哪些元素是維度數據和表關係。與OLTP系統不同,OLAP數據庫不需要正確標準化。出於這個原因,您可以從包括事實表在內的多個表中獲取維度數據。從事實表獲取數據的維度被命名爲Fact Dimension or Degenerate dimension

他們有很多的設計OLAP數據庫時,你應該記住的概念:「星型模式」,「雪花模式」,「代理鍵」,「父子層次結構」,...

+0

請看我更新的問題。我很感激你的回答,但我想知道更多一點。 – 2012-02-20 16:05:41

+0

好的,重新閱讀答案。 – danihp 2012-02-20 16:17:41

0

這是數據倉庫中具有事實表和維度表的標準。事實表包含您正在測量的數據,例如您正在求和的數據。維度表是包含您不希望在事實表中不斷重複的數據的表格,例如產品數據,狀態,客戶等。它們通過鍵相關聯:在星型模式中,事實表中的每一行包含維表中的一行的關鍵字。

+0

不這意味着數據庫設計人員在設計數據庫時應該分別創建事實表和維度表? – 2012-02-20 15:42:57

+3

是的,分別創建它們。如果事實數據表中包含所有維度數據,那麼事實數據表將會大於它所需的數據量。雖然數據倉庫應該被取消歸一化,但是您可能不應該將其歸一化至只剩下一個表的程度。 – 2012-02-24 13:37:42

相關問題