邊山,黃棟,梁云
(華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院,廣州510642)
數(shù)據(jù)庫課程是高等院校的計算機相關(guān)專業(yè)的核心必修課之一,課程名稱又為《數(shù)據(jù)庫原理》或《數(shù)據(jù)庫系統(tǒng)》。兩種課程名稱則分別強調(diào)了課程的理論性和應(yīng)用性特點,由此可見數(shù)據(jù)庫課程是一門兼有理論和應(yīng)用的綜合性課程。它不僅要求學(xué)生掌握基礎(chǔ)的理論知識,如關(guān)系代數(shù)理論,更重要的是學(xué)生需要通過大量的應(yīng)用實踐,掌握基于結(jié)構(gòu)化查詢語言(SQL,Structured Query Language)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)的使用以及關(guān)系數(shù)據(jù)庫設(shè)計。
圖1列舉了數(shù)據(jù)庫課程的基本內(nèi)容體系。從圖中可以看出該課程的內(nèi)容可大體分為四個部分,分別為關(guān)系數(shù)據(jù)庫理論、數(shù)據(jù)庫相關(guān)語言、數(shù)據(jù)庫設(shè)計以及數(shù)據(jù)庫管理。關(guān)系數(shù)據(jù)庫主要涉及到關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作、關(guān)系代數(shù)語言和關(guān)系演算;數(shù)據(jù)庫相關(guān)語言(SQL語言)主要涉及數(shù)據(jù)定義/查詢語言,視圖,動態(tài)SQL以及存儲過程和觸發(fā)器為代表的高級SQL語言;數(shù)據(jù)庫設(shè)計部分主要學(xué)習(xí)實體關(guān)系模型進行概念設(shè)計以及范式理論進行數(shù)據(jù)庫優(yōu)化;數(shù)據(jù)庫管理相關(guān)內(nèi)容涉及到用戶管理、權(quán)限控制和事務(wù)管理方面。
上述的數(shù)據(jù)庫課程內(nèi)容體系既涉及到數(shù)據(jù)庫理論性特點,也兼顧了數(shù)據(jù)庫系統(tǒng)的應(yīng)用性特征。關(guān)系數(shù)據(jù)庫和數(shù)據(jù)庫設(shè)計部分以理論教學(xué)為核心,是整個數(shù)據(jù)庫課程的理論基礎(chǔ),重點培養(yǎng)學(xué)生對于關(guān)系型數(shù)據(jù)庫和數(shù)據(jù)庫設(shè)計的理論思維能力;在此基礎(chǔ)上,SQL語言和數(shù)據(jù)庫管理的內(nèi)容是課程要求掌握的實踐應(yīng)用技能,著重培養(yǎng)學(xué)生的實驗思維能力。
圖1
《數(shù)據(jù)庫系統(tǒng)》課程是計算機相關(guān)專業(yè)學(xué)生的必修課程,其在專業(yè)教育中的重要性不言而喻。然而,經(jīng)過多年的一線教學(xué)和調(diào)研工作,筆者發(fā)現(xiàn)目前的教學(xué)工作仍然存在著一些問題。
課程內(nèi)容與社會需求脫節(jié)是課程教學(xué)中存在的主要問題?!稊?shù)據(jù)庫系統(tǒng)》課程屬于理論和實踐應(yīng)用聯(lián)系緊密的課程,諸多教師在課程教學(xué)中由于受傳統(tǒng)教學(xué)模式和理論教學(xué)慣性思維的影響,在知識傳授過程中偏重采用原理講解、列舉實例以及習(xí)題訓(xùn)練的三步走教學(xué)方式。此類教學(xué)方式使得課程中所學(xué)習(xí)到數(shù)據(jù)庫相關(guān)知識無法與系統(tǒng)開發(fā)應(yīng)用相結(jié)合,導(dǎo)致學(xué)生缺乏實際操作數(shù)據(jù)庫的能力。因此教學(xué)內(nèi)容與社會實際需求的脫節(jié)嚴重偏離了《數(shù)據(jù)庫系統(tǒng)》課程的培養(yǎng)目標[2]。
教學(xué)方法陳舊是數(shù)據(jù)庫系統(tǒng)教學(xué)中存在的第二個問題[3]。教師按傳統(tǒng)的“填鴨式”教學(xué)方法,向?qū)W生灌輸理論術(shù)語、抽象的概念,把主要精力放在命令的解釋。課堂教學(xué)以教師為中心,以課程為主,重視課堂講解,而忽略課堂互動和學(xué)生反饋。由于數(shù)據(jù)庫系統(tǒng)理論知識多,學(xué)生往往會感到枯燥無聊,注意力難以集中,難以達到良好的課堂教學(xué)效果。
目前實驗課堂教學(xué)主要采用驗證式的實驗方法[4]。這種教學(xué)方法比較注重對學(xué)生現(xiàn)有單個技能的培養(yǎng)。如數(shù)據(jù)庫系統(tǒng)實驗時學(xué)生只訓(xùn)練了SQL語言部分,而對于完整數(shù)據(jù)庫的設(shè)計、搭建、管理實踐環(huán)節(jié)等卻是一無所知。在畢業(yè)設(shè)計時許多學(xué)生不懂得如何使用大型數(shù)據(jù)庫管理系統(tǒng)的高級技術(shù),不會采用軟件工程的思想去合作開發(fā)一個實用的數(shù)據(jù)庫應(yīng)用系統(tǒng)。這將直接導(dǎo)致學(xué)生的未來工作中應(yīng)用能力的欠缺和不足。
從上述的數(shù)據(jù)庫課程教學(xué)存在的問題中,可以看出,理論教學(xué)和實踐教學(xué)不能顧此失彼,應(yīng)該擺在同等重要的位置,這樣才能達到計算機理論專業(yè)性教育以及實踐應(yīng)用性教育的雙重培養(yǎng)目標。因此,我們探索并研究了實踐輔助理論教學(xué)的新方法,并通過教學(xué)實驗驗證了方法的有效性。下面將詳細介紹我們提出的教學(xué)改革方法。
合理的課程設(shè)置是有效教學(xué)的重要前提。我們組成“數(shù)據(jù)庫研究小組”深入研究美國ACM和IEEE CS的計算機課程體系,并參考麻省理工學(xué)院、加州理工大學(xué)、卡耐基梅隆大學(xué)等著名大學(xué)的數(shù)據(jù)庫教學(xué)方案,根據(jù)數(shù)據(jù)庫課程的實際教學(xué)要求,,對現(xiàn)有教學(xué)體系進行改革與整合。同時針對當前社會對數(shù)據(jù)庫技術(shù)人才需求和要求,重新修訂數(shù)據(jù)庫教學(xué)大綱,設(shè)置更加合理的教學(xué)內(nèi)容,將教學(xué)重點和教學(xué)目標鎖定在數(shù)據(jù)庫原理和實踐應(yīng)用開發(fā)技術(shù)上,合理地分配理論教學(xué)和實踐教學(xué)的學(xué)時。
對于關(guān)系數(shù)據(jù)模型和數(shù)據(jù)庫設(shè)計的理論教學(xué)中,我們選擇與學(xué)生學(xué)習(xí)生活貼近的教務(wù)管理系統(tǒng)作為案例進行啟發(fā)式講解。從熟知的學(xué)生成績數(shù)據(jù)表結(jié)構(gòu)引出關(guān)系數(shù)據(jù)模型的概念,以此為例進一步介紹關(guān)系代數(shù)運算、講解關(guān)系演算等理論內(nèi)容。同樣,從教務(wù)管理系統(tǒng)的需求分析開始,引導(dǎo)學(xué)生一步步實現(xiàn)概念設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理設(shè)計和優(yōu)化等。由于學(xué)生選課、報名、查成績等都需要用到教務(wù)系統(tǒng),對案例中的內(nèi)容非常熟悉,借助案例啟發(fā)式教學(xué)使得學(xué)生能夠更好理解數(shù)據(jù)庫理論知識,大大提高了學(xué)生的課堂積極性和對數(shù)據(jù)庫理論知識學(xué)習(xí)的興趣。
在SQL語言以及數(shù)據(jù)庫管理的教學(xué)中,我們重點采用理論與實踐結(jié)合的教學(xué)方式。SQL語言和數(shù)據(jù)庫管理是和具體的數(shù)據(jù)庫管理系統(tǒng)(DBMS)直接相關(guān)的教學(xué)內(nèi)容,我們選用Oracle9為實驗平臺,采用理論教學(xué)和實踐教學(xué)相結(jié)合的教學(xué)方法。具體地,在理論課教學(xué)中,根據(jù)Oracle9數(shù)據(jù)庫的基本語法,講解SQL語言和數(shù)據(jù)庫管理相關(guān)操作,包括數(shù)據(jù)定義、數(shù)據(jù)查詢、視圖的定義和使用、動態(tài)SQL語法、存儲過程觸發(fā)器的定義使用、用戶權(quán)限管理以及事務(wù)定義和管理的相關(guān)內(nèi)容。為輔助理論課教學(xué),我們同期開展實踐課教學(xué),根據(jù)理論課的進度有針對性地訓(xùn)練學(xué)生們在實驗室Oracle9環(huán)境下的實踐能力。通過理論結(jié)合實踐的教學(xué)方法,不僅通過實踐促進學(xué)生對于理論知識的理解,還將抽象的理論知識在實踐中進行驗證。理論教學(xué)和實踐教學(xué)互相促進,起到了相得益彰的作用。
為了進一步鞏固和檢驗教學(xué)效果,我們在數(shù)據(jù)庫課程之后還專門開設(shè)了數(shù)據(jù)庫分析與實習(xí)課程,要求學(xué)生在Windows環(huán)境下開發(fā)一個基于數(shù)據(jù)庫的應(yīng)用系統(tǒng)。該課程要求學(xué)生掌握實現(xiàn)一個完整的數(shù)據(jù)庫應(yīng)用系統(tǒng)的流程和方法,包括功能分析、數(shù)據(jù)庫設(shè)計、應(yīng)用程序設(shè)計,并且熟悉對數(shù)據(jù)庫的操作,包括數(shù)據(jù)庫連接、SQL、完整性約束、索引,以及視圖、觸發(fā)器、存儲過程等數(shù)據(jù)庫對象的綜合運用。通過實習(xí)課程的實踐,學(xué)生能夠進一步鞏固數(shù)據(jù)庫相關(guān)的理論知識,加深對于數(shù)據(jù)庫理論的理解,并且將基礎(chǔ)理論真正地學(xué)以致用,實現(xiàn)理論思維培養(yǎng)和實踐能力訓(xùn)練的雙贏的效果。
本文分析了《數(shù)據(jù)庫系統(tǒng)》課程教學(xué)中存在的若干問題,包括:教學(xué)內(nèi)容與社會實際需求脫節(jié)、重實踐而忽視思維能力的培養(yǎng)。根據(jù)我們的探索和研究,提出了基于應(yīng)用能力培養(yǎng)的數(shù)據(jù)庫系統(tǒng)課程教學(xué)改革方法,包括:科學(xué)合理地設(shè)計教學(xué)內(nèi)容、采用案例啟發(fā)式教學(xué)方法、理論教學(xué)和實踐教學(xué)相結(jié)合。通過我們提出的《數(shù)據(jù)庫系統(tǒng)》課程教學(xué)改革方法,既可以實現(xiàn)理論教學(xué)效果的鞏固,又可將基礎(chǔ)理論付諸實踐,同時達到對學(xué)生理論思維培養(yǎng)和實踐能力訓(xùn)練的雙重目標。
[1]瞿中.數(shù)據(jù)庫教學(xué)方法改革的探索與實踐[J].黑龍江高教研究,2006(2):113-114.
[2]顏清.數(shù)據(jù)庫系統(tǒng)概論教學(xué)改革與實踐研究[J].教育探索,2008(9):25-26.
[3]簡艷英,周愛霞.數(shù)據(jù)庫系統(tǒng)及應(yīng)用課程教學(xué)改革[J].教育與職業(yè),2007(26):155-156.
[4]孟憲虎.面向應(yīng)用型人才培養(yǎng)的數(shù)據(jù)庫系列課程體系和教學(xué)模式改革探索[J].計算機教育,2009(24):6-9.