邊山,黃棟,梁云
(華南農業大學數學與信息學院,廣州510642)
數據庫課程是高等院校的計算機相關專業的核心必修課之一,課程名稱又為《數據庫原理》或《數據庫系統》。兩種課程名稱則分別強調了課程的理論性和應用性特點,由此可見數據庫課程是一門兼有理論和應用的綜合性課程。它不僅要求學生掌握基礎的理論知識,如關系代數理論,更重要的是學生需要通過大量的應用實踐,掌握基于結構化查詢語言(SQL,Structured Query Language)的數據庫管理系統(DBMS)的使用以及關系數據庫設計。
圖1列舉了數據庫課程的基本內容體系。從圖中可以看出該課程的內容可大體分為四個部分,分別為關系數據庫理論、數據庫相關語言、數據庫設計以及數據庫管理。關系數據庫主要涉及到關系數據結構、關系操作、關系代數語言和關系演算;數據庫相關語言(SQL語言)主要涉及數據定義/查詢語言,視圖,動態SQL以及存儲過程和觸發器為代表的高級SQL語言;數據庫設計部分主要學習實體關系模型進行概念設計以及范式理論進行數據庫優化;數據庫管理相關內容涉及到用戶管理、權限控制和事務管理方面。
上述的數據庫課程內容體系既涉及到數據庫理論性特點,也兼顧了數據庫系統的應用性特征。關系數據庫和數據庫設計部分以理論教學為核心,是整個數據庫課程的理論基礎,重點培養學生對于關系型數據庫和數據庫設計的理論思維能力;在此基礎上,SQL語言和數據庫管理的內容是課程要求掌握的實踐應用技能,著重培養學生的實驗思維能力。

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