設計和創建數據倉庫

發表于:2008-05-05來源:作者:點擊數: 標簽:設計數據倉庫
經過第1章對商業智能的價值和應用的學習,用戶應該對構建一個實用的商業智能應用躍躍欲試了。本章將按照第1 章論述的BI系統構建的幾個階段,構建基于FoodMart 數據庫 的福馬特商業智能系統。按照學習理論,“大處著眼,小處著手”是快速學習的好方法,它既能
  經過第1章對商業智能的價值和應用的學習,用戶應該對構建一個實用的商業智能應用躍躍欲試了。本章將按照第1 章論述的BI系統構建的幾個階段,構建基于FoodMart數據庫的福馬特商業智能系統。按照學習理論,“大處著眼,小處著手”是快速學習的好方法,它既能把握全局,又能掌握細節。根據這種思想,本章在內容安排上屬于實踐中的“務實”,理論上的“務虛”,只著眼于操作過程而忽略其中的深奧理論,目的在于明確一個商業智能應用的全貌。根據一般的學習規律,對要學習的知識點有一個全方位的了解后,再學習知識細節可以有效地平緩學習曲線。本章在商業智能應用技術的學習過程中起到一個承前啟后的作用。

  FoodMart數據庫是SQL Server以前版本所帶的示例數據庫,它模擬了一家大型的食品連鎖店的經營業務所產生的數據。其商業數據保存在一個Aclearcase/" target="_blank" >ccess格式的數據庫中,其中包括了客戶管理數據、銷售數據、分銷數據和庫存數據等。隨著業務量的增加,這個食品連鎖店的老板迫切需要多方位地掌握其經營狀況,而傳統的報表形式和數據處理方式已經不能滿足這一要求,因此在保留歷史數據的基礎上構建商業智能應用已經迫在眉睫。下面就描述滿足這一商務需求的技術實現過程。
2.1 設計和創建數據倉庫

  FoodMart數據庫涉及到公司經營的各個方面,包括產品、庫存、人事、客戶和銷售等。一個真正的商業智能應用應該對這些業務需求進行全面地考慮。本章截取這些需求中的銷售部分構建商業智能。
2.1.1 原始業務數據分析

  打開配套文件中附帶的foodmart.mdb文件,可以看到如圖2-1所示的24張表,雖然以前在設計這個數據庫的時候加入了數據倉庫的某些特點,但由于它本身源于以前的系統,也存儲了全部的業務數據,因此這里作為初學可以把它理解為福馬特商店的原始數據。

  在這個數據庫中,包含了福馬特商店日常經營業務的數據,如人事管理中的員工信息存儲在employee表中,員工所屬部門信息存儲在department表中,職務信息則存儲在position表中,庫存管理業務中的倉庫類型存儲在 warehouse_class表中,具體的倉庫存儲在warehouse中。

2.1.2 設計數據倉庫邏輯模型

  福馬特市場部的商務需求是要對1998年進行的所有銷售業務數據進行多角度分析,以便市場分析人員能在查詢數據庫時獲取快速的響應,高層管理人員也能從總體上把握影響本年度銷售的因素。這需要利用存儲在公司業務數據庫中的數據,建立數據倉庫,進而創建可用于分析的多維數據結構。

  如前所述,這里只著眼于銷售方面的數據,因而把與銷售相關的表提煉出來進行分析。在foodmart.mdb 數據庫中,銷售業務的數據和時間、促銷手段、產品和店鋪等都有關系,它們的關系體現在表與表之間的邏輯關系上。要從業務數據出發設計數據倉庫的結構,必須明確業務數據本身的結構,而業務數據的關系一般是基于關系數據庫設計的范式。數據倉庫中表的關系不受關系數據庫設計范式的約束,但也要遵循一定的結構規范,如星形結構和雪花形結構即是這種類型的規范。同時這也是數據倉庫邏輯結構的兩種類型。關于數據庫和數據倉庫邏輯結構設計的異同將在第3章講解。

  這里希望用雪花形結構來構建福馬特商店的銷售數據倉庫,邏輯結構設計圖如圖2-2所示。

  在數據倉庫的邏輯結構中,數據表可以劃分為兩類:一類是事實數據表(簡稱為“事實表”),用來存儲數據倉庫中的實際數據,如這里存儲1998年銷售數據的sales_fact_1998表即為事實表;另一類是維度數據表(簡稱為“維度表”),用來存儲數據倉庫中的維度數據,如這里的關于時間、促銷手段和產品等分析要素的表均為維度表。關于事實表和維度表的具體知識也在第3章學習。

 注意,在本例中設計的維度表和事實表與原始數據中的表名及結構都一致,這主要是由原始數據的特點和本章作為入門章節的定位決定的。在實際設計的時候,通常需要根據需求情況重新建立與原始數據不同的表結構。這主要是由于傳統業務的數據庫是用來進行事務處理的(即 OLTP),而數據倉庫則是用來進行分析處理的(即OLAP),用途的不同決定了其結構的不同。這一點在以后復雜的數據倉庫設計中會通過示例體現出來。
2.1.3 創建foodmartsaleDW數據倉庫

數據倉庫也是一種數據庫,其管理同樣是通過數據庫管理系統(DBMS)來進行的。因此數據倉庫可以像普通數據庫一樣進行創建、修改和刪除。當數據倉庫的邏輯結構設計完后,就可以創建物理數據倉庫了。

這時可以在SQL Server Management Studio中按照一般的建立數據庫的方法建立一個名為“foodmartsaleDW”的數據庫,然后把這里設計的表創建好,數據類型依據原始數據庫中的各個表和字段的數據類型設置。具體操作方法可以參閱本書的姊妹篇《SQL Server 2005數據庫管理與應用高手修煉指南》。但由于這里數據倉庫的表結構與原始數據庫中的表結構基本一致,因此,創建foodmartsaleDW數據倉庫的物理結構過程也可以在ETL階段完成。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97