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