(軍事交通學(xué)院 學(xué)員四大隊(duì),天津 300161)
投送裝備種類繁多,其數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的設(shè)計(jì)與建立過(guò)程十分繁雜,一個(gè)完整的數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)開發(fā)流程涉及到數(shù)據(jù)源、數(shù)據(jù)倉(cāng)庫(kù)所對(duì)應(yīng)的數(shù)據(jù)庫(kù)以及數(shù)據(jù)分析和報(bào)表工具等多個(gè)方面問(wèn)題。本文主要進(jìn)行投送裝備器材數(shù)據(jù)倉(cāng)庫(kù)(簡(jiǎn)稱DW)的設(shè)計(jì)與建立,涵蓋的內(nèi)容有投送裝備器材倉(cāng)庫(kù)數(shù)據(jù)源分析、數(shù)據(jù)倉(cāng)庫(kù)邏輯模型、概念模型與物理模型的設(shè)計(jì)、數(shù)據(jù)的ETL操作以及數(shù)據(jù)倉(cāng)庫(kù)的實(shí)現(xiàn)這幾個(gè)主要部分。
設(shè)計(jì)數(shù)據(jù)倉(cāng)庫(kù)原則的中心思想是實(shí)際業(yè)務(wù)與需求,并通過(guò)已有的數(shù)據(jù)進(jìn)行驅(qū)動(dòng)。即圍繞著實(shí)際業(yè)務(wù)方向的需求,確定數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的范圍和整體框架,并在已有數(shù)據(jù)源的基礎(chǔ)上,從已有的操作型業(yè)務(wù)數(shù)據(jù)出發(fā)來(lái)設(shè)計(jì)。
數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建模式一般分為兩種,分別為自頂向下的構(gòu)建模式與自底向上的構(gòu)建模式。
自頂向下模式如圖1所示,即先考慮整體后考慮局部的模式,再由數(shù)據(jù)倉(cāng)庫(kù)分離出各個(gè)具體業(yè)務(wù)部門和主題的數(shù)據(jù)集市。
自底向上模式如圖2所示,即先考慮局部后考慮整體的構(gòu)建模式,把內(nèi)部各個(gè)部門需求看成是系統(tǒng)決策的子目標(biāo),針對(duì)各個(gè)子目標(biāo)建立數(shù)據(jù)集市,然后進(jìn)一步對(duì)整個(gè)系統(tǒng)加以完善和擴(kuò)充,最終建立一個(gè)成熟的數(shù)據(jù)倉(cāng)庫(kù),實(shí)現(xiàn)對(duì)整體目標(biāo)的決策支持。
圖1 自頂向下模式
圖2 自底向上模式
針對(duì)本文所研究的投送裝備器材數(shù)據(jù)倉(cāng)庫(kù)的實(shí)際情況,各個(gè)業(yè)務(wù)部分之間的數(shù)據(jù)相對(duì)較為統(tǒng)一,因此可以采用數(shù)據(jù)規(guī)范程度高、支持相對(duì)快速有效分離地應(yīng)用于各部門的自頂向下構(gòu)建模式進(jìn)行數(shù)據(jù)倉(cāng)庫(kù)的開發(fā)。下面分別對(duì)各個(gè)流程進(jìn)行詳細(xì)的分析。
投送裝備器材數(shù)據(jù)倉(cāng)庫(kù)建立面向的業(yè)務(wù)需求是輔助倉(cāng)庫(kù)管理人員進(jìn)行投送裝備器材庫(kù)存的控制決策,為倉(cāng)庫(kù)管理人員提供直觀的數(shù)據(jù)分析與數(shù)據(jù)展示功能,為決策支持系統(tǒng)提供數(shù)據(jù)來(lái)源。通常數(shù)據(jù)倉(cāng)庫(kù)可以為DSS提供以下的服務(wù)功能:
(1)數(shù)據(jù)的抽取,依照主題從業(yè)務(wù)數(shù)據(jù)庫(kù)中抽取分析所需數(shù)據(jù),完成對(duì)元數(shù)據(jù)的求和、分類、統(tǒng)計(jì)等操作。
(2)數(shù)據(jù)的凈化,去除問(wèn)題數(shù)據(jù)并補(bǔ)充缺損數(shù)據(jù)。
(3)根據(jù)決策目標(biāo)的不同,可以根據(jù)決策主題進(jìn)行數(shù)據(jù)查詢和訪問(wèn),提高數(shù)據(jù)查詢和分析的效率。
(4)通過(guò)數(shù)據(jù)分析等工具來(lái)展示數(shù)據(jù)倉(cāng)庫(kù)中豐富的數(shù)據(jù),為預(yù)測(cè)趨勢(shì)、制定決策提供信息來(lái)源。
部隊(duì)投送裝備器材倉(cāng)庫(kù)主要職能是對(duì)部隊(duì)投送裝備器材實(shí)施儲(chǔ)存、供應(yīng)以及管理。對(duì)于器材倉(cāng)庫(kù)的管理人員而言,業(yè)務(wù)目標(biāo)是有效的控制各種器材的庫(kù)存,減少庫(kù)存管理過(guò)程中人力物力財(cái)力的消耗,數(shù)據(jù)來(lái)源則是器材倉(cāng)庫(kù)日常的出入庫(kù)業(yè)務(wù)數(shù)據(jù)。本文數(shù)據(jù)倉(cāng)庫(kù)的建立是為了實(shí)現(xiàn)庫(kù)存決策支持提供數(shù)據(jù)分析支撐,數(shù)據(jù)倉(cāng)庫(kù)的用戶更關(guān)心的問(wèn)題是投送裝備器材庫(kù)存的供應(yīng)和需求的變動(dòng)趨勢(shì)以及庫(kù)存的狀態(tài)。因此數(shù)據(jù)源結(jié)構(gòu)應(yīng)該包含短期和長(zhǎng)期的器材供應(yīng)量(入庫(kù)量)、器材消耗量(出庫(kù)量)、訂貨時(shí)間、訂貨周期、庫(kù)存器材種類、庫(kù)存器材數(shù)量。同時(shí)也應(yīng)該確定數(shù)據(jù)的總量以及數(shù)據(jù)質(zhì)量,對(duì)數(shù)據(jù)的寬度、密度,數(shù)據(jù)的正確性、規(guī)范性以及一致性都有相應(yīng)的要求。
數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)流程包括概念模型的設(shè)計(jì)、邏輯模型的設(shè)計(jì)以及物理模型的設(shè)計(jì)三個(gè)步驟,其設(shè)計(jì)流程區(qū)別于傳統(tǒng)數(shù)據(jù)庫(kù)面向應(yīng)用的設(shè)計(jì)方式,數(shù)據(jù)倉(cāng)庫(kù)是根據(jù)主題進(jìn)行數(shù)據(jù)的組織。
為了能將數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用于決策支持,使用者需要通過(guò)數(shù)據(jù)倉(cāng)庫(kù)對(duì)投送裝備器材倉(cāng)庫(kù)的實(shí)際庫(kù)存水平和庫(kù)存狀況有一個(gè)全面的了解,以維持合適庫(kù)存。因此為了能夠?qū)?shù)據(jù)進(jìn)行規(guī)范、有效且完整的分析,數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)來(lái)源應(yīng)基于倉(cāng)庫(kù)較長(zhǎng)時(shí)間范圍內(nèi)(本文選取時(shí)間范圍為年度)的庫(kù)存器材品類數(shù)據(jù)、出入庫(kù)數(shù)據(jù)、庫(kù)存量數(shù)據(jù)等數(shù)據(jù)、倉(cāng)庫(kù)內(nèi)部情況數(shù)據(jù)、器材需求數(shù)據(jù)等,系統(tǒng)的邊界定義為原有的車材庫(kù)存管理信息系統(tǒng)。
信息包圖中包含了三個(gè)目標(biāo)對(duì)象:度量指標(biāo)、維度和類別,在概念模型的設(shè)計(jì)中使用信息包圖的關(guān)鍵在于對(duì)這三個(gè)對(duì)象的內(nèi)容設(shè)計(jì)。
信息包圖的設(shè)計(jì)實(shí)際上為一種自頂向下的建模方式,首先以數(shù)據(jù)倉(cāng)庫(kù)使用者的視角進(jìn)行設(shè)計(jì),再以數(shù)據(jù)倉(cāng)庫(kù)管理者的視角對(duì)各個(gè)主題所涉及到數(shù)據(jù)的多維特性進(jìn)行分析,考慮各種信息源以及以何種方式影響業(yè)務(wù)活動(dòng),倉(cāng)庫(kù)信息包圖應(yīng)包含器材倉(cāng)庫(kù)管理活動(dòng)中的關(guān)鍵業(yè)務(wù)指標(biāo)因子。
以下通過(guò)對(duì)某投送裝備器材倉(cāng)庫(kù)的庫(kù)存情況進(jìn)行分析制作信息包圖,通過(guò)對(duì)該庫(kù)近期庫(kù)存情況的進(jìn)一步分析和了解,可得到以下論述。該圖以庫(kù)存分析為主題,歸納相關(guān)事實(shí)和指標(biāo)、數(shù)據(jù)的維度和層次,確定了數(shù)據(jù)的類別和粒度,見表1。
表1 DW信息包圖
通常確定主題域是為了更加深入地了解業(yè)務(wù)間的聯(lián)系和關(guān)系,在確定了主題之后,還需對(duì)各個(gè)主題進(jìn)行不同程度的細(xì)化以得到所面向主題的邊界。
數(shù)據(jù)倉(cāng)庫(kù)主題域結(jié)構(gòu)包括了訂貨主題、需求主題、器材主題、庫(kù)存主題四個(gè)主題域,各個(gè)主題域包含有其主題內(nèi)的主要關(guān)鍵指標(biāo),各主題之間的邏輯結(jié)構(gòu)關(guān)系如圖3所示。
圖3 主題域設(shè)計(jì)
設(shè)計(jì)數(shù)據(jù)倉(cāng)庫(kù)的過(guò)程通常需要不斷進(jìn)行完善和改進(jìn),因此在開始時(shí)傾向于選擇較為重要的主題作為設(shè)計(jì)起始點(diǎn)。通過(guò)將主題邊界的劃分方式應(yīng)用于關(guān)系模型,把對(duì)主題域的劃分與事務(wù)型數(shù)據(jù)庫(kù)中的數(shù)據(jù)表相結(jié)合,得到初始化的概念模型。在上述的各個(gè)主題中:投送裝備器材主題可能包含投送裝備器材表、供需關(guān)系表等;器材倉(cāng)庫(kù)主題可能包含倉(cāng)庫(kù)表、倉(cāng)儲(chǔ)關(guān)系表、倉(cāng)庫(kù)管理關(guān)系表等。將這些表的關(guān)鍵字段連接起來(lái),可以得到如圖4所示的概念模型。
圖4 數(shù)據(jù)倉(cāng)庫(kù)概念模型
傳統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)邏輯模型時(shí)通常會(huì)采用實(shí)體關(guān)系圖(ER圖)的方式,把概念模型進(jìn)一步轉(zhuǎn)為邏輯模型,在前述信息包圖的基礎(chǔ)上設(shè)計(jì)星型圖。星型圖要素分別對(duì)應(yīng)著信息包圖中的對(duì)象。指標(biāo)實(shí)體位于星型圖中心,是最基礎(chǔ)的業(yè)務(wù)實(shí)體以及數(shù)據(jù)查詢的核心,在信息包圖中,其對(duì)應(yīng)著指標(biāo)對(duì)象,其作用是為使用者進(jìn)行各項(xiàng)業(yè)務(wù)活動(dòng)提供定量數(shù)據(jù),根據(jù)信息包圖的內(nèi)容,指標(biāo)對(duì)象為對(duì)投送裝備器材庫(kù)存的分析。在以上所構(gòu)建信息包圖的基礎(chǔ)上進(jìn)行星型圖的設(shè)計(jì),所得星型圖結(jié)構(gòu)如圖5所示。處于中心位置的為事實(shí)表,用于對(duì)器材庫(kù)存的分析,處于五個(gè)星角的分別是器材信息、時(shí)間、訂貨信息、器材需求、倉(cāng)儲(chǔ)信息這五個(gè)維度。
圖5 星型圖設(shè)計(jì)
由圖5能夠看出星型模式的結(jié)構(gòu)實(shí)際為一種關(guān)系型數(shù)據(jù)結(jié)構(gòu),利用事實(shí)表以及若干個(gè)維度來(lái)支持決策所需的數(shù)據(jù)。在星型圖中間位置的是事實(shí)表,用于分析主題,位于星角的是維表,用于描述相關(guān)屬性。事實(shí)表中一般包含特定的事件數(shù)據(jù),例如一年的器材需求總量和器材訂貨總量等數(shù)據(jù),新的數(shù)據(jù)會(huì)被不斷的添加進(jìn)去。
一般而言,越詳細(xì)的數(shù)據(jù)其對(duì)應(yīng)的數(shù)據(jù)粒度越小,級(jí)別越低;反之,綜合度越高的數(shù)據(jù),其數(shù)據(jù)的粒度也相應(yīng)越大,所處的級(jí)別也越高。在粒度設(shè)計(jì)中產(chǎn)生的差異會(huì)造成數(shù)據(jù)倉(cāng)庫(kù)邏輯模型的差別以及數(shù)據(jù)實(shí)際物理存儲(chǔ)情況的差別,而數(shù)據(jù)倉(cāng)庫(kù)的分析層次功能與數(shù)據(jù)的物理存儲(chǔ)空間往往存在著矛盾關(guān)系,因此需要合理地設(shè)計(jì)粒度以符合實(shí)際情況。
根據(jù)對(duì)投送裝備器材倉(cāng)庫(kù)庫(kù)存需求情況分析設(shè)計(jì)相應(yīng)的數(shù)據(jù)粒度形成的邏輯模型如圖6所示。
各字段的解釋說(shuō)明見表2。
通過(guò)構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的三層模型,能夠確定各個(gè)維表以及事實(shí)表的大致結(jié)構(gòu),接下來(lái)就需要匯總現(xiàn)在投送裝備器材管理信息系統(tǒng)中的操作型數(shù)據(jù),將其進(jìn)行處理并導(dǎo)入各個(gè)維表以及事實(shí)表。該過(guò)程在數(shù)據(jù)倉(cāng)庫(kù)的創(chuàng)建中,是一項(xiàng)工作量很大而且關(guān)鍵的重要環(huán)節(jié)。從操作型數(shù)據(jù)庫(kù)中提取數(shù)據(jù)倉(cāng)庫(kù)所需要的數(shù)據(jù)需要一整套的流程,即ETL(提取,轉(zhuǎn)換,加載)的操作。
圖6 DW邏輯模型
表2 字段內(nèi)容釋義
ETL通過(guò)從附錄中的數(shù)據(jù)源中提取數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,然后將數(shù)據(jù)加載至數(shù)據(jù)倉(cāng)庫(kù)中,生成如表3-表7所示的填充數(shù)據(jù)。
本文使用SQL Server 2008所提供的Microsoft Server Business Intelligence Studio來(lái)進(jìn)行投送裝備器材數(shù)據(jù)倉(cāng)庫(kù)QCWS的創(chuàng)建和訪問(wèn)。
表3 TIME維度
表4 ORDER維度
表5 STORAGE維度
表6 EQUIPMENT維度
表7 DEMAND維度
在建立數(shù)據(jù)倉(cāng)庫(kù)之前,需要先通過(guò)SQL Server 2008創(chuàng)建數(shù)據(jù)庫(kù)“QCSERVER維表數(shù)據(jù)”,該數(shù)據(jù)庫(kù)中共包含六個(gè)數(shù)據(jù)表,包含維表以及事實(shí)表等相關(guān)數(shù)據(jù)。
打開解決方案資源管理器,首先需要將已經(jīng)創(chuàng)建的數(shù)據(jù)庫(kù)連接到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)源,如圖7所示,新建數(shù)據(jù)源連接,并定義“QCSERVER維表數(shù)據(jù)”的連接。
圖7 連接管理器,定義數(shù)據(jù)源
進(jìn)行新建數(shù)據(jù)源視圖的操作,選擇新創(chuàng)建的數(shù)據(jù)源“維表數(shù)據(jù)”,進(jìn)行名稱匹配(如圖8所示),選擇默認(rèn)的與主鍵同名。
在選擇表和視圖環(huán)節(jié)(如圖9所示),把數(shù)據(jù)源所連接數(shù)據(jù)庫(kù)中涵蓋的 Inventory、Order、QcInfo、Requirement、Time、Warehouse一共六個(gè)數(shù)據(jù)表選為包含的對(duì)象,完成數(shù)據(jù)源視圖的創(chuàng)建。
完成了數(shù)據(jù)源視圖的創(chuàng)建之后,需要對(duì)維表中的各個(gè)維度進(jìn)行創(chuàng)建。通過(guò)選擇“新建維度”命令,選擇“使用現(xiàn)有表”,先對(duì)Time維表進(jìn)行維度的建立(如圖10所示)。
通過(guò)以上步驟創(chuàng)建了投送裝備器材數(shù)據(jù)倉(cāng)庫(kù)QCDW項(xiàng)目,在構(gòu)建好數(shù)據(jù)源、各個(gè)維度以及多維數(shù)據(jù)集后,需要對(duì)項(xiàng)目進(jìn)行部署,在資源管理器中右擊QCDW選擇部署命令,對(duì)系統(tǒng)進(jìn)行部署,如圖11、12所示。
在QCDW項(xiàng)目部署完成后,可利用軟件帶有的視圖工具對(duì)QCDW進(jìn)行多維瀏覽。選擇維度數(shù)據(jù),執(zhí)行瀏覽命令,可以進(jìn)行多維分析。向待分析的區(qū)域中拖入相應(yīng)的行、列以及匯總字段,系統(tǒng)會(huì)自動(dòng)的統(tǒng)計(jì)出相應(yīng)的報(bào)表。例如可以通過(guò)多維瀏覽對(duì)XXX倉(cāng)庫(kù)的庫(kù)存數(shù)據(jù)進(jìn)行以下的分析。
圖8 名稱匹配
圖9 選擇表和視圖
(1)分析XXX倉(cāng)庫(kù)各個(gè)貨位在各個(gè)季度的儲(chǔ)存情況,選擇行字段為Quarter(季度),選擇列字段為Rack(貨位號(hào)),選擇匯總明細(xì)字段為Storage Amount(庫(kù)存數(shù)量),可以得到各貨位在不同季度的器材庫(kù)存數(shù)量,如圖13所示。
(2)分析XXX倉(cāng)庫(kù)不同分類類別的器材在各個(gè)貨位的存儲(chǔ)情況和價(jià)值,選擇行字段為Category(器材分類),選擇列字段為Rack(貨位號(hào)),選擇匯總明細(xì)字段為Storage Amount(庫(kù)存數(shù)量),可以得到不同類別的器材在不同貨位的庫(kù)存數(shù)量,如圖14所示。
圖10 指定源信息
圖11 QCDW項(xiàng)目結(jié)構(gòu)
(3)分析XXX倉(cāng)庫(kù)對(duì)各個(gè)需求單位在各個(gè)月份的發(fā)貨量。選擇行字段為Demander ID(需求單位編號(hào)),選擇列字段為Month(月份),選擇匯總明細(xì)字段為Ship Amount(發(fā)貨數(shù)量),可以得到倉(cāng)庫(kù)對(duì)各需求單位在不同月份的器材發(fā)貨數(shù)量,如圖15所示。
本文系統(tǒng)的對(duì)投送裝備器材的DW數(shù)據(jù)倉(cāng)庫(kù)的系統(tǒng)框架模型進(jìn)行了分析和設(shè)計(jì),創(chuàng)建了投送裝備器材數(shù)據(jù)倉(cāng)庫(kù),并通過(guò)SQL Server2008提供的平臺(tái)對(duì)其進(jìn)行了物理實(shí)現(xiàn),創(chuàng)建了投送裝備器材數(shù)據(jù)倉(cāng)庫(kù)QCDW,并在此基礎(chǔ)上進(jìn)行投送裝備器材庫(kù)存多維數(shù)據(jù)的瀏覽,為實(shí)現(xiàn)投送裝備器材儲(chǔ)備決策輔助系統(tǒng)提供了支撐。
圖12 項(xiàng)目部署成功
圖13 各季度不同貨位庫(kù)存數(shù)量瀏覽
圖14 各類別器材不同貨位庫(kù)存量瀏覽
圖15 倉(cāng)庫(kù)各需求單位在不同單位的發(fā)貨量瀏覽
[參考文獻(xiàn)]
[1]肖依永,常文兵,郭偉宏.基于關(guān)聯(lián)規(guī)則的ABC庫(kù)存分類方法[J].系統(tǒng)工程,2008,(6):10-15.
[2]葉偉龍,李青.ABC庫(kù)存分類的多準(zhǔn)則優(yōu)化方法[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,(5):758-761.
[3]李波,趙志彥,段鐵英.一種多準(zhǔn)則庫(kù)存分類的混合預(yù)測(cè)方法[J].計(jì)算機(jī)集成制造系統(tǒng)-CIMS,2004,(5):594-599.
[4]王珊,李翠平,李盛恩.數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)分析教程[M].北京:高等教育出版社,2012
[5]夏火松.數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘技術(shù)[M].北京:科學(xué)出版社,2004.