[摘 要] 隨著信息技術(shù)的發(fā)展,許多高校建立了相對完善的管理信息系統(tǒng)。但是,目前所在高校只有基于聯(lián)機(jī)事務(wù)處理的管理系統(tǒng), 缺乏對歷史數(shù)據(jù)的有效利用和分析, 不能獲取潛在有用信息。本文重點(diǎn)介紹了運(yùn)用數(shù)據(jù)倉庫及其相關(guān)技術(shù)和Microsoft SQL Server 2000 提供的數(shù)據(jù)透視表服務(wù)構(gòu)建學(xué)生成績分析數(shù)據(jù)倉庫。最終實(shí)現(xiàn)數(shù)據(jù)多維分析與查詢。
[關(guān)鍵詞] 數(shù)據(jù)倉庫 學(xué)生成績分析 聯(lián)機(jī)分析處理 多維分析
一、引言
目前,許多高校的管理信息系統(tǒng)已經(jīng)完善,其中記錄的大量信息已經(jīng)成為學(xué)校的寶貴資源,但是這些信息大部分只是簡單地存儲在數(shù)據(jù)庫中,隱藏在這些數(shù)據(jù)中的潛在信息閑置,所隱含的價(jià)值沒有挖掘利用。對一個(gè)學(xué)校來說,學(xué)生成績是評估教學(xué)質(zhì)量的重要依據(jù),也是學(xué)生是否掌握好了所學(xué)知識的重要標(biāo)志。目前的高校學(xué)生成績管理系統(tǒng)使用的多是傳統(tǒng)的數(shù)據(jù)庫系統(tǒng),即聯(lián)機(jī)事務(wù)處理系統(tǒng),一般能夠?qū)W(xué)生各類課程成績、畢業(yè)設(shè)計(jì)成績和學(xué)分制成績等進(jìn)行有效管理,進(jìn)行數(shù)據(jù)查詢和簡單的統(tǒng)計(jì)功能。但傳統(tǒng)的學(xué)生成績分析無非是得到均值、方差、效度等,其實(shí)另外還有一些不易察覺的信息隱含其中。學(xué)生成績分析數(shù)據(jù)倉庫正是為解決這一問題而設(shè)計(jì)的,通過它可以及時(shí)發(fā)現(xiàn)教學(xué)中存在的問題,找到影響學(xué)生成績的真實(shí)原因,從而采取有利于提高學(xué)生學(xué)習(xí)質(zhì)量的有效的教學(xué)手段,提高教學(xué)質(zhì)量,為難以制定的管理決策提供科學(xué)的依據(jù),為教學(xué)的管理和發(fā)展上做出即時(shí)、正確的判斷。
二、基于數(shù)據(jù)倉庫技術(shù)的決策支持系統(tǒng)
1.數(shù)據(jù)倉庫
數(shù)據(jù)倉庫技術(shù)從本質(zhì)上講,是一種信息集成技術(shù)。數(shù)據(jù)倉庫從多個(gè)信息源中獲取原始數(shù)據(jù),經(jīng)過加工整理后,存儲在數(shù)據(jù)倉庫的內(nèi)部數(shù)據(jù)庫中,通過向終端用戶提供信息訪問工具,向數(shù)據(jù)倉庫的用戶提供統(tǒng)一、協(xié)調(diào)和集成的信息環(huán)境,支持企業(yè)全局的決策過程和對企業(yè)經(jīng)營管理的深入綜合分析。
2.基于Analysis Services的OLAP相關(guān)技術(shù)
數(shù)據(jù)倉庫的實(shí)現(xiàn)最終是由許多支持工具來共同完成的。Microsoft公司在SQL Server2000上提供了Analysis Services,它用于聯(lián)機(jī)分析處理(OLAP),是數(shù)據(jù)倉庫的解決方案,也是Microsoft決策支持服務(wù)的主要組件。
Analysis Services系統(tǒng)包括服務(wù)端和客戶端兩個(gè)部分。服務(wù)端的組件是為創(chuàng)建和維護(hù)多維數(shù)據(jù)結(jié)構(gòu),并提供多維數(shù)據(jù)以響應(yīng)客戶端查詢而專門設(shè)計(jì)的。它具有創(chuàng)建和管理OLAP數(shù)據(jù),通過透視表(PivotTable)向客戶端提供數(shù)據(jù)的能力。它的操作包括從基于關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)倉庫中創(chuàng)建多維數(shù)據(jù)立方體和將其存儲到多維立方體結(jié)構(gòu),關(guān)系數(shù)據(jù)庫或兩者的結(jié)合中。
多維立方體結(jié)構(gòu)中的元數(shù)據(jù)存放在關(guān)系數(shù)據(jù)庫的存儲單元中??蛻舳酥嘘P(guān)鍵的部分是透視表服務(wù)(PivotTableService)。PivotTable服務(wù)是應(yīng)用程序訪問Microsoft Analysis Services的接口,MicrosoftExcel和其他供應(yīng)商提供的應(yīng)用程序可以通過它來訪問服務(wù)器中的數(shù)據(jù)并將結(jié)果顯示給用戶,或用它創(chuàng)建用于脫機(jī)分析的本地多維數(shù)據(jù)集。同時(shí),通過它還可以和OLAPServer連接,為用戶的客戶端應(yīng)用程序提供一個(gè)接口,從服務(wù)端獲取OLAP數(shù)據(jù)。
3.創(chuàng)建立方體
本文以對學(xué)生成績的分析為例,以原有數(shù)據(jù)庫中保存的歷年學(xué)生成績數(shù)據(jù)做依據(jù),用數(shù)據(jù)倉庫技術(shù)幫助我們分析處理數(shù)據(jù),得出有價(jià)值的結(jié)論。
首先進(jìn)行數(shù)據(jù)的準(zhǔn)備。包括數(shù)據(jù)抽取、選擇.預(yù)處理轉(zhuǎn)換。學(xué)校的傳統(tǒng)數(shù)據(jù)庫中存有近幾年的基本信息表,這些數(shù)據(jù)的格式有關(guān)系數(shù)據(jù)庫表和純文本文件等,因此由原有異構(gòu)環(huán)境向OLAP環(huán)境轉(zhuǎn)換就成為數(shù)據(jù)倉庫構(gòu)建過程中最重要的一步。在構(gòu)建數(shù)據(jù)倉庫之前創(chuàng)建一個(gè)名為gzxy的數(shù)據(jù)集市,打算采用星型模型維度建模,來描述學(xué)生、教師、課程、時(shí)間之間的關(guān)系。在學(xué)生成績分析數(shù)據(jù)倉庫中以成績表作為事實(shí)表。而課程信息、教師信息、學(xué)年學(xué)期信息等作為維度表。主要結(jié)構(gòu)如圖1所示。
數(shù)據(jù)集市支持不同的類型的數(shù)據(jù)存儲類型。目前有MOLAP、ROLAP、HOLAP三種,但以MOLAP效率較高,成為首選。MOLAP(多維OLAP)是將基礎(chǔ)數(shù)據(jù)和它們的聚集使用多維立方體的存儲方式來存貯,創(chuàng)建后的多維立方體如圖2所示。其中維度包括學(xué)期,性別,課程名。度量值包括成績,課程號,學(xué)年學(xué)期,學(xué)號。計(jì)算成員AvgScore用來計(jì)算某門課程的平均成績,這樣可以對成績作橫向的比較。它的表達(dá)式為:[Measures].[Cj]/[Measures].[Xh],其中cj成績度量值設(shè)為sum求總和,xh學(xué)號度量值設(shè)為count求學(xué)生人數(shù),這樣就可以得到平均分了。
對多維數(shù)據(jù)集處理后在“數(shù)據(jù)”窗口內(nèi)可以看到數(shù)據(jù)分析的結(jié)果,如圖3所示。比方說,我們在“課程名”中選擇“英語”課程,比較每個(gè)學(xué)期男生,女生的平均分情況后我們發(fā)現(xiàn)每個(gè)學(xué)期女生的分?jǐn)?shù)都高于男生大概有6分左右,所以“英語”這門課女生還是比較有優(yōu)勢的,這個(gè)情況依舊沒有改變,學(xué)校可以著重加強(qiáng)動員男生學(xué)習(xí)英語的興趣。再比如“C語言課程”,主觀認(rèn)為應(yīng)該男生應(yīng)占優(yōu)勢,但根據(jù)數(shù)據(jù)顯示,依舊是女生的平均分高出5分左右。所以我們可以發(fā)現(xiàn)現(xiàn)在高校普遍存在的一個(gè)現(xiàn)象就是女生的成績普遍好于男生,即使是在一些男生占優(yōu)勢的課程上。就其原因來看可能是女生在找工作時(shí)的局限性大于男生,特別是在我校以鐵路專業(yè)為主的情況下,女生更多的想通過成績上的優(yōu)秀與男生競爭,學(xué)校可以通過這些數(shù)據(jù)的比較有側(cè)重的安排教學(xué)改進(jìn)措施。
4.數(shù)據(jù)分析結(jié)果展現(xiàn)
對于多維數(shù)據(jù)庫的顯示,可以有很多種方式,可以在VB中引用Microsoft Office Web Component(OWC)中的組件PivotTable來完成對多維數(shù)據(jù)集的顯示;當(dāng)然要顯示多維數(shù)據(jù)集中的查詢結(jié)果肯定要涉及到ADO MD和MDX。對多維數(shù)據(jù)集查詢結(jié)果進(jìn)行顯示即把通過MDX語句查詢出的結(jié)果利用OWC的數(shù)據(jù)透視表組件PivotTable顯示。通過把MDX語句的查詢結(jié)果作為OWC中的組件PivotTable和Chartspace的數(shù)據(jù)源。
上面的分析結(jié)果用MDX語句表達(dá),作為PivotTable的數(shù)據(jù)源,可以在PivotTable上面顯示如圖4的顯示結(jié)果。
PivotTable1.CommandText=“select crossjoin({(measures.[scoreAvg])},{[性別].[所有 性別].children}) on columns,
{[學(xué)期].[所有 學(xué)期].children} on rows
from 成績分析
where ([課程名].[所有 課程名].[C語言程序設(shè)計(jì)])”
通過上面這個(gè)MDX語句,我們可以得到關(guān)于C語言課程各個(gè)學(xué)期男女學(xué)生考試成績的平均分。
三、結(jié)束語
本文通過SQL Server2000上的AnalysisServices的聯(lián)機(jī)分析處理(OLAP)驗(yàn)證了構(gòu)建的數(shù)據(jù)倉庫的合理性和有效性,用透視表服務(wù)PivotTableService作為客戶端的展示工具。由于數(shù)據(jù)倉庫技術(shù)是一門新興的前沿學(xué)科,構(gòu)建數(shù)據(jù)倉庫幫助教育管理人員做出科學(xué)的決策仍然處于不斷的研究和探索之中,但就其對高校教學(xué)管理信息化建設(shè)而言是有必要的,而且相信在今后的工作中一定能體現(xiàn)出它的強(qiáng)大優(yōu)勢。
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”