摘要:通過對數(shù)據(jù)庫技術(shù)專業(yè)人才能力結(jié)構(gòu)和特征的研究,提出數(shù)據(jù)庫系統(tǒng)的知識結(jié)構(gòu),分析當前高校數(shù)據(jù)庫系統(tǒng)相關(guān)課程的教學現(xiàn)狀,從數(shù)據(jù)庫系統(tǒng)知識結(jié)構(gòu)、教學層次的區(qū)分、實踐教學的創(chuàng)新等幾個方面,探討提高數(shù)據(jù)庫系統(tǒng)教學質(zhì)量的途徑。
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng);知識結(jié)構(gòu);教學層次;教學質(zhì)量
大量信息處理是當前社會生活的重要特征,計算機作為信息處理的主要工具,其學科在數(shù)據(jù)庫系統(tǒng)領(lǐng)域發(fā)展迅速,為適應(yīng)這一形勢,國內(nèi)高校將數(shù)據(jù)庫系統(tǒng)理論與技術(shù)的教學作為計算機專業(yè)和信息管理專業(yè)教學的重要組成部分,此外,為達成提高大學生信息素質(zhì)的目的,有相當數(shù)量的非信息類專業(yè)的本、??埔查_設(shè)與數(shù)據(jù)庫技術(shù)有關(guān)的課程。然而,據(jù)筆者觀察,數(shù)據(jù)庫的教學質(zhì)量并不理想。數(shù)據(jù)庫理論與技術(shù)是計算機學科中一個較為獨立的分支,其內(nèi)容涉及數(shù)據(jù)庫應(yīng)用、數(shù)據(jù)庫系統(tǒng)工程、數(shù)據(jù)理論與新技術(shù)研究等多個層面,而我們在實際的教學中,往往不去區(qū)分授課對象專業(yè)背景和知識背景,千篇一律地以同樣的教材、同樣的內(nèi)容、同樣的方法施教,教師達不成教學目標,學生無所適從,學習成效較差。對此,本文系統(tǒng)分析數(shù)據(jù)庫系統(tǒng)教學中存在的一些問題,并結(jié)合數(shù)據(jù)庫系統(tǒng)的特點提出提高教學質(zhì)量的五個途徑,以供探討。
1理清數(shù)據(jù)庫系統(tǒng)的知識結(jié)構(gòu)
數(shù)據(jù)庫理論與技術(shù)是計算機學科中一個較為獨立的分支,研究數(shù)據(jù)如何高效地組織與管理。當前,我們把數(shù)據(jù)庫作為計算機學科一個分支,然而,數(shù)據(jù)管理(信息管理)自從有文明以來就是人類重要活動之一,長期以來,人們積累的數(shù)據(jù)管理的理論和經(jīng)驗,到今天依然有其價值,是數(shù)據(jù)庫理論的重要組成部分。計算機的發(fā)明給數(shù)據(jù)管理帶來了革命性的變化,因為計算機具有的存儲數(shù)據(jù)量大、數(shù)據(jù)傳輸便捷、計算速度快且準確的特點,所以當今數(shù)據(jù)管理活動無不以圍繞計算機技術(shù)而展開。
1.1數(shù)據(jù)庫系統(tǒng)的知識結(jié)構(gòu)
筆者對一名勝任的數(shù)據(jù)庫系統(tǒng)專業(yè)人員所需的知識結(jié)構(gòu)作了研究,得到結(jié)果如表1所示[1-2]。
表1中“基礎(chǔ)知識”一項所列的課程是學習數(shù)據(jù)庫系統(tǒng)知識的先行課程,為數(shù)據(jù)庫系統(tǒng)專業(yè)人員提供必要的計算機軟硬件知識,數(shù)理邏輯知識和信息檢索的基本原理和方法,這是數(shù)據(jù)庫系統(tǒng)開發(fā)、管理和應(yīng)用的基礎(chǔ)?!皵?shù)據(jù)庫基本原理與設(shè)計”一項是作數(shù)據(jù)庫系統(tǒng)設(shè)計所需的基本理論知識和規(guī)范,當前存在的各種數(shù)據(jù)庫模型中,關(guān)系數(shù)據(jù)模型最為成熟,數(shù)據(jù)庫系統(tǒng)原理的教學還是以關(guān)系數(shù)據(jù)模型為核心的,掌握關(guān)系數(shù)據(jù)庫原理是通往數(shù)據(jù)庫世界的入門鑰匙。其次半結(jié)構(gòu)化數(shù)據(jù)XML有很好的應(yīng)用前景。“數(shù)據(jù)庫系統(tǒng)實現(xiàn)”一項是將數(shù)據(jù)庫系統(tǒng)設(shè)計藍圖變成實實在在的可運行的系統(tǒng)所需的知識和技巧,涉及數(shù)據(jù)庫系統(tǒng)的物理層?!皵?shù)據(jù)庫新技術(shù)及延伸”一項所列的是數(shù)據(jù)庫理論、模型、技術(shù)的新研究領(lǐng)域及相關(guān)聯(lián)的一些延伸領(lǐng)域?!吧虡I(yè)系統(tǒng)及代碼開源系統(tǒng)”列出的是商業(yè)上成熟應(yīng)用的一些數(shù)據(jù)庫管理系統(tǒng)(DBMS),是軟件公司推出的數(shù)據(jù)庫產(chǎn)品,作為數(shù)據(jù)庫從業(yè)人員,熟悉若干DBMS的使用是必要的,不過,前提是掌握前幾項所列的數(shù)據(jù)庫系統(tǒng)基本知識。其中Postgresql的源代碼是開放的,而且是免費的,適合作數(shù)據(jù)庫系統(tǒng)的研究對象。各部分知識構(gòu)成的關(guān)系如圖1所示。
1.2當前數(shù)據(jù)庫系統(tǒng)教學內(nèi)容的結(jié)構(gòu)性偏差
1.2.1基礎(chǔ)知識的學習欠缺
目前國內(nèi)高校中系統(tǒng)學習數(shù)據(jù)庫知識的主要是計算機專業(yè)和信息管理專業(yè)學生。對計算機專業(yè)來說,計算機軟硬件知識和數(shù)據(jù)邏輯知識方面的課程開設(shè)是充分的,欠缺的是信息檢索和情報學方面的相關(guān)課程設(shè)置,這種現(xiàn)狀不利于培養(yǎng)學生的信息素質(zhì)和信息意識。而對信息管理專業(yè)來說,計算機和數(shù)理邏輯知識相對較少,這對進一步深入學習數(shù)據(jù)庫系統(tǒng)知識是一個障礙。另外,有些高校的信息管理專業(yè)招生是文理兼收(比如筆者所在單位)。比較來看,文科學生對計算機與數(shù)理邏輯知識接受能力較差,所以干脆不開設(shè)計算機系統(tǒng)原理和離散數(shù)學這兩門被認為很難的課程,這不能不說是個遺憾。另外,值得一提的是,為普及信息知識而開設(shè)數(shù)據(jù)庫課程的非信息類專業(yè),基礎(chǔ)知識總是被忽略,學生在沒有任何基礎(chǔ)的情況下即開始學習數(shù)據(jù)庫原理或一些商業(yè)系統(tǒng)的應(yīng)用,這樣做無異于“空中搭樓閣”。當然,限于學時,對非信息類學生不可能進行這些基礎(chǔ)知識的系統(tǒng)教學,如何有效縮減這些基礎(chǔ)知識以利于這一類學生的教學值得我們研究。
1.2.2對商業(yè)系統(tǒng)的學習認識不足
如上文提到的,作為數(shù)據(jù)庫從業(yè)人員,熟悉若干DBMS的使用是必要的,原因主要有兩點:一是構(gòu)建數(shù)據(jù)庫系統(tǒng)通常情況下需要以這些產(chǎn)品為平臺;二是獲得數(shù)據(jù)庫系統(tǒng)應(yīng)用的直覺經(jīng)驗,也就是感性認識。但正如圖1所示,對各類商業(yè)系統(tǒng)的研究和使用是需要前4個知識模塊作支撐的數(shù)據(jù)庫系統(tǒng)的,教學上不能以此為本。然而,在實際的數(shù)據(jù)庫教學中,有些教師卻把學習這一類系統(tǒng)產(chǎn)品的使用(如VFP、Sql server、Oracle)作為教學的主體,這是本末倒置。若以學習某一數(shù)據(jù)庫軟件產(chǎn)品為主體進行教學,則后果可能是:學生學習了產(chǎn)品的各種使用細節(jié),依然對數(shù)據(jù)庫系統(tǒng)的構(gòu)建一無所知,從而造成學生學習興趣降低,失去進一步深入探究數(shù)據(jù)庫系統(tǒng)原理的動力。另外,有些高校甚至要求學生學習多門(多達4~5門)數(shù)據(jù)庫管理系統(tǒng)軟件的課程,從VFP、Paradox、SQL Server到Oracle都有,暫且不論這些單位是否具備相應(yīng)的實驗條件,學習內(nèi)容的重復已足以讓學生厭倦,同時也讓學生產(chǎn)生“所謂數(shù)據(jù)庫技術(shù)就是用好這些數(shù)據(jù)庫產(chǎn)品”這樣的荒謬認識。關(guān)于商業(yè)系統(tǒng)的教學,筆者認為,比較好的辦法是選擇一個教師已經(jīng)熟練掌握的且較為典型的一個軟件系統(tǒng)展開教學,同時應(yīng)鼓勵學生自學其感興趣的數(shù)據(jù)庫軟件,針對能力強的學生,甚至可以啟發(fā)他們?nèi)ラ_發(fā)一個數(shù)據(jù)庫管理系統(tǒng)原型,據(jù)筆者了解,國外有不少數(shù)據(jù)庫商業(yè)系統(tǒng)軟件,其原型就是在校大學生設(shè)計開發(fā)的。
1.2.3系統(tǒng)實現(xiàn)教學偏弱
表1中所列“數(shù)據(jù)庫系統(tǒng)實現(xiàn)”一項是將數(shù)據(jù)庫系統(tǒng)設(shè)計藍圖變成實實在在的可運行的系統(tǒng)所需的知識和技巧,是數(shù)據(jù)庫系統(tǒng)知識很重要的組成部分。然而,教師普遍在這部分內(nèi)容教學上投入的精力不足,究其原因,主要是:1)國內(nèi)普遍使用的教材將“數(shù)據(jù)庫系統(tǒng)原理與設(shè)計”和“數(shù)據(jù)庫系統(tǒng)實現(xiàn)”二項合并,作為一門課程由一名教師來講,而我們的教師在授課時存在“重理論、輕實現(xiàn)”現(xiàn)象,再加上學時限制,后面的教學內(nèi)容自然就不受重視了;2)這部分內(nèi)容雖然涉及的是數(shù)據(jù)庫系統(tǒng)的物理層,然而實際上肉眼是看不到的,教師講起來有難度,學生也覺得抽象,學起來吃力,產(chǎn)生“教學相怠”;3)部分教師和學生對數(shù)據(jù)庫系統(tǒng)實現(xiàn)的重要性認識不夠,認為數(shù)據(jù)庫系統(tǒng)的實現(xiàn)工作大部分可以交給商業(yè)DBMS去做,沒必要費力去追根問底。為加強數(shù)據(jù)庫系統(tǒng)實現(xiàn)的教學,筆者認為:1)應(yīng)該將數(shù)據(jù)庫系統(tǒng)實現(xiàn)作為一門單獨的課程,由在這方面有專長的教師授課;2)制作一些高質(zhì)量的多媒體演示(如動畫)來展現(xiàn)數(shù)據(jù)庫系統(tǒng)的物理層活動,提高教學效果;3)不能認為DBMS能做的就沒必要搞清楚,理解DBMS的工作原理本身就是學生應(yīng)該具備的知識。
2區(qū)分數(shù)據(jù)庫系統(tǒng)知識的教學層次
當前社會生活與信息的處理和服務(wù)息息相關(guān),人們幾乎每天都會和各種各樣的數(shù)據(jù)庫直接或間接地打上交道。數(shù)據(jù)庫系統(tǒng)相關(guān)從業(yè)人員按所從事的工作性質(zhì)可以分為4種角色:1)數(shù)據(jù)庫相關(guān)理論與技術(shù)的研究人員;2)數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計、開發(fā)和維護人員,統(tǒng)稱為工程人員;3)數(shù)據(jù)庫應(yīng)用系統(tǒng)管理人員(DBA);4)數(shù)據(jù)庫系統(tǒng)的用戶。這4類人員在知識結(jié)構(gòu)上、能力和素質(zhì)要求上是不同的,作為高校,培養(yǎng)這4類人才,在教學上應(yīng)區(qū)別對待。
2.1數(shù)據(jù)庫系統(tǒng)的教學層次
為實現(xiàn)數(shù)據(jù)庫系統(tǒng)的教學目標個性化,我們可以將培養(yǎng)不同類型的人才分為4個教學層次:研究層次、工程層次、管理層次和應(yīng)用層次,各自教學側(cè)重點也有差別[3],如表2所示。
2.2各層次教學特點
2.2.1研究層次
開展數(shù)據(jù)庫理論與技術(shù)研究需要有本專業(yè)方向上較為深厚的理論基礎(chǔ)和寬泛的專業(yè)知識背景,能了解和把握前沿的理論創(chuàng)新和技術(shù)發(fā)明。在面向這一層次的教學中,應(yīng)提高基礎(chǔ)知識和數(shù)據(jù)庫系統(tǒng)的原理及實現(xiàn)的學習考核標準,尤其是目前偏弱的數(shù)據(jù)庫系統(tǒng)實現(xiàn)方面的內(nèi)容,更應(yīng)予以加強。此外,對數(shù)據(jù)庫新技術(shù)及其延伸的相關(guān)科目應(yīng)多涉及一些,拓展學生思路,培養(yǎng)學生的科研素質(zhì)。值得一提的是,在實踐環(huán)節(jié)上,常用的商業(yè)數(shù)據(jù)庫管理系統(tǒng)的研究價值并不高,可以鼓勵學生對代碼開放的一些DBMS(如Postgresql)作探索性的研究和使用,為自行研制數(shù)據(jù)庫管理系統(tǒng)原型打下基礎(chǔ)。
2.2.2工程層次
培養(yǎng)勝任的數(shù)據(jù)庫系統(tǒng)工程人才是數(shù)據(jù)庫系統(tǒng)教學的重點。數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計、開發(fā)和維護是一個系統(tǒng)工程,在教學上,除傳授必要的數(shù)據(jù)庫系統(tǒng)相關(guān)知識以外,應(yīng)對下列能力和知識的培養(yǎng)有所側(cè)重:1)對具體業(yè)務(wù)過程進行分析、建模的能力;2)將客觀世界的信息轉(zhuǎn)化為計算機中數(shù)據(jù)表達的能力;3)關(guān)系數(shù)據(jù)庫的設(shè)計理論;4)程序設(shè)計能力;5)軟件工程;6)商業(yè)數(shù)據(jù)庫管理系統(tǒng)平臺的應(yīng)用。
另外,對于數(shù)據(jù)庫系統(tǒng)工程人才的培養(yǎng),將任務(wù)驅(qū)動機制引入實踐教學很有必要。數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā),除需具備數(shù)據(jù)庫技術(shù)知識以外,還要對所面向的業(yè)務(wù)過程做出適宜的分析和建模。引導學生結(jié)合具體的任務(wù),從系統(tǒng)的規(guī)劃、分析開始,一步一步地完成概念建模、數(shù)據(jù)建模、數(shù)據(jù)結(jié)構(gòu)設(shè)計、管理程序設(shè)計等,最后完成系統(tǒng)原型。這個過程可以培養(yǎng)學生在實踐中綜合應(yīng)用所學知識對實際問題進行分析和解決問題的能力。
2.2.3管理層次
對一個現(xiàn)有的數(shù)據(jù)庫應(yīng)用系統(tǒng)進行有效的管理是數(shù)據(jù)庫管理員(DBA)的職責,其職責內(nèi)容主要有:1)決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu);2)決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略;3)定義數(shù)據(jù)的安全性要求和完整性約束條件;4)監(jiān)控數(shù)據(jù)庫的使用和運行;5)數(shù)據(jù)庫的改進和重組。毫無疑問,一個合格的數(shù)據(jù)庫管理員應(yīng)具備基本的數(shù)據(jù)庫應(yīng)用系統(tǒng)工程方面的知識,此外,由于DBA所面向的是多用戶(多到可以是一個企業(yè)所有的工作人員)的大型數(shù)據(jù)庫系統(tǒng),對企業(yè)來說,高級的DBA就是CIO(首席信息官),所以提升學生的管理素質(zhì)和與人溝通的能力也很重要[4],在教學上,對諸如信息資源管理、組織行為學、信息經(jīng)濟學等管理類課程的教學應(yīng)予以側(cè)重。
2.2.4應(yīng)用層次
對為提高信息素質(zhì)的非信息類專業(yè)學生進行數(shù)據(jù)庫教學屬于這個層次。當前國內(nèi)普通高校有相當數(shù)量的非信息類專業(yè)的本、??崎_設(shè)與數(shù)據(jù)庫技術(shù)有關(guān)的課程,目的是利用現(xiàn)有的數(shù)據(jù)庫系統(tǒng)來存儲和獲取所需的信息。這類學生計算機基礎(chǔ)知識并不多,且也不會花過多學時來學習數(shù)據(jù)庫技術(shù),這給教學帶來難度。不過,即使作為一個數(shù)據(jù)庫系統(tǒng)用戶,若不具備數(shù)據(jù)庫原理的基本知識,也不能正確、有效地使用數(shù)據(jù)庫。為適應(yīng)這一層次的教學,我們可以有針對性地將相關(guān)內(nèi)容做縮減,濃縮成一門課程讓學生學習??s減的方法可根據(jù)學生的類別(文科還是理科)和知識背景等具體情況而定,不過,至少應(yīng)涵蓋下列內(nèi)容:1)計算機基礎(chǔ)知識;2)信息檢索基本原理和方法;3)關(guān)系數(shù)據(jù)模型;4)關(guān)系數(shù)據(jù)操作(含關(guān)系運算、標準SQL語言、約束與觸發(fā)器);5)一種商業(yè)數(shù)據(jù)庫管理系統(tǒng)(DBMS)的基本應(yīng)用。
3注重實踐教學的創(chuàng)新
數(shù)據(jù)庫系統(tǒng)知識是理論與實踐并重的,相關(guān)課程具有應(yīng)用性、系統(tǒng)性強的特點,教學上,除教師課堂講授外,還應(yīng)有多種實踐教學形式加以輔助。實踐教學應(yīng)注重培養(yǎng)學生的自主思考、自主學習和動手的能力,教師在設(shè)計實踐內(nèi)容和方法時不必拘泥于固有的實踐教學模式,應(yīng)以提升學生的分析問題、解決問題能力為目的勇于創(chuàng)新。
3.1實踐教學形式的多樣性
實踐教學在形式上不應(yīng)僅限于“教師布置題目,學生到機房上機操作”,根據(jù)不同的教學目標,因地制宜采取多種實踐教學形式,包括課程上機實驗、課程設(shè)計、案例系統(tǒng)演示、優(yōu)秀數(shù)據(jù)庫系統(tǒng)觀摩、項目開發(fā)實踐,社會調(diào)查、畢業(yè)實習和畢業(yè)設(shè)計等等。
3.2實踐教學環(huán)節(jié)的改進
目前實踐教學環(huán)節(jié)存在實踐教學的內(nèi)容和范圍局限性大、實踐環(huán)節(jié)難以激發(fā)學生興趣、考核標準難以統(tǒng)一且流于形式。為保證實踐教