何曉桃
(廣東工業(yè)大學,廣東 廣州 510006)
數(shù)據(jù)庫課程是計算機各類專業(yè)本科生的非常重要的專業(yè)必修課程,教學目標是向學生傳授數(shù)據(jù)庫原理的基本知識和技術,培養(yǎng)學生的實際動手能力以及分析和解決問題的能力,提高學生的計算機和科學的綜合素質[1]。數(shù)據(jù)庫課程理論性強、應用廣泛,涉及數(shù)據(jù)庫原理、數(shù)據(jù)庫應用和數(shù)據(jù)庫設計三方面的內容。一般高校會同時開設數(shù)據(jù)庫原理和數(shù)據(jù)庫課程設計兩門課程。數(shù)據(jù)庫原理主要講述數(shù)據(jù)庫領域的基本概念和基本原理,數(shù)據(jù)庫課程設計主要指導學生設計和開發(fā)一個數(shù)據(jù)庫系統(tǒng)。學生通過本課程的學習,既能理解和掌握數(shù)據(jù)庫原理的基本組成、基本理論,又能掌握數(shù)據(jù)庫設計和使用的方法,鍛煉實際動手能力,從而能在今后的工作中勝任計算機及其信息技術領域的工作[2]。
本文結合廣東工業(yè)大學計算機學院目前數(shù)據(jù)庫原理和數(shù)據(jù)庫課程設計教學內容,分別探討課程開設的內容、現(xiàn)狀和存在的問題,最后結合作者的教學實踐,提出了一些教學改革措施,并取得了良好的實踐效果。
數(shù)據(jù)庫原理課程內容包括數(shù)據(jù)庫的基本概念和基本理論,各種數(shù)據(jù)模型的特點,數(shù)據(jù)庫系統(tǒng)的組成,關系數(shù)據(jù)庫基本概念,關系代數(shù),SQL語言,優(yōu)化技術和關系數(shù)據(jù)理論,數(shù)據(jù)庫的設計理論以及數(shù)據(jù)保護等[3]。
數(shù)據(jù)庫課程設計要求學生運用數(shù)據(jù)庫原理理論知識,結合某種具體的數(shù)據(jù)庫管理系統(tǒng)軟件設計與實現(xiàn)一個數(shù)據(jù)庫系統(tǒng)。[4]它是計算機相關專業(yè)集中實踐環(huán)節(jié)的必修課,是學生學習完數(shù)據(jù)庫原理課程后,進行的一次全面的綜合訓練,其目的在于加深對數(shù)據(jù)庫基礎理論和基本知識的理解,培養(yǎng)學生對C/S模式和B/S模式的數(shù)據(jù)庫系統(tǒng)的設計和開發(fā)能力。其具體內容包括:調查并分析應用背景的業(yè)務和數(shù)據(jù)需求、設計E-R模型、將E-R模型轉換成關系數(shù)據(jù)模型、創(chuàng)建數(shù)據(jù)庫、設計用戶介面和編寫應用程序。系統(tǒng)要求采用C/S或B/S模式的數(shù)據(jù)庫系統(tǒng)體系結構,可選用VB、PB、ASP、JSP等工具設計用戶界面(Windows窗口或網(wǎng)頁形式)并連接數(shù)據(jù)庫,實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的基本操作(包括對數(shù)據(jù)的查詢、插入、刪除、修改等操作)、簡單的事務處理和統(tǒng)計報表等功能。
目前高校普遍存在數(shù)據(jù)庫原理和數(shù)據(jù)庫課程設計分離的教學誤區(qū)。例如:一般數(shù)據(jù)庫原理安排54個理論課時,這部分課程內容于15周內結束。數(shù)據(jù)庫原理課程結束以后,學生將開始為時一周的數(shù)據(jù)庫課程設計。這種以理論知識點為前期教學核心的教學方式存在以下幾方面的問題。
數(shù)據(jù)庫原理課程的知識點本身較為抽象、枯燥、不易理解,學生在上數(shù)據(jù)庫原理課時,對理論知識感到非常深奧難懂。因為沒有實際練習和教學演示,因此學生無法真正領會這些理論知識什么時候用、應該怎樣用,以及如何將日常生活中的情況與數(shù)據(jù)庫理論進行聯(lián)系,從而普遍感到數(shù)據(jù)庫理論知識抽象、難于理解,導致學生對該課程的學習興趣降低,學習效果不佳。因為學生學完后不能馬上與實踐相結合,還降低了課程的教學效果。
傳統(tǒng)的以知識體系為核心的“灌輸型”課堂教學方式,教學效果差。在教學內容的組織時都要求教師系統(tǒng)地講授理論知識,并對知識點進行重點和難點分析,而應用知識講解和演示的都不夠。過多的理論介紹,既增加學生的學習負擔,又不能突出教學重點,還會挫敗學生的學習積極性。
數(shù)據(jù)庫課程設計時間安排一周,在這一周時間里面包括老師對課程設計成績的考核評定。一個數(shù)據(jù)庫系統(tǒng)的設計過程包括系統(tǒng)開發(fā)環(huán)境的安裝和學習,應用需求分析,E-R圖設計,數(shù)據(jù)庫邏輯結構和物理結構的設計,應用程序模塊設計和代碼編寫、調試等。這中間的每一個步驟都需要學生時間學習、體會、交流并修改。例如:開發(fā)環(huán)境的安裝和學習,涉及操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、中間應用服務器的安裝和參數(shù)配置調試,大部分學生需要用一個星期時間安裝完成并順利啟動數(shù)據(jù)庫管理系統(tǒng)。又例如:數(shù)據(jù)庫邏輯結構設計,首先從E-R圖轉換成的關系模式,然后對所有關系模式做規(guī)范化的檢查,和效率上的優(yōu)化,大部分同學需要兩個星期的時間完成。即便是一個非常簡單的模擬的小型學生管理系統(tǒng),數(shù)據(jù)庫設計都需要這個時間。因為一周時間遠遠不夠設計和實現(xiàn)一個數(shù)據(jù)庫系統(tǒng),所以,許多學生可能隨便在網(wǎng)絡上下載,或者找?guī)熜謳熃憧截愐粋€現(xiàn)成的系統(tǒng)應付老師的檢查。也有一部分學生認真學習,但是為了在規(guī)定的時間內完成,完全照著一本數(shù)據(jù)庫設計指導書的演示系統(tǒng),跟著做一遍。這種情況算好的,但是中間每一步驟為什么要這么做,學生都沒有時間思考,以至于做完一個數(shù)據(jù)庫系統(tǒng)以后,依然沒有實現(xiàn)上面所述的數(shù)據(jù)庫課程設計的目的。
根據(jù)以上在數(shù)據(jù)庫相關課程教學中表現(xiàn)出來的問題,結合本人多年的教學研究實踐,總結出以下幾點改進的方法。
目前數(shù)據(jù)庫原理方面的教材很多,一些以數(shù)據(jù)庫原理為主要內容,側重于理論研究,應用方法和技術介紹得少,這類教材更適用于數(shù)據(jù)庫專業(yè)的碩士生教材;一些以某個常用的數(shù)據(jù)庫系統(tǒng)的設計和開發(fā)為線索,側重介紹某一具體的數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品及其開發(fā)技術,數(shù)據(jù)庫理論介紹較少,這類教材更適用于專科學?;驍?shù)據(jù)庫培訓機構使用。上述兩種書籍都有一定程度的欠缺。目前高等教育出版社的由薩師煊、王珊編寫的《數(shù)據(jù)庫系統(tǒng)概論》能較好地將理論與應用相結合,將數(shù)據(jù)庫原理和數(shù)據(jù)庫應用技術兩部分內容較好地結合起來。
教師在教學過程中,根據(jù)當前學生的接受能力,在教材的基礎上對其中的內容做一定程度上的增刪是非常必要的,常采用以下的方法:
針對學生在數(shù)據(jù)庫課程設計中的問題,適當增減數(shù)據(jù)庫原理的各章節(jié)的內容。例如教材的第一章,圖示了數(shù)據(jù)庫系統(tǒng)的組成和數(shù)據(jù)庫在計算機系統(tǒng)中的地位。教師在講述的時候增加數(shù)據(jù)庫設計過程的內容介紹,讓學生在學習課程之初就知道最后的學習目的是設計和開發(fā)一個數(shù)據(jù)庫系統(tǒng),并了解設計和開發(fā)大概的過程。從而讓學生可以在技術上做一些學習準備。例如先實習和使用一個具體的DBMS,學習和使用一個具體的設計開發(fā)工具或B/S框架等。教材的第二章,關系操作的的關系演算語言,可以不講或者只是介紹;針對很多學生在學習SQL語言,容易入門,不容易精通;容易上手,不容易知道原理的情況,對第二章的關系代數(shù)語言部分內容,就可以詳細介紹,并補充一定量的課堂練習和課后作業(yè),為學生學習并精通第三章的SQL語言打下結實的理論基礎。數(shù)據(jù)規(guī)范理論章節(jié)內容,理論性強,概念繁多,教材在講述的時候,缺少必要的實例演示。例如,范式的內容,可以增加同學們比較熟悉的學生管理系統(tǒng)里面的關系模式,進行范式的判斷。根據(jù)學生的學習接受能力,4NF以后的內容可以只做介紹,重點在于3NF,BCNF的講解。尤其是Armstrong公理系統(tǒng),需要補充大量的例題,作為課堂練習和課后作業(yè),以加深學生對概念的理解和應用。借助科研和項目開發(fā),使教學內容最新化。在課程教學中,教師盡量將科研課題中的項目開發(fā)和教學內容結合,不斷了解前沿技術,不斷增加新的知識和新的案例,從而實現(xiàn)課堂教學內容新穎、信息量大,反映當前計算機技術先進水平,適應社會需要的目標。例如在講解數(shù)據(jù)庫設計章節(jié),結合具體的項目設計開發(fā)的數(shù)據(jù)庫設計和開發(fā)的過程,對整個設計過程做一個演示;可以介紹目前流行的網(wǎng)絡數(shù)據(jù)庫的兩大技術框架J2EE和.NET;介紹C/S結構和B/S結構數(shù)據(jù)庫;建議學生學習使用實用性強,入門容易的SQL Server,同時推薦基礎好的學生入門學習使用Oracle等大型系統(tǒng),并介紹大中型DBMS的特點等。
把數(shù)據(jù)庫課程設計指導分布到整個數(shù)據(jù)庫原理教學的過程中。
4.3.1 數(shù)據(jù)庫課程設計和數(shù)據(jù)庫原理教學同時進行
數(shù)據(jù)庫原理第一周介紹完數(shù)據(jù)庫系統(tǒng)組成和數(shù)據(jù)庫設計過程后,就開始數(shù)據(jù)庫課程設計指導,首先布置DBMS、開發(fā)工具和框架的選擇和學習任務,指導學生在第三周左右選擇并安裝調試完成開發(fā)環(huán)境。
4.3.2 改進數(shù)據(jù)庫課程設計的教學方法上,實行開放式課程設計指導
給出環(huán)境配置選擇,讓學生自由選擇題目和開發(fā)環(huán)境。例如 VC+++SQL2005;PHP+MYSQL;delphi+sql2000;Jbuilder+SQL2000;VB+Access;Eclipse+SQL2000;JSP+MySQL+Hibernate;JSP+SQL 2005;Struts+Hibernate+Spring+MySQL;C#+SQL2000,并對各種配置特點做簡單的介紹,并給出選擇建議,例如基礎一般的學生可以選擇VB+Access,基礎好的學生可以嘗試Oracle等。
4.3.3 規(guī)范化課程設計管理
在課程設計指導上面,有以下環(huán)節(jié):確定開發(fā)環(huán)境、熟悉開發(fā)環(huán)境、確定選題、中期檢查(進度調查)、課程設計答辯、提交設計報告。通過規(guī)范化的過程的推進,讓學生可以清楚地了解在什么階段應該做什么以及如何做,以保障課程設計的順利進行。整個課程設計過程中,經(jīng)常調查進度。結合數(shù)據(jù)庫原理教學內容,在數(shù)據(jù)庫課程設計的每個環(huán)節(jié),教師都有的放矢地對部分學生個體的設計進行分析和指導。例如在講述第三章的時候,結合某個具體的DBMS指導學生如何盡快學習DBMS的SQL語言。在講述第六章的時候,抽查某個學生的數(shù)據(jù)庫模式設計,實例分析模式的范式以及操作異常等。在講述第七章的時候,抽查某個學生的E_R圖,分析E-R圖設計過程中的常見問題等。
本文結合作者多年的教學經(jīng)驗,分析了計算機相關專業(yè)數(shù)據(jù)庫原理理論課程和數(shù)據(jù)庫課程設計課程開設的現(xiàn)狀和存在的各種問題,針對教學方法進行了思考和探討,提出了幾點改進方法,經(jīng)過教學實踐,學生的反映比較良好,取得了較好的效果。
由于數(shù)據(jù)庫技術在不斷發(fā)展,知識在不斷更新,要提高數(shù)據(jù)庫原理及課程設計的教學質量和教學效果,需要任課教師不斷更新教學觀念,學習新知識,充實自己,勤于思考,銳意改革,優(yōu)化教學內容,積累教學經(jīng)驗,改進教學方法和手段,構建科學、合理的教學思路,為社會培養(yǎng)出更多高素質應用型專業(yè)技術人才。
[1]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版)[M].北京:高等教育出版社.2006.
[2]張然,朱青.“數(shù)據(jù)庫原理”課程教學改革關鍵問題探討[J].考試周刊,2009(16):14-16.
[3]陸慧娟.數(shù)據(jù)庫系統(tǒng)原理.[M].杭州:浙江大學出版社.2004
[4]何玉潔.數(shù)據(jù)庫設計教程[M].黃婷兒等譯.北京:高等教育出版社.2005.