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