摘要:數據庫課程在計算機專業人才培養體系中有著非常重要的位置,本文就數據庫課程教學中存在的三個問題進行了探討,并提出解決方法,有效地提高了教學效果與學習效率。
關鍵詞:數據庫教學;課程定位;Transact-SQL語言;基于工作過程
數據庫是計算機專業的核心專業基礎課,這門課程本身具有很高的理論性與實踐性,學生要想在短時間內很好地掌握這門課程不太現實。因此對數據庫課程教學的改革就是教師們不得不面對的一個難題。在實施改革的過程中,有一些基本問題很容易忽略。在長期的教學活動中,筆者對課程定位、Transact-SQL語言的學習、基于工作過程的數據庫教學三大問題有了較為深入的思考。
1 課程定位
也許每一位教師對于數據庫課程的定位不一定都很明晰,或者明晰但未向學生表述。實際上對于以前從未使用或較少使用計算機進行相關開發而今后又需要進入IT行業工作的學生來說,這個問題非常重要甚至直接關系到最后教學效果的好壞。
課程的定位不能對所有學生都一樣,作為教師只能將定位的相關信息通過適當的容易理解的載體讓學生了解,他們在了解的過程中從自身的職業規劃出發做出適合于自己的課程定位。定位的高低就是在學生在學習課程時自我要求的高低。例如:計算機網絡專業的學生對于數據庫課程的定位可能就不一樣。有的學生把自己的職業規劃定位于網絡工程師,因此他們覺得對于數據庫的知識在了解層面上已經足夠;而有的學生把自己的職業規劃定位于網頁工程師,對于數據的知識不但要了解還要熟練掌握。所以數據庫課程定位的明晰有利于學生做到心中有數。
那用什么載體作為切入點能讓學生清楚本課程的定位呢?筆者認為最好的載體就是計算機專業招聘信息。筆者在對計算機網絡專業授課時有意截取招聘網站關于網絡工程師、網頁工程師與數據庫DBA的需求信息,讓同學們認真閱讀,并從職業規劃角度出發,找出自己的定位。
以SQL Server課程為例,對上述三種職業有三個層次的定位:
(1)數據庫是一門基礎性的課程,只需了解基本相關知識,掌握基本操作即可。
(2)經過本課程的學習成為一名合格的數據庫開發人員,具體教學目標:熟悉服務器管理、數據庫管理、數據庫對象的操作;熟練掌握Transact-SQL語言、SQL Server權限管理、SQL Server數據轉換。能夠使用Transact-SQL語言,靈活使用視圖、觸發器、存儲過程和游標。了解數據庫設計的基本技術。
(3)經過本課程學習,在熟練掌握基本知識的基礎上致力于成為數據庫管理員,對數據庫容災技術、安全技術、調優技術要有研究。
三個層次的定位分別對應于計算機網絡專業學生職業規劃的不同要求。在教學過程中對三類學生要求不同、教學側重點也不同。對于課程定位為第一類的學生,要循循善誘,捕捉他們的興趣,提高他們的學習熱情;第二類學生要嚴格要求,以案例為向導,讓在他們在熟悉整個網頁開發流程的同時,明確在開發過程中要用到的數據庫知識,做到看書的時候有重點;最后一類學生,在嚴格要求的同時要引導他們走出課本,面向更大的課堂:自學和社會實踐。
2 Transact-SQL語言的學習
Transact-SQL語言是SQL Server數據庫的靈魂,特別是對于開發人員來講能使用鼠標進行的操作都可以用語言來編寫;相反地,使用語言進行的操作用鼠標不一定能夠完成,所以Transact-SQL語言的重要程度不言而喻。在教學過程中筆者曾經無數次碰到這樣的問題:在講述某個原理并且用語言編程操作的時候,學生接受較快;上機實驗的時候學生知道要做的事情卻無從下手。仔細詢問以后發現學生SQL語言基本單詞拼寫的熟練程度很低,相關語法囫圇吞棗地接受并不注意細節,導致最終程序運行不出來。
針對以上問題筆者推薦以下方法:
(1)歸納Transact-SQL單詞庫。對于重要的核心單詞要讓學生做到反復記憶。筆者曾經將Transact-SQL語言操作進行歸納,做到記憶目標清晰明了,在此基礎上進行相應的語言功能拓展,便于學生進行知識梳理。針對遺忘特性,不定期對核心單詞庫中核心單詞進行拼寫、基本用法的抽查作為平時成績錄入系統。
(2)編輯病例程序匯編。典型程序要學生自己多動手編寫,遇到程序錯誤要訓練他們根據系統提示找出問題所在,將多年教學過程中積累的編程時學生容易出錯的程序編輯成冊,發給學生以做參考,如圖1。
3 基于工作過程的數據庫教學
自從姜大源教授提出基于工作過程課程體系開發這個在中國高職教育界具有影響力的教育方式以來,各個行業的高職教育改革藉此轟轟烈烈地展開,數據庫課程的教學也不例外。
誠然,數據庫課程本身是一門操作性非常強的學科,也能按照基于典型工作過程的教學方法進行教學并取得一定的效果。我們舉辦各種競賽,把學生熟悉的生活數據如學生宿舍管理系統變為真實的數據庫進行發布和管理,教學也因此取得比較好的效果。
但是面向工作過程的教學并不是萬能藥,因為數據庫的服務面向各行各業、計算機水平層次不齊的各類用戶,有的時候用戶所提出的要求本身就是“非典型性”的,遇到這種情況學生就無法根據典型性工作過程遷移相關知識解決“非典型性”問題。因此,在教學中筆者不但要把握案例教學,還要強調工作情景教學,充分強調學生在壓力下分析問題解決問題的能力。
在實驗課堂上可對學生分組,使學生互相充當客戶提出各種要求,使被要求學生在壓力下解決問題。采用這種方式的好處是,容易讓學生進入真實的工作狀況,找出自己解決問題的方法。例如在對insert命令實驗的時候有的同學就提出:“能不能將已存在的B表中的數據批量插入到A表當中?”這個知識點書本根本就沒有提到,怎樣完成這個非典型性任務?作為教師要引導學生在互聯網特別是谷歌圖書搜索、文獻搜索、參數搜索等功能或SQL Server“幫助”中尋找答案:
INSERT INTO A
SELECT * FROM B
搜索、整理信息的過程就是針對問題背景進行知識遷移的過程,知識的遷移就能提高學生知識的熟練程度以及橫向解決其他計算機課程的非典型性問題的能力。