文章編號:1672-5913(2008)18-0058-02
摘要:本文從分析目前數(shù)據(jù)庫系統(tǒng)教學(xué)的缺陷出發(fā),提出了概念教學(xué)的重要性,探討了課程設(shè)計在數(shù)據(jù)庫系統(tǒng)課程中的重要地位及傳統(tǒng)考試方式的改革。
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng);教學(xué)改革;創(chuàng)新能力
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1數(shù)據(jù)庫系統(tǒng)課程教學(xué)中的局限性
本科數(shù)據(jù)庫系統(tǒng)課程通常包括三部分內(nèi)容:數(shù)據(jù)庫原理、數(shù)據(jù)設(shè)計和數(shù)據(jù)庫應(yīng)用。數(shù)據(jù)庫原理是其基礎(chǔ),數(shù)據(jù)庫設(shè)計和應(yīng)用是提高,它們相輔相成、互相促進(jìn)。大部分院校都將數(shù)據(jù)庫應(yīng)用作為一門獨立的課程開設(shè),開設(shè)Visual FoxPro、Delphi、SQL Server等。綜合考慮,數(shù)據(jù)庫系統(tǒng)課程開設(shè)存在一些共同的缺陷。
1.1重視理論教學(xué),輕視數(shù)據(jù)庫設(shè)計
在教學(xué)時,多數(shù)教師重點偏向理論教學(xué),對數(shù)據(jù)建模、關(guān)系數(shù)據(jù)庫、數(shù)據(jù)查詢語言核心內(nèi)容用大量的時間講授,而對于數(shù)據(jù)庫設(shè)計則用很少的時間,很少向?qū)W生介紹具體的數(shù)據(jù)庫使用技術(shù),使學(xué)生不能將所學(xué)知識融會貫通,不知道如何將所學(xué)理論與實際結(jié)合。致使部分學(xué)生對數(shù)據(jù)庫系統(tǒng)課程失去應(yīng)有的興趣,學(xué)生不能掌握課程的實質(zhì),達(dá)不到應(yīng)有的目標(biāo)。
1.2對實踐教學(xué)環(huán)節(jié)重視不夠
目前實驗課教學(xué)存在很多弊端,例如學(xué)生不明確實驗?zāi)康?,實驗?nèi)容不清楚,考核中實驗課也沒有一定的比例等,使得實驗流于形式,既花費了時間又沒有起到應(yīng)有的作用。
1.3課程內(nèi)容相互獨立,忽視知識間的聯(lián)系
數(shù)據(jù)庫系統(tǒng)中,各章之間聯(lián)系相對緊密,有些概念在不同的章節(jié)中重復(fù)出現(xiàn),但這些概念都是由淺入深,逐步完善,知識點也是相互交錯。教師講授時,有時忽視這些知識間的聯(lián)系,將問題單一化,不利于學(xué)生知識的掌握。例如在關(guān)系數(shù)據(jù)理論中,在講授將關(guān)系分解為保持函數(shù)依賴的第三范式并具有聯(lián)接無損性的算法時,要求在求出極小集后,將函數(shù)依賴按左部相同的合并,并將每一組依賴作為一個分解。在講授數(shù)據(jù)庫設(shè)計時,在邏輯結(jié)構(gòu)設(shè)計時,要求實體之間的一對一關(guān)系,可以將兩個實體的碼組成一個關(guān)系也可以與任意一端的關(guān)系合并,對一對多關(guān)系,可以將兩個實體的碼組成一個關(guān)系也可以與將一端關(guān)系的碼與一端關(guān)系合并,同時強調(diào)具有相同碼的關(guān)系可以合并。實際上,模式分解理論與邏輯結(jié)構(gòu)設(shè)計的轉(zhuǎn)換規(guī)則是相同的;在模式分解中,函數(shù)依賴的左邊屬性一定是關(guān)系的碼,而在邏輯結(jié)構(gòu)設(shè)計時,一對一或者一對多的關(guān)系也是將被決定屬性合并到?jīng)Q定屬性(碼)所在的中關(guān)系中。
1.4考核模式單一,不利于學(xué)生能力的發(fā)揮
傳統(tǒng)的考試模式通常以期終一張試卷作為學(xué)生的最終評分依據(jù),造成學(xué)生為考試過關(guān)而學(xué),死記硬背一些概念、規(guī)則方法,而不能提高學(xué)生自身能力,教師僅為完成教學(xué)任務(wù)而教,并不注重培養(yǎng)學(xué)生的能力。
2教學(xué)改革的方法及措施
2.1注重基本概念教學(xué)
在數(shù)據(jù)庫課程的教學(xué)中,掌握好基本概念對理論課程的學(xué)習(xí)很有幫助,數(shù)據(jù)庫中的有些概念貫穿在課程的始終,這些概念的掌握對整個課程的學(xué)習(xí)有很重要的作用。如數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、關(guān)系、元組、實體、屬性、事務(wù)、完整性約束等。有的概念聯(lián)系比較緊密,弄清概念之間的聯(lián)系與區(qū)別,對概念的掌握有較大幫助。如實體和屬性的概念,實體是客觀存在并可以相互區(qū)別的事物,屬性是對實體特征的描述,它們之間有必然的區(qū)別,但是也有一定的關(guān)系。實體和屬性不是絕對的,如果屬性需要進(jìn)一步描述,則屬性就作為實體,反之如果實體不需要再進(jìn)一步描述,則實體也可以作為另一實體的屬性。如在考慮學(xué)生管理數(shù)據(jù)庫時,政治面貌如果只考慮現(xiàn)在的情況(黨員、團(tuán)員等),則政治面貌就是學(xué)生實體的屬性,但是如果考慮學(xué)生何時入團(tuán)、何時入黨,則政治面貌就是一個實體。再如事務(wù)和程序的概念等都有較強的聯(lián)系。
另外,數(shù)據(jù)庫中的概念由漸入深,隨著課程教學(xué)內(nèi)容的逐漸深入一些基本概念也更加具體和完善。例如在課程中,有四個地方都定義了碼,在介紹概念模型時,碼定義為:唯一標(biāo)識實體的屬性集。在研究關(guān)系模型時,碼定義為:表中的某個屬性組,它可以唯一確定一個元組。給出了碼的粗略描述,沒有實質(zhì)性的量化定義。而在關(guān)系數(shù)據(jù)庫中,講授關(guān)系的形式化定義時,碼定義為:若關(guān)系中某一屬性組的值能唯一的標(biāo)識一個元組,則稱該屬性組為候選碼,若一個關(guān)系有多個候選碼,則選中一個為主碼。在講授規(guī)范化理論時,學(xué)習(xí)了函數(shù)依賴后,利用函數(shù)依賴的概念定義碼為:設(shè)K為R中的屬性或者屬性組合,若K→U則K為R的候選碼。若候選碼多于一個,則選定其中的一個為主碼。從理論上來說,這四個概念都是正確的,但一個比一個更具體、更嚴(yán)密、更準(zhǔn)確。
同樣在對函數(shù)依賴講授時也采用了同樣的手法,在關(guān)系數(shù)據(jù)理論中函數(shù)依賴定義為:設(shè)R(U)是屬性集U上的關(guān)系模式,X、Y是U的子集,若對于R(U)的任意一個可能的關(guān)系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或者Y函數(shù)依賴于X,記作X→Y。為了便于Armstrong公理的證明,對函數(shù)依賴又給出了定量的描述。定義為:若對于R(U)的任意一個可能的關(guān)系r,t和s是r的任意兩個元組,X、Y是U的子集,若對于任意一個t[X]=s[X],必然有t[Y]=s[Y],則稱X函數(shù)確定Y或者Y函數(shù)依賴于X,記作X→Y。教師要講清楚對同一概念為什么這樣處理,這些概念層層的描述有什么好處。掌握了同一概念的不同定義,便于對這些概念的深入理解。
2.2注重理論與實踐的結(jié)合
學(xué)習(xí)數(shù)據(jù)庫課程的主要目的是為了應(yīng)用,結(jié)合所學(xué)的數(shù)據(jù)庫語言搞好每一章的課程實驗,以便驗證所學(xué)理論是很重要的。如在講授SQL語言時,讓學(xué)生建立一個數(shù)據(jù)庫,并結(jié)合所學(xué)內(nèi)容做查詢、插入、刪除、修改等實際操作,真正理解和掌握SQL語言的應(yīng)用環(huán)境。在講授數(shù)據(jù)庫安全性和完整性時,利用實際系統(tǒng)讓學(xué)生對系統(tǒng)做數(shù)據(jù)控制。提高學(xué)生對數(shù)據(jù)庫課程的認(rèn)識,激發(fā)學(xué)生的學(xué)習(xí)欲望。
2.3加強課程設(shè)計,提高學(xué)生綜合能力
數(shù)據(jù)庫設(shè)計理論主要是為了指導(dǎo)數(shù)據(jù)庫實踐,通過系統(tǒng)的理論學(xué)習(xí)和部分單元訓(xùn)練,通過課程設(shè)計讓學(xué)生掌握數(shù)據(jù)庫設(shè)計的全過程,并進(jìn)一步掌握數(shù)據(jù)庫課程。課程設(shè)計是數(shù)據(jù)庫中必不可少的,我采取將學(xué)生分組的方式每5~6名同學(xué)一組,為每組同學(xué)擬定一個題目,如圖書管理系統(tǒng)、學(xué)生檔案管理系統(tǒng)、銷售管理系統(tǒng)、能源管理系統(tǒng)等,教師提出要求讓學(xué)生深入圖書館、學(xué)生管理部門或者企業(yè)進(jìn)行系統(tǒng)調(diào)查,進(jìn)行需求分析設(shè)計出數(shù)據(jù)流圖,編寫數(shù)據(jù)字典,然后進(jìn)行概念結(jié)構(gòu)設(shè)計,從數(shù)據(jù)流圖和數(shù)據(jù)字典中提煉出E-R圖,再進(jìn)行邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實施和維護(hù)的設(shè)計。讓每一位同學(xué)明確數(shù)據(jù)庫設(shè)計的過程,使每一組同學(xué)進(jìn)行上機(jī)調(diào)試,使所有功能進(jìn)行程序?qū)崿F(xiàn),最后讓同學(xué)們進(jìn)行設(shè)計答辯。
通過課程設(shè)計和設(shè)計答辯,學(xué)生鞏固了理論知識,豐富了課程實踐,掌握了如何運用理論指導(dǎo)實踐,突出了學(xué)生在教學(xué)中的中心地位,發(fā)揮學(xué)生的主觀能動性。這樣既使學(xué)生掌握了數(shù)據(jù)庫設(shè)計的理論又使學(xué)生學(xué)習(xí)了系統(tǒng)設(shè)計的方法,既提高學(xué)生程序設(shè)計能力又鍛煉了學(xué)生的協(xié)作能力,也為學(xué)生今后撰寫畢業(yè)論文(設(shè)計)打下了堅實的基礎(chǔ)。
2.4擴(kuò)展學(xué)生思路,向?qū)W生傳授新知識
由于課本的出版周期長,更新也較慢,也由于課本編寫的一些要求,所以課本上有些內(nèi)容是陳舊的,對有些問題也不可能全面的介紹,有些新知識也很難溶入到教材中。我在講授課程時,除了給學(xué)生有意補充新知識外,又給學(xué)生開設(shè)了“數(shù)據(jù)庫中的空值問題”、“數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)”、“目前數(shù)據(jù)庫的研究方向”、“數(shù)據(jù)庫的查詢優(yōu)化問題”等專題講座。擴(kuò)充了學(xué)生的視野,激發(fā)了學(xué)生的學(xué)習(xí)興趣,為他們今后的學(xué)習(xí)和研究打下了一定的基礎(chǔ)。
2.5改革考試模式,注重學(xué)生能力的提高
試卷考試主要考查數(shù)據(jù)基礎(chǔ)理論知識,同時將平時成績和上機(jī)實習(xí)成績尤其是數(shù)據(jù)庫課程設(shè)計的成績納入最終成績中,使平時成績占30%-40%,降低期末考試的分?jǐn)?shù),讓學(xué)生用更多的時間投入到平時的學(xué)習(xí)中。
3結(jié)束語
數(shù)據(jù)庫系統(tǒng)課程是計算機(jī)專業(yè)的核心課程,隨著計算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫系統(tǒng)原理課程也在不斷的發(fā)展,教學(xué)內(nèi)容不斷更新,教學(xué)方法也在不斷改革,所以課程教學(xué)改革是一個永恒的課題。只有不斷的改革教學(xué)方法和教學(xué)手段,才能使教學(xué)更加豐富,使學(xué)生學(xué)到更多的知識。
參 考 文 獻(xiàn)
[1] 王珊,薩師煊. 數(shù)據(jù)庫系統(tǒng)概論(第四版)[M]. 北京:高等教育出版社,2006.
[2] 孟小峰,王珊等譯. 數(shù)據(jù)庫系統(tǒng)導(dǎo)論(第七版)[M]. 北京:機(jī)械工業(yè)出版社,2000.
[3] 陳紅編著. 數(shù)據(jù)庫原理與應(yīng)用(第2版)[M]. 北京:高等教育出版社,2007.
[4] 陳樹平等. 數(shù)據(jù)庫系統(tǒng)原理課程教學(xué)方法研究[J]. 電腦知識與技術(shù),2007,(3).