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