摘 要: 本文針對目前數(shù)據(jù)庫原理教學(xué)中存在的一些問題,從課程的內(nèi)容編排、教學(xué)方法和實踐環(huán)節(jié)三個關(guān)鍵方面進(jìn)行了教學(xué)改革探討。
關(guān)鍵詞: “數(shù)據(jù)庫原理”課程 教學(xué)內(nèi)容 理論教學(xué) 實踐環(huán)節(jié)
1.引言
數(shù)據(jù)庫技術(shù)是計算機科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,也是應(yīng)用最為廣泛的技術(shù)之一,它已經(jīng)成為計算機信息系統(tǒng)和應(yīng)用系統(tǒng)的核心技術(shù)和重要基礎(chǔ)。經(jīng)過幾十年的發(fā)展,數(shù)據(jù)庫技術(shù)已經(jīng)形成了比較完整的理論體系和廣泛的應(yīng)用系統(tǒng)。
“數(shù)據(jù)庫原理”課程作為大學(xué)本科計算機專業(yè)的一門專業(yè)基礎(chǔ)必修課,主要講授數(shù)據(jù)庫的基本原理和應(yīng)用設(shè)計方法,理論性強、應(yīng)用廣泛。通過該課程的學(xué)習(xí),如何使學(xué)生既能掌握數(shù)據(jù)庫技術(shù)的基本概念和理論,又能掌握數(shù)據(jù)庫的設(shè)計和應(yīng)用方法,更好地勝任今后的實際工作,是所有任課教師都要重視的問題。目前,我國高校計算機及信息技術(shù)等相關(guān)專業(yè)大都開設(shè)了數(shù)據(jù)庫原理這門課程,教學(xué)內(nèi)容和教學(xué)方法基本相似,并且大都存在著一些類似的問題。針對目前數(shù)據(jù)庫原理教學(xué)中存在的一些問題,本文對該課程的內(nèi)容組織、教學(xué)方法和實踐環(huán)節(jié)幾個關(guān)鍵問題進(jìn)行研究探討。
2.優(yōu)化教學(xué)內(nèi)容的組織結(jié)構(gòu)
教學(xué)內(nèi)容的選擇和知識模塊的組織方式是課堂教學(xué)的一個重要方面,直接影響著教學(xué)效果。教學(xué)內(nèi)容是培養(yǎng)目標(biāo)、教學(xué)計劃和課程體系的完整體現(xiàn),也是課堂教學(xué)得以實施的基本保證,而知識模塊的組織方法則是先進(jìn)教學(xué)思想的體現(xiàn),它對于教學(xué)方法和教學(xué)手段的創(chuàng)新,以及提高教學(xué)質(zhì)量都有著非常重要的促進(jìn)作用。
傳統(tǒng)的數(shù)據(jù)庫原理課程的教學(xué)內(nèi)容主要以關(guān)系數(shù)據(jù)庫為基礎(chǔ)、數(shù)據(jù)庫管理系統(tǒng)為中心,介紹關(guān)系系統(tǒng)的基本原理,理論教學(xué)始終放在首位,很少涉及具體的應(yīng)用,學(xué)生在最初的學(xué)習(xí)過程中因為沒有實踐的心得體會而很難理解那些抽象的概念和理論,并進(jìn)一步導(dǎo)致學(xué)生被動乏味、興趣低下。進(jìn)入實踐階段后,由于理論基礎(chǔ)不扎實,學(xué)生常會感到無從下手,致使實踐和理論之間嚴(yán)重脫節(jié),更進(jìn)一步挫傷了學(xué)生學(xué)習(xí)的積極性,影響了教學(xué)效果。
鑒于內(nèi)容編排上的問題,我們在介紹完數(shù)據(jù)庫的一些基本概念之后,即對照著某一具體的關(guān)系數(shù)據(jù)庫系統(tǒng),如SQL SERVER 2005,介紹關(guān)系模型、關(guān)系代數(shù)和關(guān)系數(shù)據(jù)庫語言SQL等內(nèi)容,同時進(jìn)行上機實踐,這樣學(xué)生能較早對關(guān)系數(shù)據(jù)庫有個感性認(rèn)識,較好地掌握SQL的語法和功能,并鍛煉其實際操作能力。接下來,針對某一具體數(shù)據(jù)庫應(yīng)用系統(tǒng)的需求,如圖書管理系統(tǒng),講授關(guān)系數(shù)據(jù)庫的規(guī)范化理論和設(shè)計方法。這樣讓課程內(nèi)容的組織始終與具體應(yīng)用相結(jié)合,不僅使很多抽象難懂的概念更加具體和容易理解,而且調(diào)動了學(xué)生學(xué)習(xí)的興趣和積極性。
3.從需求和問題出發(fā)進(jìn)行理論教學(xué)
現(xiàn)在很多數(shù)據(jù)庫原理教材都是從理論出發(fā),先講解一大堆的理論,然后才談及實踐。由于數(shù)據(jù)庫的基本原理、概念和技術(shù)的理論性強、抽象度高,因此這樣常會導(dǎo)致學(xué)生在最初的理論知識學(xué)習(xí)階段感覺被動乏味、興趣低下、理解困難,一些學(xué)生甚至?xí)员┳詶墶2⑶遥@種用理論引出實踐的方法也不符合人們認(rèn)知世界的規(guī)律。馬克思主義的實踐論和認(rèn)知論告訴我們,理論源于實踐,又反過來指導(dǎo)實踐,脫離實踐的理論是空洞無力的,“實踐—理論—再實踐—再理論”無限循環(huán)往復(fù)才是人類認(rèn)知世界的基本過程。因此,從實踐引出理論會使理論知識更容易理解,能夠讓學(xué)生首先明白學(xué)習(xí)這些理論的實際意義,也更容易激發(fā)學(xué)生的積極性和主動性。
為了幫助學(xué)生理解抽象的理論,激發(fā)興趣,我們采取了下面的方法。
(1)課程第一堂課,先聯(lián)系生活實際,談?wù)勎覀兩钪心男┑胤诫x不開數(shù)據(jù)庫,如:銀行儲蓄,火車飛機訂票,學(xué)生的學(xué)籍管理,人事工資管理,等等。讓學(xué)生從感性上認(rèn)識到數(shù)據(jù)庫和我們現(xiàn)代生活的密切相關(guān)性。接著引出一些相關(guān)概念,如:信息、數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)等,并用實例和類比的方法講解這些概念及其相互關(guān)系。有實際生活知識做背景,這些概念理解起來也就更容易了。
(2)在以關(guān)系數(shù)據(jù)庫為例講解數(shù)據(jù)庫的基本概念、模型和技術(shù)時,選擇一個主流的大型數(shù)據(jù)庫系統(tǒng)作為理論教學(xué)背景和實踐教學(xué)平臺,如SQL Server 2005。在理論教學(xué)講授SQL語句時,如果干巴巴地列出語句格式和要注意的事項,學(xué)生必定感到枯燥乏味。那么,可以在講解SQL語句及其使用格式的同時,在SQL Server 2005環(huán)境下輸入SQL語句,然后讓學(xué)生觀察結(jié)果。如果語句出錯,則引導(dǎo)學(xué)生思考原因:為什么出錯?是格式錯誤,還是邏輯錯誤?如果有條件,也可以在實驗室進(jìn)行這部分內(nèi)容,邊講解邊實驗。這樣不僅調(diào)動了學(xué)生學(xué)習(xí)的積極性,而且加深了學(xué)生對基本概念和理論的理解。
(3)基于問題驅(qū)動的理論教學(xué)法。在講數(shù)據(jù)庫設(shè)計的規(guī)范化理論一章時,很多學(xué)生不明白學(xué)習(xí)這些形式化的理論有什么用。因此,在講這一章之前,應(yīng)先把問題提出來,比如,如何設(shè)計一個數(shù)據(jù)庫的關(guān)系模式,你設(shè)計的這個關(guān)系模式是好是壞?衡量的標(biāo)準(zhǔn)是什么?為什么?讓學(xué)生知道學(xué)習(xí)這章內(nèi)容就是為解決這些問題的,有其必要性和重要性,從而做到心中有數(shù)。接下來講解相關(guān)理論,以及這些理論是如何解決提出的問題的時候,學(xué)生就可以有的放矢地進(jìn)行學(xué)習(xí)了。
4.重視實踐環(huán)節(jié),加強應(yīng)用能力的培養(yǎng)
數(shù)據(jù)庫原理是一門應(yīng)用性很強的課程,實踐環(huán)節(jié)直接關(guān)系到整個課程的教學(xué)效果。目前在數(shù)據(jù)庫原理的教學(xué)中普遍存在一定的誤區(qū);過分強調(diào)原理和知識的完備性和系統(tǒng)性,而忽視了實踐教學(xué)、實驗方案在培養(yǎng)學(xué)生實踐能力和創(chuàng)新能力中的重要作用,認(rèn)為既然是原理課,不論對什么學(xué)生都應(yīng)著重講解理論知識,實踐環(huán)節(jié)的學(xué)時偏少,忽視了學(xué)生實際應(yīng)用能力的培養(yǎng)。此外講課也大多是填鴨式的教學(xué),在學(xué)生自主學(xué)習(xí)和創(chuàng)新能力的培養(yǎng)方面還很欠缺,學(xué)生學(xué)習(xí)狀態(tài)不佳,學(xué)習(xí)目的不明確,導(dǎo)致學(xué)習(xí)效果不理想。
目前大部分院校本科生學(xué)習(xí)該門課程的目的是為了應(yīng)用。對于這樣的學(xué)生,數(shù)據(jù)庫的實踐教學(xué)尤為重要,任課教師更應(yīng)該在實踐教學(xué)上下功夫,讓學(xué)生能夠真正把所學(xué)理論知識和實踐聯(lián)系起來,為日后開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)奠定基礎(chǔ)。
由于學(xué)時的限制,我們在課程實驗環(huán)節(jié)上做了精心設(shè)計和周密安排。除了與理論課相配合的實驗課外,我們還在課程結(jié)束后的小學(xué)期設(shè)置了相應(yīng)的課程設(shè)計。
(1)通過基礎(chǔ)實驗幫助學(xué)生理解和鞏固理論知識
教學(xué)過程中課堂教學(xué)和基礎(chǔ)實驗需同步進(jìn)行。學(xué)生只有通過上機操作才能真正理解所學(xué),消化課堂上的理論知識,這一點對數(shù)據(jù)庫課程也尤為重要。為提高上機質(zhì)量,教師應(yīng)首先做好實驗課和理論課的銜接關(guān)系,實驗課最好和相應(yīng)的理論課同步進(jìn)行,否則很難達(dá)到好的效果。我們按照教學(xué)順序編寫了實驗指導(dǎo)書,讓學(xué)生設(shè)計SQL語句并通過上機來驗證。結(jié)合課程內(nèi)容,我們設(shè)置的實驗如下。
●建立數(shù)據(jù)庫及基本表:學(xué)習(xí)使用關(guān)系數(shù)據(jù)庫SQL SERVER 2005,并練習(xí)數(shù)據(jù)庫的建立和刪除、基本表的建立和修改、數(shù)據(jù)的輸入。
●數(shù)據(jù)更新:使用INSERT、UPDATE、DELETE語句進(jìn)行數(shù)據(jù)更新。
●數(shù)據(jù)查詢:使用SELECT語句進(jìn)行數(shù)據(jù)的查詢。
●視圖的創(chuàng)建與修改:使用CREATE、DROP語句創(chuàng)建和刪除視圖,使用INSERT、UPDATE、DELETE語句更新視圖,體會更新視圖的前提條件。
●數(shù)據(jù)完整性:使用PRIMARY KEY、FOREIGN KEY REFERENCES、NOT NULL、UNIQUE、CHECK等關(guān)鍵字定義完整性約束,并通過相應(yīng)操作驗證這些完整性約束,體驗完整性約束的作用。
(2)通過課程設(shè)計培養(yǎng)學(xué)生的綜合應(yīng)用能力
為了增強學(xué)生的綜合運用能力,在學(xué)完數(shù)據(jù)庫原理課程之后的小學(xué)期我們開設(shè)了相應(yīng)的課程設(shè)計。課程設(shè)計的任務(wù)是讓學(xué)生從實際生活中的數(shù)據(jù)庫應(yīng)用系統(tǒng)出發(fā),完成一個實際的、基于C/S或B/S的數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的全過程。包括:需求調(diào)查、數(shù)據(jù)庫設(shè)計、數(shù)據(jù)庫建立、數(shù)據(jù)輸入、應(yīng)用系統(tǒng)的設(shè)計和開發(fā),用戶界面的設(shè)計和實現(xiàn)等。具體要求如下:
●分組:將學(xué)生分成小組,每組人員為4—5人,組長1名,負(fù)責(zé)任務(wù)分工和總體協(xié)調(diào)。
●分工:每名學(xué)生擔(dān)任不同的角色,包括系統(tǒng)分析、系統(tǒng)設(shè)計人員、數(shù)據(jù)庫設(shè)計人員、應(yīng)用系統(tǒng)開發(fā)人員、測試人員等,分工協(xié)作、共同完成設(shè)計和開發(fā)任務(wù),從而培養(yǎng)團(tuán)隊精神。
●開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng):選擇一個合適的DBMS產(chǎn)品,選擇合適的應(yīng)用開發(fā)工具,按照設(shè)計的結(jié)果建立數(shù)據(jù)庫,開發(fā)應(yīng)用系統(tǒng),輸入數(shù)據(jù)并調(diào)試運行所開發(fā)的系統(tǒng)。
●實驗報告:寫出完整的實驗報告,包括:需求調(diào)查報告、系統(tǒng)分析報告、數(shù)據(jù)庫設(shè)計報告、應(yīng)用系統(tǒng)設(shè)計報告、數(shù)據(jù)庫實施計劃、系統(tǒng)測試計劃、系統(tǒng)測試報告、用戶使用手冊等文檔。
●考查形式:向教師和其他小組運行演示開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng),提交所有文檔。
課設(shè)任務(wù)書后面可附上參考題目,以供學(xué)生選擇,如:圖書管理系統(tǒng)、網(wǎng)上書店系統(tǒng)、加油站管理系統(tǒng)、醫(yī)院住院管理系統(tǒng)、股票交易系統(tǒng)、人力資源管理系統(tǒng)、倉庫管理系統(tǒng)、企業(yè)工資管理系統(tǒng)等。
課設(shè)小組完成設(shè)計方案后,組織全班學(xué)生對每個小組的設(shè)計方案進(jìn)行討論和評價,各小組根據(jù)大家的意見進(jìn)行修改,通過后再進(jìn)行代碼的編寫。整個系統(tǒng)完成后,每組派代表演示本組所開發(fā)的系統(tǒng)。通過集體討論,大家可以互相學(xué)習(xí),交流開發(fā)過程中的收獲和體會。
數(shù)據(jù)庫課程設(shè)計不僅要用到數(shù)據(jù)庫的知識,而且要用到編程和軟件工程方面的知識。教師應(yīng)該讓學(xué)生充分發(fā)揮自己的積極性和主觀能動性,一方面應(yīng)注重學(xué)生獨立解決問題能力的培養(yǎng),另一方面還要注重培養(yǎng)學(xué)生的團(tuán)隊合作精神。在整個課程設(shè)計中,要以學(xué)生為主體,充分發(fā)揮教師的引導(dǎo)作用,教師不僅要指導(dǎo)學(xué)生學(xué)會查找資料,更重要的是培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題和解決問題的能力。
5.結(jié)語
要提高數(shù)據(jù)庫原理的教學(xué)效果,必須不斷優(yōu)化教學(xué)內(nèi)容,積累實踐經(jīng)驗,改進(jìn)教學(xué)方法和手段,構(gòu)建科學(xué)、合理的教學(xué)體系。由于數(shù)據(jù)庫技術(shù)在不斷發(fā)展,知識在不斷更新,教師觀念也必須不斷更新,教師應(yīng)從教學(xué)內(nèi)容、教學(xué)方法和實踐等方面認(rèn)真思考,銳意改革,為社會培養(yǎng)出更多具有創(chuàng)新能力的數(shù)據(jù)庫應(yīng)用人才。
參考文獻(xiàn):
[1]崔巍等.淺談數(shù)據(jù)庫課程實踐教學(xué).計算機教育,2007.11.
[2]黃德才等.“數(shù)據(jù)庫原理及其應(yīng)用”課程知識模塊組織和教學(xué)實踐,中國科教創(chuàng)新導(dǎo)刊,2007,(471).
[3]施伯樂,丁保康等,數(shù)據(jù)庫系統(tǒng)教程(第2版).北京:高等教育出版社,2003.8.
[4]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版)[M].北京:高等教育出版社,2007.11.
基金項目:北京工業(yè)大學(xué)教育教學(xué)研究項目(項目編號:025000514106)資助。