摘 要:針對我院開設的《數(shù)據(jù)庫原理及應用》課程實踐環(huán)節(jié)存在的問題,首先提出進行教學和實驗平臺的升級,其次詳細闡述了綜合實踐教學案例的設計與應用。學生通過實踐教學案例,不僅可以將理論知識融會貫通,并能夠從總體上把握數(shù)據(jù)庫設計及實現(xiàn)的整個流程,提高了實踐能力,真正的做到學以致用。
關鍵詞:數(shù)據(jù)庫原理及應用,實踐教學,案例教學
中圖分類號:TP311.13 文獻標識碼:A
文章編號:2096-1472(2016)-06-56-03
Abstract:To solve the problems in the practical teaching part of Database Theory and Applications,the paper proposes to upgrade the teaching and experiment platform in the first place,and then elaborates on the design and application of comprehensive practical teaching cases.Through the cases,students can not only fully digest the theoretical knowledge,but grasp the overall process of database design and implementation as well.Therefore,students can improve their practical ability and make their study serve the practical purpose.
Keywords:principle & application of database;practical teaching;case teaching
1 引言(Introduction)
《數(shù)據(jù)庫原理及應用》課程是計算機專業(yè)的一門很重要的專業(yè)基礎課,開設在第五學期,是《面向對象的程序設計》《軟件工程》等多門課程的先修課,也是學生進行專業(yè)實踐中應用性很強的一門課,因此重要性不言而喻[1]??墒歉鶕?jù)筆者多次講授本課程的經驗,發(fā)現(xiàn)此課程教學效果不佳,主要存在以下問題:
(1)針對我院開設本課程的情況,目前教學和實驗室使用的數(shù)據(jù)庫管理軟件平臺為SQL Server 2000綠色版,這個版本的軟件優(yōu)點是基于Windows XP的一款精簡免安裝的數(shù)據(jù)庫管理軟件,能夠滿足基本的教學要求,但是它與Windows XP以上的高版本操作系統(tǒng)不兼容導致學生在個人電腦中總是出現(xiàn)安裝問題,或者是某些功能模塊無法使用,影響實踐教學的效果。所以急需在教學中使用高版本的數(shù)據(jù)庫管理系統(tǒng)。
(2)本課程一共56學時,其中理論48,實驗8,還有一周的課程設計,課程設計是實踐教學的重要環(huán)節(jié),是鞏固理論知識和加深認知的有效途徑,是培養(yǎng)具有實戰(zhàn)能力和創(chuàng)新意識的重要平臺。在理論教學中使用的都是針對知識點的零碎的案例,學生只是片面的掌握了知識點的應用,無法將這些知識碎片整合起來,形成一個知識網絡。而課程設計則是針對一門課程的綜合實踐過程,要求學生掌握的理論知識運用到實際的項目開發(fā)中,在此環(huán)節(jié)發(fā)現(xiàn)學生力不從心,項目實踐的能力弱;另外,在實踐中發(fā)現(xiàn)學生重前臺開發(fā),弱后臺的數(shù)據(jù)庫的設計(仍然是理論與實踐脫節(jié)),這些問題導致我們培養(yǎng)的學生實踐能力和創(chuàng)新能力較差,無法達到專業(yè)培養(yǎng)的目標。
2 實踐教學改革方案(Reform plan of practical teaching)
(1)解決軟件平臺的問題。針對目前存在的問題,首先需要在教學中升級數(shù)據(jù)庫管理系統(tǒng)軟件,更換為較高版本的SQL Server 2008,SQL Server 2008允許使用Microsoft.NET和Visual Studio開發(fā)的自定義應用程序中使用數(shù)據(jù),在面向服務的架構(SOA)和通過Microsoft BizTalk Server進行的業(yè)務流程中使用數(shù)據(jù),是一款功能強大全面的SQL Server版本。這樣也不存在和操作系統(tǒng)不兼容的問題,掃除了實踐學習的客觀障礙。
(2)應用實踐教學案例。案例的設計和選擇至關重要,直接影響著教學效果。在實踐教學環(huán)節(jié)中采用綜合的完整的案例,使用的案例必須要經過精心設計,將教學內容涵蓋的知識點融合到案例中,并且要難易適中,保證大部分學生的接受程度,還要能夠體現(xiàn)出對學生分析解決問題能力和應用能力的培養(yǎng)[2]。
3 實踐教學案例的設計與實現(xiàn)(The design and implementation of practical teaching cases)
實踐教學案例選擇學生熟悉的實例,這樣能激發(fā)學生的主動性。我們以學生成績管理系統(tǒng)的設計與開發(fā)為例,將此案例貫穿到整個系統(tǒng)的設計和開發(fā)中。
3.1 系統(tǒng)的需求分析及功能結構設計
現(xiàn)要完成一個學生成績管理系統(tǒng),管理員能夠實現(xiàn)學生基本信息的增刪改查,課程信息的增刪改查,和學生選課信息及成績的查詢和統(tǒng)計。學生只可以修改個人信息,查看個人成績。該系統(tǒng)功能結構如圖1所示。
3.2 數(shù)據(jù)庫概念結構設計
根據(jù)需求分析,該系統(tǒng)涉及的實體型有學生、課程和系,一個學生可以選若干門課程,一門課也可以被多個學生選修,因此學生和課程的聯(lián)系為多對多m:n;系和學生的聯(lián)系為一對多1:m。考慮到該系統(tǒng)有學生和管理員兩種用戶,需要用戶實體。E-R圖2表達了該系統(tǒng)的概念模型。
3.3 數(shù)據(jù)庫邏輯結構設計
(1)模式設計
在上一步E-R圖的基礎上,根據(jù)概念模型到邏輯結構轉換的規(guī)則,可以得到對應的邏輯模型,其中帶下劃線的屬性為主鍵。并且根據(jù)關系模式規(guī)范化理論,分析關系中的函數(shù)依賴,確定關系模式滿足的范式,若存在數(shù)據(jù)更新異常,則需要進行模式分解。
①學生(學號,姓名,性別,年齡,所屬系)
學號(姓名,性別,年齡,所屬系) 滿足BCNF
②課程(課程號,課程名,學分,先行課)
課程號(課程名,學分,先行課) 滿足BCNF
③選課(學號,課程號,成績)
(學號,課程號)成績 滿足BCNF
④系(系號,系名,系主任)
系號(系名,系主任) 滿足BCNF
⑤用戶(用戶名,用戶類型,密碼)
經分析,上述關系模式中各個關系中不存在非主屬性和主屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴,均已達到BCNF,實現(xiàn)了比較徹底的信息分離。在操作數(shù)據(jù)時,不存在插入異常、刪除異常、更新異常和數(shù)據(jù)冗余。
(2)外模式設計
考慮到成績查詢中需要得到以下信息(學生姓名、課程名和成績),在此階段還需要定義數(shù)據(jù)庫的外模式,即將這些信息存放到視圖中供用戶查看。以下SQL語句為創(chuàng)建學生成績視圖:
Create view student_grade as
Select sno,sname,cname,grade from student,course,sc where student.sno=sc.sno and course.cno=sc.cno
3.4 數(shù)據(jù)庫物理結構設計
在邏輯結構的基礎上,進行物理設計,表1到表5分別列出各關系包含的屬性名、數(shù)據(jù)類型和完整性約束。
3.5 系統(tǒng)實現(xiàn)
本系統(tǒng)前臺使用Visual Studio 2010作為開發(fā)環(huán)境,SQL Server 2008進行數(shù)據(jù)管理,采用C#進行編程,系統(tǒng)主要實現(xiàn)了以下功能:
(1)學生用戶
個人信息修改,個人選課,以及成績查詢。
(2)管理員用戶
學生信息的增加、刪除、修改、查詢(支持各字段的精確查詢和模糊查詢)。
課程信息的增加、刪除、修改、查詢(支持對課程名的精確查詢和模糊查詢)。
系信息的增加、刪除、修改、查詢(支持對系名的精確查詢和模糊查詢)。
成績查詢和統(tǒng)計(按照課程名統(tǒng)計各分數(shù)段的情況),成績導出。
4 實踐教學案例的應用(The application of practical teaching cases)
案例設計好之后,教師不能直接將內容順序灌輸,還需分階段實施。在實踐教學中,采用“教師提出課題—學生分組討論—教師演示案例—學生實踐—點評”的模式進行案例推行。
(1)由老師說明課題來源和意義。
(2)學生分組討論并查閱資料,結合所學知識對課題進行需求分析。教師對學生需求文檔進行審閱,并及時反饋。
(3)根據(jù)需求結果,進行概念結構設計和邏輯設計,此時教師可以以系統(tǒng)核心模塊為例進行演示,將案例中融會的知識點講透,并給予學生一定的時間消化。
(4)學生根據(jù)老師的案例演示,完成其余的模塊。
(5)學生之間交流實踐心得,最后由教師進行點評。
在案例推行中,本著師生互動的原則,充分發(fā)揮學生的主動性,并對學生每一步實踐的結果及時反饋,幫助學生完成知識的鞏固和應用,實現(xiàn)教學相長[3]。
5 結論(Conclusion)
課程設計實踐周以學生成績管理系統(tǒng)的設計與開發(fā)過程為例,可以將《數(shù)據(jù)庫原理及應用》課程中各章的知識點貫穿到后臺數(shù)據(jù)庫設計實現(xiàn)的流程中,具體對應關系如表6所示:
在實踐教學中采用綜合案例,學生不僅對整個系統(tǒng)的設計和開發(fā)過程有一個清晰的認識,并且可以把《數(shù)據(jù)庫原理及應用》課程中學習的知識碎片有效的整合成一個知識網絡運用于實際的項目中。經調研,在實踐環(huán)節(jié)中采用了案例教學后,學生學習興趣濃厚,學習主動性提高了,通過一周的課程設計,具備了一定的分析問題能力和實踐能力。因此,綜合性案例的教學方法切實可行,并可以推廣到其他課程的理論和實踐教學中。
參考文獻(References)
[1] 涂文婕,陳芳信.基于案例教學法的數(shù)據(jù)庫原理及應用課程教學[J].空軍預警學院學報,2015(4):310-312.
[2] 曹文梁,王科欣.案例教學法在數(shù)據(jù)庫教學中的應用[J].軟件工程師,2011(5):48-50.
[3] 梁君霞.《數(shù)據(jù)庫原理及應用》案例教學改革探討[J].電腦知識與技術,2015,11(18):115-116.
作者簡介:
侯歡歡(1985-),女,碩士,講師.研究領域:計算機應用.