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