• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    設計和創建數據倉庫

    發布: 2008-5-05 13:12 | 作者: 王翔 | 來源: 本站原創 | 查看: 87次 | 進入軟件測試論壇討論

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

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

    TAG: 設計 數據倉庫


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>