天天看點

淺談資料模組化(原創)

資料模型

資料模型是指用實體、實體的屬性、實體之間的關系對企業在營運活動中涉及到所有業務概念和業務活動進行統一的定義和描述。資料模型是業務人員和技術開發人員之間溝通的平台。這裡先解釋下兩個概念

實體:現實世界中存在的可以互相區分的事務或概念念稱為實體。實體可以分為事物實體和概念實體。例如:一個學生、一個勞工等是事物實體。一門課、一個班級等稱為概念實體。

實體的屬性:每個實體都有自己的特征,利用實體的屬性可以差別不同的實體。例如。學生的屬性為姓名、性别、年齡等

資料模組化

資料模型是抽象描述現實世界的一種工具和方法,是通過抽象的實體及實體之間聯系的形式,用圖形化的形式去描述業務規則的過程,進而表示現實世界中事務的互相關系的一種映射。資料模組化主要包括概念模型設計、邏輯模型設計和實體模型設計。模組化的流程圖如下:

概念模型

概 念模型是一種高層次的資料模型。它定義了主要的業務概念及其關系,通過對業務需求和調研訪談内容的分析,對業務模型進行初步的歸納和提煉。概念模型的主題 域主要反映了企業活動中某方面的業務概念和内容,一般由同一類别的或者關系較為緊密的主題組成。主題數通過分析業務的需求,業務活動的流程和各種活動得到 的。主題根據實際的業務需要可以進一步細化成更小的主題或者實體,而實體是概念模型的最小單元,是不可再分的。例如:人員基本資訊主題域由人員職位資訊, 人員社會關系資訊和人員通信資訊等主題或者實體組成。主題域、主題、實體以及它們之間的關系組成了整個概念模型的基礎架構,如下圖所示

邏輯模型

邏輯模型是對概念模型的進一步分解和細化,描述了實體、實體屬性以及實體之間的關系,是概念模型延伸,一般的邏輯模型有第三範式,星型模型和雪花模型。模型的主要元素為主題、實體、實體屬性和關系。

所 謂主題,是指與業務相關的資料主要類别;實體通常定義為一個概念、一個事件或者一個人,是唯一的;實體屬性用來描述實體的特征,處于最低層次;關系用來描 述實體之間的業務規則。例如:客戶實體包括客戶姓名、位址、出生日期等屬性。邏輯模型的作用主要有兩點。一是便于技術開發人員和業務人員或者使用者進行溝通 交流,使得整個概念模型更易于了解,進一步明确需求。二是作為實體模型設計的基礎,由于邏輯模型不依賴于具體的資料庫實作,使用邏輯模型可以生成針對具體 資料庫管理系統的實體模型,保證實體模型充分滿足使用者的需求。

實體模型

物 理模型中邏輯模型的基礎上描述模型實體的細節,包括資料庫産品對應的資料類型、長度、索引等因素,為邏輯模型選擇一個最有的實體存儲環境。邏輯模型轉化為 實體模型的過程也就是實體名轉化為表名,屬性名轉化為實體列名的過程。在設計實體模型時,還需要考慮資料存儲空間的配置設定,包括對列屬性必須做出明确的定 義。例如:客戶姓名的資料類型是varchar2,長度是20,存儲在Oracle資料庫中,并且建立索引用于提高該字段的查詢效率。

如何設計資料模型

設計概念模型

從定義上來說,概念模型時最高層次的資料模型,反映了資料倉庫的主要主題和重要業務之間的關系。

一般來說,在進行資料倉庫系統設計和開發之前,設計開發人員和業務人員已經對概念模型達成了

共識,因為概念模型反映的是核心的業務問題。

概念模型的設計步驟如下:

1、從業務需求中提取出重要的業務資料主題,包括對業務主題的詳細解釋,建下表

2、在業務資料主題的基礎上進行資料主題的劃分,包括對資料主題域的詳細解釋,如下圖所示

3、劃分主題域概念模型:根據資料主題域的劃分,細化内部的組織結構和業務關系,如下圖所示

總 結:概念模型模組化的流程大緻可以分成如下幾部分:通過對業務系統的詳細說明,進行資料的梳理,列出資料主題的詳細清單,并對每個資料主題做出詳細的解釋, 然後結果歸納、分類,整理成各個資料主題域,列出每個資料主題域包括哪些部分,并對每個資料主題域做出詳細解釋,最後劃分成主題域模型概念。

設計邏輯模型

從定義上講,邏輯模型是以概念模型為基礎,對概念模型的進一步細化、分解。邏輯模型通過實體和實體之間的關系描述業務的需求和系統顯示的技術領域,是業務人員和技術人員溝通的橋梁和平台。概念模型和邏輯模型的關系如下圖。

邏輯模型除了在概念模型的基礎上豐富和細化主題域,并且确定每個主題域包含哪些主題外,還需要以下幾個步驟:

1、分析需求,列出需要分析的主題,事實(需求目标),次元名額,次元層次、分析的名額、分析的方法、資料的來源、關注的對象等。

事實是資料倉庫中的資訊單元,處于資料模型的中心,也可以稱作名額實體或者需求目标。事實展現了在現實世界中所擷取的事務處理值,這些值隻與每個相關次元的 一個點對應。事實應一般具有如下特性:可以為使用者提供定量的資料、商務資料或實際資料的基本分析點,是使用者進行分析活動的中心和靈魂;包含了多種通路名額 資料的路徑、次元或名額;包含相關的标準資料;構成了每個次元中最低一級的類别和一個資訊組中的名額;能夠擴大成很大的表,容納今後日益增加的資料。常見 次元有,Product_Name,Category,TimeKey,Date

次元在資料倉庫中主要對事實名額進行過濾和重新組織提供指導。可以将使用者對事實的查詢結果按照次元名額進行篩選,隻允許與次元名額相關的資料傳回給使用者。維 度一般具有如下特性:可以形成一個次元體系,具備通路和過濾事實的能力,能夠提供相關的非标準實體,包括一個完整的次元體系編碼、關鍵詞以及相關的表示, 可以映射到使用者所需要資訊的列。在實體資料倉庫中是較小的表,可以對前台使用者的應用程式進行資料填充,或引用紅花的資料倉庫分析。

次元層級用來描述次元的各個層級。根據次元細節程度的不同,劃分資料在邏輯上的等級關系,例如,時間次元包括年、季度、月、日等層次,地區次元包括國家、省、市等層次

下表為主題是電力營銷業務分析處理情況

2、選擇使用者感興趣的資料,通過業務需求将需要分析的名額分離抽取出來,轉化成邏輯模型需要的實體。

例如,從使用者數量、用電儲存容量等分析名額中分離出使用者實體和用電量實體。

3、在實體中需要增加時間戳屬性,因為實體需要儲存各個階段的曆史資料。通常情況下,如果實體為

統一編碼,則不需要增加時間戳屬性。

4、需要考慮粒度層次的劃分。資料倉庫的粒度層次劃分直接影響了資料倉庫的設計,通常細粒度的資料模型

直接從企業模型選取實體作為邏輯模型的實體,而粗粒度的資料模型需要經過彙總計算得到相應的實體。

粒度決定了企業資料倉庫的實作方式、性能、靈活性和資料倉庫的資料量。

5、在粒度層次劃分的基礎上,還需要進行關系模式的定義。關系模式可以采用第三範式、星型模型或者

雪花模型的特點進行定義,對目前的主題進行關系模式的劃分,形成各個實體,實體屬性,實體之間的

的關系等内容。同時在邏輯模型架構的基礎上對實體的中英文名稱、屬性、屬性的值域進行明确、完善和細化,真實反映業務邏輯關系和業務規則。

邏輯模型的設計流程可參見下圖

設計實體模型

在邏輯模型的基礎上,為使用者生成環境選取一個合适的實體結構的過程,包括合适的

存儲結構和存儲方法,稱作實體模型的設計過程。實體模型必須對列的屬性進行明确的

定義,包括:列名、資料類型、長度、能否為空、有效性規則、預設值等。

邏輯模型轉變為實體模型包括以下幾個步驟:

1、實體名(Entity)轉變為表名(Table)。

2、屬性名(Attribute)轉換為列名(Column),确定列的屬性(Property)。

實體模型确定後,可以進一步确定資料的存放位置和存儲空間的配置設定,最後生成定義

資料庫的SQL指令

資料倉庫的實體模型可參見下圖

參考至:《商業智能深入淺出 Cognos,Informatica技術與應用》王飛著

​​                     http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0803zhousb/​​