徐薇

摘要:針對數據庫系統原理課程實踐教學過程中教師指導薄弱而無法保證達到培養目標等問題,對研究性教學訓練載體進行研究和設計,說明研究性教學訓練載體庫的整體框架和設計細節,提出以不斷增加的成就感激發學生興趣,以不斷擴展的問題求解引導學生探究,強調教師在教與學關系中的重要作用。
關鍵詞:研究性教學;數據庫;訓練載體;持續改進
0 引言
數據庫系統原理課程是一門實踐性較強的課程,建設一定數量且較高質量的研究性訓練載體可以使訓練題目動態更新,使訓練內容更豐富和多樣化。教師可根據學生的反饋對教學載體進行持續改進,在訓練載體中增加研究性設計和實驗項目前后銜接設計,使前期實驗能夠為后期的綜合課程設計服務,提升綜合課程設計質量,保證學生完成課程訓練。
數據庫系統原理課程研究性訓練載體庫的設計思想、主要內容、研究性訓練安排、學生自主探究環節等實現細節,已經在課程教學中使用并不斷改進。目前已有多組學生的訓練作品依托該載體獲得了學校優秀研究性學生作品。
1 教學訓練載體庫的整體框架
數據庫系統原理課程研究性教學訓練載體的設計目的是要求學生在系統學習數據庫基礎理論知識,包括數據模型、數據庫設計、數據庫控制等基本原理和方法的基礎上,掌握運用數據庫設計技術、規范化理論、SQL語言等技術實現數據庫應用系統的過程與方法。
一個好的訓練載體的設計應以培養學生為目標,因此教師應首先將數據庫系統原理課程訓練目標確定如下:①讓學生深刻理解和領會關系數據庫的核心“關系模型”;②培養學生的分析、歸納和設計能力;③使學生熟練掌握各種關系數據庫操作;④從實際工程角度訓練學生的編程和調試能力;⑤訓練學生利用所學知識求解新問題的能力,重點培養自學能力和系統集成能力。
在對學生基本能力培養的基礎上,數據庫系統原理教學訓練載體應特別體現數據庫系統分析能力、數據庫系統綜合實踐能力和創新能力的訓練。
1.1 總體設計
數據庫系統原理課程研究性教學訓練載體庫是由綜合課程設計“圖書借閱系統”“酒店前臺登記系統”“房產中介系統”等多個訓練載體組成的。每個訓練載體均包括兩部分訓練內容。
第1部分訓練內容是精心設計的由淺入深的9組實驗,完成全部SQL重點命令的練習,涵蓋數據定義、數據查詢、數據更新、數據完整性、數據庫編程與查詢優化6個理論教學模塊。整個訓練載體的設計符合認知規律,由淺入深,層層遞進,前后銜接,保持了學生的學習興趣,能夠使大部分學生迅速獲得成就感。第1部分訓練題目都是從后期綜合課程設計中抽象出來的典型數據庫操作問題,能夠使學生在實現這些核心操作任務的同時,掌握具體的數據庫SQL語言并在后期的綜合課程設計中運用。
第2部分內容是要求學生按照軟件工程的規范完成綜合課程設計的需求分析、系統概要設計和詳細設計、系統編程實現等數據庫應用系統開發流程。該課程設計題目體現了綜合實驗的設計性、綜合性和研究性特點,可以使學生全面認識數據庫系統原理課程中的各個知識點及其聯系,從而掌握數據庫應用系統分析、設計和實現的方法,進一步提高學生的編程能力和動手實踐能力。此外,綜合課程設計在前期SQL基礎訓練上完成,使學生能夠快速進入角色,這種循序漸進的設計可以提高訓練的效率。
1.2 詳細設計
以訓練載體“圖書借閱系統”為例的研究性教學訓練載體設計見表1。
訓練項目1和項目2是整個訓練的基礎,幫助學生逐漸熟悉環境。Access是一個小型數據庫管理系統,具有使用方便、操作簡單、容易上手的特點,數據庫基礎訓練就從學生熟悉的Access數據庫環境開始。SQL Server是“圖書借閱系統”訓練載體的主要實驗環境,項目2將項目1中使用Access建立的表及數據導人SQL Server,使學生了解在實際應用中共享數據的方法。每組實驗在設計時都需要建立這種前后的關聯。
訓練項目3--項目9是基礎訓練的重點。在每個訓練載體中,教師可將前期的SQL驗證實驗題目全部設計為與該載體相關的內容,如“圖書借閱系統”中的子查詢實驗題目是“借了3本以上計算機類圖書的金卡讀者”、觸發器實驗題目是“已掛失的借書證不能再借閱圖書”等。在“酒店前臺登記系統”中,所有的題目都更改為與該載體相關的內容,如子查詢實驗題目是“已住人的各類房間的總數”、觸發器實驗題目是“故障和整理中的房間不能登記住人”等。教師可在基礎實驗和綜合實驗之間建立聯系,使前期實驗能夠為后期的綜合課程設計服務,將前期的完整性實驗、觸發器實驗、函數和存儲過程等實驗全部用于后期的綜合課程設計中,使得整個訓練載體的設計體現系統性和完整性。
訓練項目10是綜合課程設計。除了共同的訓練內容之外,每個訓練載體均有其側重的研究任務。圖書借閱系統重點研究數據的完整性,如讀者借閱的圖書一定是系統中提供的圖書、一個讀者不能借同一本書超過1本、讀者遺失的圖書一定是本人借閱的圖書、已遺失的圖書不能再被借閱、遺失圖書數量不能超過館藏圖書數量、已掛失的借書證不能再借書、出借天數和最多借書冊數由會員級別決定等;酒店前臺登記系統則突出事務的練習,如換房操作就是一個事務,如果沒有按事務處理,就可能導致客人無法實現換房操作;房產中介系統引導學生研究數據庫安全性的實現方法,保證某些重要信息不被竊取和丟失。通過上述訓練,學生能夠對數據完整性、事務、數據安全性、查詢優化等數據庫中重要概念的認識更加深入,從而加深對數據庫的理解。
2 教學洲練載體的研究性設計
要想在訓練載體中體現研究性,教師必須巧妙設計題目,引導學生思考與探究。例如,每個訓練載體中都有自出題,要求學生出的是把自己難倒的題,需要學生用未學的知識解決,學生必須通過自己上網查閱資料研究解決辦法,教師還要引導學生學會提出問題。再比如,每次實驗都會特別設計題目讓學生探究完成,數量不多,難度也不大,如有一題是“建立金卡會員的視圖,顯示會員姓名和年齡”,數據庫中存儲的是會員的出生日期,如何將出生日期轉化為年齡輸出,需要學生自己解決;教師可引導學生找到函數year、getdate、datediff、datepart等將日期顯示轉換成數值顯示,或用cast和convert轉換數據類型,還可以使用多種方法并對每種方法進行擴展應用,引導學生學會尋找解決問題的方法。這樣的設計能夠引起學生的興趣,同時培養學生的探究意識。
綜合課程設計中也有很多可以擴展的問題,甚至故意留有小的“陷阱”,如要求學生查閱讀者的借閱歷史信息,但給出的表并沒有支持該查詢的數據存儲,要想完成該功能需要在數據庫中增加新表;再比如,借書時要根據讀者的級別、是否掛失、是否還有庫存、同一本書是否2次借閱等多個條件,才能確定是否允許借閱,該判斷要求學生使用之前的觸發器實驗完成,但當時的觸發器功能并不能區分是何種原因使借閱操作無法進行,這樣就不是單純的引用,而是需要在前面的基礎上繼續補充知識。
在訓練載體中精心設計研究性問題并帶領學生探究非常重要。教師在教與學的互動中,需要既突出學生的自主性,又要讓學生離不開教師的指導和反饋;而無論是載體的設計還是訓練過程中的引導,教師都發揮著重要作用。實踐足檢驗真理的標準,教學改革的效果只有在學生的實踐過程中才能體現,在此過程中,如何做到持續改進更是重中之重。
3 結語
在數據庫系統原理課程的每個驗證實驗和后期的綜合課程設計訓練之間建立聯系,將前后實驗打通連貫并層層遞進,使驗證實驗能夠作為綜合課程設計的基礎實驗,不僅能夠建立前后實驗的銜接層次關系,而且可以保證學生做實驗的效果。筆者在訓練載體中特別設計了與各個數據庫應用系統有關的重點研究問題,如安全性問題、優化問題、數據完整性問題等,用數據庫理論、方法和技術指導學生的課程實踐活動,在課程設計中體現研究性。未來的工作是根據學生反饋小斷改進,進一步豐富與完善載體庫設計并對改進效果進行科學評價。