【正文】
,并根據(jù)SessionID檢查用戶的權(quán)限。 33 轉(zhuǎn)換器的設(shè)計(jì)與實(shí)現(xiàn) ? 轉(zhuǎn)換器的功能: ? 數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換和數(shù)據(jù)類型轉(zhuǎn)換 ? 結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)換 : 關(guān)系對應(yīng)于對象類 , 元組對應(yīng)于對象實(shí)例 , 關(guān)系屬性對應(yīng)于對象的屬性值 ? 非結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)換 : 利用對象的封裝性實(shí)現(xiàn)對非結(jié)構(gòu)化數(shù)據(jù)的處理 ? 自動化或半自動化的轉(zhuǎn)換器生成技術(shù) : ? 采用互操作性標(biāo)準(zhǔn) , 定義數(shù)據(jù)源與翻譯器的接口 ? 從數(shù)據(jù)源中提取數(shù)據(jù)并轉(zhuǎn)換格式的過程: 先將各類數(shù)據(jù)庫系統(tǒng)中不同格式的數(shù)據(jù)轉(zhuǎn)換成文本文件,然后再利用批拷貝命令將數(shù)據(jù)導(dǎo)入目標(biāo)系統(tǒng)中。由于使用獨(dú)立于數(shù)據(jù)源的數(shù)據(jù)準(zhǔn)備區(qū)為數(shù)據(jù)倉庫準(zhǔn)備數(shù)據(jù)可提高管理數(shù)據(jù)倉庫的效率,另外將數(shù)據(jù)準(zhǔn)備區(qū)與數(shù)據(jù)倉庫數(shù)據(jù)隔離開,可以保護(hù)數(shù)據(jù)倉庫的完整性同時可以提高數(shù)據(jù)倉庫的性能。這些組件可在任何具有 OLE DB、 ODBC接口的數(shù)據(jù)庫或規(guī)格化的文本文件間導(dǎo)入、導(dǎo)出和轉(zhuǎn)換數(shù)據(jù)。在窗體中單擊下一步按鈕后,將顯示數(shù)據(jù)庫中各對象信息讓用戶選擇需要導(dǎo)入數(shù)據(jù)準(zhǔn)備區(qū)的數(shù)據(jù)對象,然后創(chuàng)建并調(diào)用 Microsoft 的DTS對象,完成數(shù)據(jù)轉(zhuǎn)換工作。 ? 讀取相關(guān)元數(shù)據(jù)信息,如需要轉(zhuǎn)換的表及字段的相關(guān)信息等。 ? 執(zhí)行 DTS包。 ? 數(shù)據(jù)清理。 ? 提供缺省值。 ? 不常見的或不標(biāo)準(zhǔn)的格式處理。 ? 必須符合企業(yè)數(shù)據(jù)模型。 ? 創(chuàng)建了物理數(shù)據(jù)庫后,開始創(chuàng)建數(shù)據(jù)倉庫模型,并裝載數(shù)據(jù)。將用戶的信息記錄在元數(shù)據(jù)庫中,并根據(jù)該信息創(chuàng)建事實(shí)表。 ? 數(shù)據(jù)凈化:當(dāng)數(shù)據(jù)從源數(shù)據(jù)庫中提取到數(shù)據(jù)準(zhǔn)備區(qū)后,必須先進(jìn)行數(shù)據(jù)凈化才可以裝載到數(shù)據(jù)倉庫中去。枚舉字段取值指對一個記錄在該字段的取值,若不在指定的值中,則應(yīng)該刪除。即在事實(shí)表的一條記錄中如果某個與維表鏈接的字段值與維表中的字段值不相關(guān)時,可能導(dǎo)致檢索的數(shù)據(jù)不正確。為了改進(jìn)數(shù)據(jù)倉庫中數(shù)據(jù)質(zhì)量,提高數(shù)據(jù)倉庫中數(shù)據(jù)的可用性,必須統(tǒng)一數(shù)據(jù)編碼。 ? 測量單位的轉(zhuǎn)換:數(shù)據(jù)倉庫中對于數(shù)值型字段應(yīng)保持一致的單位。 46 監(jiān)控器的設(shè)計(jì)與實(shí)現(xiàn) ? 數(shù)據(jù)倉庫提供的是離線數(shù)據(jù) , 與源數(shù)據(jù)存在時間差。 48 監(jiān)控器捕捉數(shù)據(jù)變化的途徑 ? 映象文件:在上次提取數(shù)據(jù)庫數(shù)據(jù)到數(shù)據(jù)倉庫之后及本次提取數(shù)據(jù)庫數(shù)據(jù)之前,對數(shù)據(jù)庫分別作一次快照,然后通過比較兩幅快照的不同來確定要追加的數(shù)據(jù)。 49 數(shù)據(jù)倉庫的創(chuàng)建 50 創(chuàng)建星形模型向?qū)? 51 創(chuàng)建星形模型向?qū)? 52 演講完畢,謝謝觀看! 。 ? 日志文件:由于日志文件是數(shù)據(jù)庫的固有機(jī)制,所以它對系統(tǒng)性能的影響比較小,另外它還有 DELTA文件的優(yōu)點(diǎn),提取數(shù)據(jù)只局限于日志文件而不用掃描整個數(shù)據(jù)庫。 ? DELTA文件:該文件是由應(yīng)用產(chǎn)生的,并記錄了應(yīng)用所改變的所有內(nèi)容。表UnitTypes記錄了數(shù)據(jù)倉庫系統(tǒng)中的單位類型,初始元數(shù)據(jù)庫中共分六種單位類型:時間單位、貨幣單位、重量單位、長度單位、面積單位、體積單位。數(shù)據(jù)倉庫必須用單一的模式規(guī)定日期和時間信息。但在實(shí)際情況中,事實(shí)表的某些字段經(jīng)常為 Null值,為了解決使用內(nèi)鏈接查詢數(shù)據(jù)時引起的數(shù)據(jù)不一致問題,我們在每個維表增加一個空記錄,并將事實(shí)表中所有為相關(guān)字段值為 Null的值改為維表中新增的空記錄的值。 44 集成器的設(shè)計(jì)與實(shí)現(xiàn) ? 維表與事實(shí)表的引用完整性檢驗(yàn):數(shù)據(jù)倉庫的星型模型中一般都有多個維,而在查詢數(shù)據(jù)時維表和事實(shí)表之間大多采用內(nèi)聯(lián)接。有效值的檢驗(yàn)通常包括:范圍檢驗(yàn)、枚舉字段取值和相關(guān)檢驗(yàn)。在前面的章節(jié)中我們討論了星型模型的維分為:標(biāo)準(zhǔn)維、雪花維和時間維。 ? 在樹型結(jié)構(gòu)中列出當(dāng)前元數(shù)據(jù)庫中描述的源數(shù)據(jù)庫以及庫中的表對象,用戶可以選擇其中一個表作為事實(shí)表;同時窗體的右邊以列表形式顯示了所選擇表的字段信息。 ? 創(chuàng)建數(shù)據(jù)倉庫后,在元數(shù)據(jù)中記錄數(shù)據(jù)倉庫的基本信息,同時創(chuàng)建一個同名的關(guān)系型數(shù)據(jù)庫。 ? 理解并解開建立在舊的傳統(tǒng)程序邏輯中的數(shù)據(jù)之間的關(guān)系。 ? 進(jìn)行數(shù)據(jù)的匯總。 ? 多個輸入文件重新排序。 ? 判定一個記錄是否可進(jìn)行抽取處理。 ? 創(chuàng)建步驟對象,并將任務(wù)對象加入步驟對象。 ? 向 DTS的連接集合中添加源數(shù)據(jù)連接。 37 轉(zhuǎn)換器的實(shí)現(xiàn)- 轉(zhuǎn)換器的流程圖 創(chuàng)建數(shù)據(jù)準(zhǔn)備區(qū) N 開始 讀元數(shù)據(jù) 檢查數(shù)據(jù)準(zhǔn)備區(qū) ? 執(zhí)行 DTS包 更改元數(shù)據(jù)(時間,數(shù)據(jù)狀態(tài)) 結(jié)束 成功 連接元數(shù)據(jù)庫 創(chuàng)建 DTS包 Y 38 選擇源數(shù)據(jù)的窗體 39 數(shù)據(jù)轉(zhuǎn)換 ? 在窗體上方的下拉列表中選擇了數(shù)據(jù)源類型后,針對不同的數(shù)據(jù)源類型在窗體中會顯示不同的界面,讓用戶輸入連接各種數(shù)據(jù)源的連接字符串信息(用戶名、密碼、數(shù)據(jù)庫等)。 35 源數(shù)據(jù)庫、數(shù)據(jù)準(zhǔn)備區(qū) 和數(shù)據(jù)倉庫之間的關(guān)系 源數(shù)據(jù) 數(shù)據(jù)準(zhǔn)備區(qū) 數(shù)據(jù)倉庫 DTS 三者關(guān)系圖 36 DTS概述 ? DTS:是 Microsoft SQL Server2023中提供的數(shù)據(jù)轉(zhuǎn)換服務(wù)( Data Transformation Services)。 34 轉(zhuǎn)換器的設(shè)計(jì)與實(shí)現(xiàn) ? 數(shù)據(jù)準(zhǔn)備區(qū)的使用:首先從源數(shù)據(jù)中提取數(shù)據(jù),轉(zhuǎn)換成數(shù)據(jù)倉庫所要求的格式后存儲在數(shù)據(jù)倉庫的一個稱為數(shù)據(jù)準(zhǔn)備區(qū)的緩沖區(qū)中。 ? MetaManager的 Run方法根據(jù)客戶傳遞的 XML數(shù)據(jù)包調(diào)用相關(guān)的方法。 ? 登錄對象通過數(shù)據(jù)庫中的用戶及口令確定用戶的合法身份,并保存SessionID,返回登錄成功的信息。每個用戶可以屬于多個權(quán)限組,每個權(quán)限組都有一定的權(quán)限。時間維的層次由高到低分別為 Year、 Quarter、 Month、 Day、 Hour、Minute、 Second,用戶可以任意選擇幾種構(gòu)成時間維的層次。 ? 雪花維:由相互關(guān)聯(lián)的多個維表構(gòu)成,每個維表中的字段構(gòu)成了維的層次。 30 元數(shù)據(jù)模型 ? 關(guān)于源數(shù)據(jù)的元數(shù)據(jù):它是現(xiàn)有的操作型業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源的描述信息,是對不同平臺上的數(shù)據(jù)源的物理結(jié)構(gòu)和含義的描述。 29 元數(shù)據(jù)管理器的設(shè)計(jì)與實(shí)現(xiàn) ? 元數(shù)據(jù)的作用 :定義數(shù)據(jù)倉庫的作用 ,指明數(shù)據(jù)倉庫中信息的內(nèi)容和位置 ,刻畫數(shù)據(jù)的抽取和轉(zhuǎn)換規(guī)則 ,存儲與數(shù)據(jù)倉庫主題有關(guān)的各種商業(yè)信息。 ? ServerDispatcher偵聽對象接收到客戶端的連接請求后,創(chuàng)建ServerTalker對象并將它與 ClientTalker會話對象連接。 26 XML通信組件示意圖 客戶端應(yīng)用程序服務(wù)器端通信管理程序S e r v e r D i s p a t c h e r . L i s t e n ()S e r v e r T a l k e r . A c c e p t ()C l i e n t T a l k e r . C o n n e c t ()C l i e n t T a l k e r . S e n d X ML Ms g ()C l i e n t T a l k e r . D i s c o n n e c t ()創(chuàng)建 A p p l i c a t i o n 調(diào)度對象