什么是數據倉庫主題
自從學習數據倉庫以來,對數據倉庫“面向主題”的概念始終比較模糊,理解不夠深刻、透徹。 昨天晚上翻開課本溫習一下,仍然不能領悟其本質思想、很是困惑,后來從網上找了一些資料,細細着磨一下。
1.主題的概念
主題(Subject)是在較高層次上將企業信息系統中的數據進行綜合、歸類和分析利用的一個抽象概念,每一個主題基本對應一個宏觀的分析領域。在邏輯意義上,它是對應企業中某一宏觀分析領域所涉及的分析對象。例如“銷售分析”就是一個分析領域,因此這個數據倉庫應用的主題就是“銷售分析”。
面向主題的數據組織方式,就是在較高層次上對分析對象數據的一個完整並且一致的描述,能刻畫各個分析對象所涉及的企業各項數據,以及數據之間的聯系。所謂較高層次是相對面向應用的數據組織方式而言的,是指按照主題進行數據組織的方式具有更高的數據抽象級別。與傳統數據庫面向應用進行數據組織的特點相對應,數據倉庫中的數據是面向主題進行組織的。例如,一個生產企業的數據倉庫所組織的主題可能有產品訂貨分析和貨物發運分析等。而按應用來組織則可能為財務子系統、銷售子系統、供應子系統、人力資源子系統和生產調度子系統。
主題是根據分析的要求來確定的。這與按照數據處理或應用的要求來組織數據是不同的。如在生產企業中,同樣是材料供應,在操作型數據庫系統中,人們所關心的是怎樣更方便和更快捷地進行材料供應的業務處理;而在進行分析處理時,人們就應該關心材料的不同采購渠道和材料供應是否及時,以及材料質量狀況等。
數據倉庫面向在數據模型中已經定義好的公司的主要主題領域。典型的主題領域包括顧客、產品、訂單和財務或是其他某項事務或活動。
2.主題域的獲取
主題域是對某個主題進行分析后確定的主題的邊界。分析主題域,確定要裝載到數據倉庫的主題是信息打包技術的第一步。而在進行數據倉庫設計時,一般是一次先建立一個主題或企業全部主題中的一部分,因此在大多數數據倉庫的設計過程中都有一個主題域的選擇過程。主題域的確定必須由最終用戶和數據倉庫的設計人員共同完成。
比如,對於Adventure Works Cycle這種類型的公司管理層需要分析的主題一般包括供應商主題、商品主題、客戶主題和倉庫主題。其中商品主題的內容包括記錄超市商品的采購情況、商品的銷售情況和商品的存儲情況;客戶主題包括的內容可能有客戶購買商品的情況;倉庫主題包括倉庫中商品的存儲情況和倉庫的管理情況等,如圖3-31所示。

圖3-31 根據業務情況確定的分析主題
確定主題邊界實際上需要進一步理解業務關系,因此在確定整個分析主題后,還需要對這些主題進行初步的細化才便於獲取每一個主題應該具有的邊界。對於圖3-31的4個主題及其在企業中的業務關系可以確定邊界如圖3-32所示。

圖3-32 主題域的划分
3.確定主題的內容
主題雖然在信息包圖中只占據標題的位置,但是卻是信息打包方法中最重要的部分,當主題定義好之后,數據倉庫中的邏輯模型也就基本成形了。此時,需要在主題的邏輯關系模式中包含所有的屬性及與系統相關的行為。數據倉庫中的數據存儲結構也需要在邏輯模型的設計階段完成定義,需要向里面增加所需要的信息和能充分代表主題的屬性組。以Adventure Works Cycle這類公司數據倉庫為例,如表3-7所示可以分別在“商品”、“銷售”和“客戶”主題上增加能夠進一步說明主題的屬性組。
表3-7 主題的詳細描述
主 題 名 |
公 共 碼 鍵 |
屬 性 組 |
商品 |
商品號 |
商品固有信息:商品號,商品名,類型,顏色等 商品采購信息:商品號,供應商號,供應價,供應日期,供應量等 商品庫存信息:商品號,庫房號,庫存量,日期等 |
銷售 |
銷售單號 |
銷售單固有信息:銷售單號,銷售地址等 銷售信息:客戶號,商品號,銷售價,銷售量、銷售時間等 |
客戶 |
客戶號 |
客戶固有信息:客戶號,客戶名,性別,年齡,文化程度,住址,電話等 客戶經濟息:客戶號,年收入,家庭總收入等 |
4.主題的使用
由於數據倉庫的設計是一個螺旋發展的過程,在剛開始,沒有必要在數據倉庫的數據庫中體現所有的主題,選擇最重要的主題作為數據倉庫設計的試金石是很有必要的。因此使用主題首先是找到需要分析的主題域。
例如在AdventureWorksDW數據倉庫的概念模型設計中,在對需求進行分析后,認識到“商品”主題既是一個銷售型企業最基本的業務對象,又是進行決策分析的最主要領域,因而把“銷售分析”主題域定義為要首先建立的主題。通過“商品”主題的建立,經營者就可以對整個企業的經營狀況有較全面的了解。先實施“商品”主題可以盡快地滿足企業管理人員建立數據倉庫的最初要求,所以先選定“商品”主題進行實施。
通過將主題邊界的划分應用到已經得到的關系模型上還能形成原始的概念模型。這一模型是把主題域的划分和事務處理數據庫中的表結合起來的模型,例如在上面的例子中,商品主題可能涵蓋的關系表有商品表、供應關系表、購買關系表和倉儲關系表;倉庫主題可能涵蓋的關系表有倉庫關系表、倉庫表、倉庫管理關系表和管理員表。把這些表的鍵和字段聯系起來,就可以形成如圖3-33所示的原始概念模型圖。
圖3-33 划分了主題域的原始概念模型