薛開慶 張濤
摘要:數(shù)據(jù)庫是計算機(jī)相關(guān)專業(yè)的核心課程之一。本文依據(jù)普通高校本科數(shù)據(jù)庫課程的教學(xué)要求,融合CDIO工程教育理念,考慮普通本科學(xué)生的特點,通過項目《學(xué)生選課系統(tǒng)》貫穿整個教學(xué)過程,將數(shù)據(jù)庫基礎(chǔ)知識、數(shù)據(jù)庫設(shè)計及編程應(yīng)用有機(jī)地聯(lián)系起來,對如何培養(yǎng)實用型人才進(jìn)行了有益的探索。
關(guān)鍵詞:CDIO;數(shù)據(jù)庫;工程教育
Abstract:Database course is one of the core courses in computer and software engineering. According to the requirements of database course,combined with CDIO,considering the characteristics of engineering education,through the project teaching,the basic knowledge,database design and application are organically combined to make a useful exploration on how to cultivate practical talents.
Key words:CDIO;database;engineering education
引言
CDIO(Conceive Design Implement Operate,即構(gòu)思、設(shè)計、實現(xiàn)和運作)是近年來由瑞典查爾姆斯技術(shù)學(xué)院和美國麻省理工學(xué)院等四所大學(xué)跨國創(chuàng)立的一種國際工程教育模式,同時成立了以CDIO命名的國際合作組織。CDIO推崇從“做中學(xué)”和“基于項目的教育和學(xué)習(xí)”,簡單講就是“實踐出真知”[1]。CDIO培養(yǎng)大綱強(qiáng)調(diào)工科學(xué)生的四種能力:基礎(chǔ)知識、個人能力、團(tuán)隊協(xié)作能力和工程系統(tǒng)能力。CDIO模式誕生后,很快得到世界很多工程教育專家的認(rèn)同,在世界各地工科大學(xué)中得到推廣,在這些大學(xué)CDIO工程教育實踐也達(dá)到了預(yù)期的目的,按CDIO模式培養(yǎng)的學(xué)生普遍得到企業(yè)的歡迎和社會的認(rèn)可。現(xiàn)在中國很多工科大學(xué)也加入到CDIO大家庭中來,截止2018年3月,中國共有140多所高校加入“CDIO工程教育聯(lián)盟”[2]。
根據(jù)國務(wù)院《關(guān)于加快發(fā)展現(xiàn)代職業(yè)教育的決定》,到2020年,中國要建成具有世界水平的現(xiàn)代職業(yè)教育體系,高等職業(yè)教育規(guī)模將占高等教育一半以上,引導(dǎo)一批普通高校向應(yīng)用技術(shù)類型高校轉(zhuǎn)型[3]。如何培養(yǎng)具有團(tuán)隊協(xié)作精神、動手能力強(qiáng)、能快速適應(yīng)企業(yè)要求的新型人才?這對于那些對以教學(xué)為主、畢業(yè)生主要面向就業(yè)的普通本科院校來說,是機(jī)遇,也是挑戰(zhàn)。因此改革創(chuàng)新現(xiàn)有的教學(xué)模式和方法就是其中重要的課題之一。
1 將CDIO引入數(shù)據(jù)庫教學(xué)的必要性
大學(xué)數(shù)據(jù)庫課程一般包括數(shù)據(jù)庫基本原理、數(shù)據(jù)設(shè)計和系統(tǒng)應(yīng)用三大部分。原理是基礎(chǔ),設(shè)計關(guān)鍵,應(yīng)用是目的,它們相輔相成,構(gòu)成一個完整的體系。然而高校數(shù)據(jù)庫課程教學(xué)實際現(xiàn)狀不容樂觀,具體表現(xiàn)如下:
1)教師重理論教學(xué)、輕實驗實踐
目前數(shù)據(jù)庫教材大多以知識體系為序編排,教師著重原理的講解以及具體知識點的介紹,由于課時限制等各種原因,對具體數(shù)據(jù)庫工具軟件及應(yīng)用只進(jìn)行簡單的介紹或者安排學(xué)生自學(xué)。學(xué)生學(xué)完整門課程后可能僅僅抓住了一些孤立的知識點,缺乏整體邏輯,不能深入靈活地掌握知識點間的聯(lián)系,無法獨立設(shè)計一個具體數(shù)據(jù)庫,即使設(shè)計好了一個數(shù)據(jù)庫,也很難獨立進(jìn)行編程實現(xiàn),更不用說對數(shù)據(jù)庫性能做出評價和部署。
2)學(xué)生學(xué)習(xí)興趣不高、創(chuàng)新能力不強(qiáng)
普通院校很多學(xué)生對基本理論的興致不高,對具體應(yīng)用即使感興趣,因為沒有老師適當(dāng)指導(dǎo),掌握得也不牢固。傳統(tǒng)的上述教學(xué)過程沒能確立學(xué)生是教學(xué)活動的主體原則,未能調(diào)動學(xué)生學(xué)習(xí)積極性,從課后作業(yè)、上機(jī)實踐到課程設(shè)計,幾乎都是學(xué)生個人行為,是被動地完成任務(wù),缺乏思考,缺乏合作,遇到新問題就無從下手。
3)與企業(yè)的要求脫節(jié)
普通院校畢業(yè)生主要面向就業(yè),必須關(guān)注相關(guān)企業(yè)對實用人才的具體需求。現(xiàn)在企業(yè)需求的數(shù)據(jù)庫人員主要有三類:數(shù)據(jù)庫管理員、數(shù)據(jù)庫開發(fā)員和數(shù)據(jù)庫商業(yè)智能開發(fā)員[4]。數(shù)據(jù)庫管理員主要實現(xiàn)數(shù)據(jù)庫的創(chuàng)建、存儲和修改,并保證數(shù)據(jù)訪問性能和安全性,能備份、恢復(fù)、分發(fā)、復(fù)制、監(jiān)視、升級數(shù)據(jù)庫,簡單說就是維護(hù)企業(yè)數(shù)據(jù)庫的正常運行。數(shù)據(jù)庫開發(fā)員主要是分析、設(shè)計和編程實現(xiàn)數(shù)據(jù)庫相關(guān)的應(yīng)用系統(tǒng)開發(fā)。數(shù)據(jù)庫商業(yè)智能開發(fā)員要求掌握數(shù)據(jù)庫中數(shù)據(jù)分析、報表、集成等功能,能夠?qū)?shù)據(jù)進(jìn)行挖掘,發(fā)現(xiàn)企業(yè)關(guān)鍵的業(yè)務(wù)信息和發(fā)展趨勢等。數(shù)據(jù)庫相關(guān)領(lǐng)域發(fā)展很快,數(shù)據(jù)挖掘、大數(shù)據(jù)等領(lǐng)域的研究成果日新月異,對這類人才要求也越來越多。
綜上分析,傳統(tǒng)數(shù)據(jù)庫教學(xué)與企業(yè)要求相差甚遠(yuǎn),當(dāng)然我們不是苛求僅僅通過一兩門課程就讓學(xué)生掌握企業(yè)需求的所有技術(shù),但企業(yè)真實的技術(shù)需求對教學(xué)來說,特別是對普通院校的教學(xué)來說,還是具有實際指導(dǎo)意義的。因此教師應(yīng)該樹立面向企業(yè)需求的教學(xué)理念,加強(qiáng)基礎(chǔ)知識、基本原理與應(yīng)用實例之間的結(jié)合。由此可見,CDIO工程教育的理念就可以在數(shù)據(jù)庫課程的教學(xué)中發(fā)揮重要的作用。
計算機(jī)相關(guān)專業(yè)培養(yǎng)方案中,數(shù)據(jù)庫是其中的一門核心課程,與操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計、軟件工程等課程關(guān)系密切,既有較強(qiáng)的理論性,又具備很強(qiáng)的實踐性。如何針對普通院校自身規(guī)律,根據(jù)學(xué)生特點,使數(shù)據(jù)庫原理教學(xué)更有成效,張元、王雅君等老師做出了有特色的探索和研究[5,6]。本研究以西華大學(xué)計算機(jī)與軟件工程學(xué)院為依托,對普通本科數(shù)據(jù)庫課程教進(jìn)行了CDIO理念的改革和實踐。參加教改實驗的有西華大學(xué)2014~2015級相關(guān)專業(yè)的300多名學(xué)生,歷經(jīng)2年。
2 基于CDIO的數(shù)據(jù)庫教學(xué)實踐
2.1 教材選取和知識點的取舍
我們選用的教材是《數(shù)據(jù)庫系統(tǒng)概論》[7],它是一本經(jīng)典教程,其理論性和系統(tǒng)性都較強(qiáng),但是對普通本科院校的學(xué)生來說,內(nèi)容偏深,偏多,我們基于CDIO的理念,在內(nèi)容的選擇上做了適當(dāng)?shù)恼{(diào)整,具體內(nèi)容和知識點參考表1。
2.2 基于CDIO教學(xué)內(nèi)容和方法
教材內(nèi)容劃可分成基礎(chǔ)理論、數(shù)據(jù)庫設(shè)計和數(shù)據(jù)庫應(yīng)用三大部分。在具體教學(xué)活動中,我們通過案例《學(xué)生選課系統(tǒng)》將三個部分有機(jī)地結(jié)合起來。之所以選擇此案例,因為這是學(xué)生最熟悉的活動,了解其中的業(yè)務(wù)流程,容易引導(dǎo)學(xué)生思考,可以調(diào)動學(xué)生積極性,讓其充分參與到整個教學(xué)活動中來。
(1)基礎(chǔ)理論部分。重點講授數(shù)據(jù)庫基本概念和基本原理,如數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等等。數(shù)據(jù)模型方面著重介紹關(guān)系模型,層次模型和網(wǎng)狀模型因為在實際數(shù)據(jù)庫應(yīng)用中較少采用,只了解基本概念,而不深入展開。對于學(xué)生難以掌握并在實際工作中運用較少的內(nèi)容,例如關(guān)系演算等,也略去不講。在具體講解過程中,融合《學(xué)生選課系統(tǒng)》進(jìn)行分析和舉例。
(2)數(shù)據(jù)庫設(shè)計部分。之所以把這部分相對提前,是基于以下考慮,第一,掌握了基本概念后,學(xué)生就能夠理解數(shù)據(jù)庫設(shè)計中的方法;第二,只有理解掌握為什么設(shè)計這個數(shù)據(jù)庫,以及具體數(shù)據(jù)庫系統(tǒng)中涉及到哪些實體和實體之間的聯(lián)系,才能最終通過具體數(shù)據(jù)庫工具軟件更好地實現(xiàn)這個系統(tǒng)??梢?,數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫基本原理和具體應(yīng)用之間的橋梁和紐帶。在這一部分,我們讓學(xué)生從熟悉的教學(xué)活動開始分析,引導(dǎo)學(xué)生思考如何逐步來設(shè)計數(shù)據(jù)庫,比如參加教學(xué)活動的人有哪些?涉及到哪些事物?這些事物有何特性? 然后和學(xué)生們一起找出其中關(guān)鍵的事物(實體),寫出主要的屬性。經(jīng)過引導(dǎo),大部分同學(xué)都能找出教師、學(xué)生和課程等主要的實體。然后進(jìn)一步分析可以找出系、班級等實體。最后引導(dǎo)學(xué)生畫出《學(xué)生選課系統(tǒng)》的分E-R圖,如圖1所示。
然后引導(dǎo)學(xué)生分析這些實體之間存在什么聯(lián)系?具體是1對1,1對多,還是多對多的聯(lián)系?提醒學(xué)生其中多對多的關(guān)系還可能有自己的屬性,就可以畫出《學(xué)生選課系統(tǒng)》的總E-R圖,如圖2所示。
最后根據(jù)上述E-R圖,引導(dǎo)學(xué)生如何把實體轉(zhuǎn)換成表。具體是實體名轉(zhuǎn)成表名,屬性轉(zhuǎn)換成字段,另外特別強(qiáng)調(diào)如果是多對多的聯(lián)系須要新建一張表來描述這種聯(lián)系。通過這種聯(lián)系表的建立,可以加深學(xué)生對主鍵和外鍵等概念的理解。在這個過程中可以引入范式理論和規(guī)范化方法,一般系統(tǒng)中,要求滿足到3NF。
(3)數(shù)據(jù)庫應(yīng)用部分。我們選用了企業(yè)中使用廣泛的微軟關(guān)系型數(shù)據(jù)庫軟件SQL Server 2012,引導(dǎo)學(xué)生建立數(shù)據(jù)庫,根據(jù)圖2中的E-R圖創(chuàng)建學(xué)生表、教師表,課程表、選課表、授課表、班級表和院系表等,然后在表中添加適量的數(shù)據(jù),然后引導(dǎo)學(xué)生學(xué)習(xí)SQL 中的Select、Insert、Delete和Update等操作,以及索引,數(shù)據(jù)完整性,數(shù)據(jù)庫安全性等,因為有了設(shè)計部分的基礎(chǔ),所以學(xué)生理解相應(yīng)的問題就會更加容易和準(zhǔn)確,也能在課堂上積極地思考,融入到討論中去。最后讓學(xué)生掌握數(shù)據(jù)庫編程方法(ODBC、JDBC、ADO.NET 等),編寫應(yīng)用程序?qū)崿F(xiàn)和數(shù)據(jù)庫交互數(shù)據(jù)。
最后,考慮企業(yè)對數(shù)據(jù)庫人員的一些要求,我們增加了數(shù)據(jù)庫安全相關(guān)內(nèi)容,增加了數(shù)據(jù)的備份和還原,分離和附加,導(dǎo)入和導(dǎo)出等操作性和實用性很強(qiáng)的內(nèi)容,以期更加符合企業(yè)的需求。具體實驗安排如表2所示。
數(shù)據(jù)庫課程考核分筆試和實驗項目兩部分,各占50分。為了比較客觀的考查教學(xué)效果,我們利用問道網(wǎng)做了數(shù)據(jù)庫教學(xué)的調(diào)查問卷[8],參加調(diào)查問卷的共有315人,調(diào)查問卷中的一些數(shù)據(jù)用來與筆試成績和實驗項目成績分別做了相關(guān)性分析。問卷中的主要問題、結(jié)果/結(jié)論如表3所示(為了消除學(xué)生顧慮,得到比較客觀的結(jié)果,在設(shè)計問卷時有意回避了姓名)。與傳統(tǒng)方式相比,我們堅持學(xué)生是教學(xué)活動的主體這一基本理念,利用CDIO教學(xué)模式,充分調(diào)動學(xué)生積極性和主動性,學(xué)習(xí)效果較傳統(tǒng)方式更理想,通過課堂觀察,課后了解,網(wǎng)上調(diào)查,以及實驗動手能力考察,這種教學(xué)方法更適應(yīng)學(xué)生實際,大多數(shù)同學(xué)都贊同這種教學(xué)方法。
3 結(jié)語
本文根據(jù)普通本科數(shù)據(jù)庫教學(xué)的具體要求,考慮學(xué)生特點,融合CDIO教學(xué)理念,對數(shù)據(jù)庫教學(xué)方法進(jìn)行大膽的嘗試,用一個具體項目《學(xué)生選課系統(tǒng)》貫穿整個教學(xué)活動,把基礎(chǔ)知識、數(shù)據(jù)庫設(shè)計及其應(yīng)用有機(jī)地結(jié)合起來,從做中學(xué),充分調(diào)動了學(xué)生的學(xué)習(xí)積極性,取得了較為良好的效果,對如何培養(yǎng)數(shù)據(jù)庫實用型人才進(jìn)行了有益的探索。
參考文獻(xiàn):
[1] 查建中.論“做中學(xué)”戰(zhàn)略下的CDIO 模式[J].高等工程教育研究,2008(3):1-6.
[2] 中國CDIO工程教育聯(lián)盟網(wǎng)站:http://www.chinacdio.stu.edu.cn/Detail.aspx?id=105&type=channel.
[3] 教育部. 2020年我國職業(yè)教育規(guī)模達(dá)1.24萬億. http://gaokao.eol.cn/news/201510/t20151027_1331110. shtml
[4] 微軟公司. SQL Server 2008 數(shù)據(jù)庫應(yīng)用開發(fā)基礎(chǔ)[M]. 北京:人民郵電出版社,2010.
[5] 王雅君,李勇等.(2018)基于項目驅(qū)動的數(shù)據(jù)庫一體化課程多層遞進(jìn)式教學(xué)實踐研究[J]. 電腦知識與技術(shù),14:122-125.
[6] 張元,韓燮.(2011)基于CDIO的數(shù)據(jù)庫課程體系改革與實踐[J]. 計算機(jī)教育:52-55.
[7] 王珊,薩師煊. 《數(shù)據(jù)庫系統(tǒng)概論》(第5版)[M]. 北京:高等教育出版社,2014
[8] 薛開慶. 問道網(wǎng)《大學(xué)數(shù)據(jù)庫教學(xué)調(diào)查》. http:// www.askform.cn/ 103288-161226.aspx
作者簡介:
薛開慶,男,1974年生,四川廣元人,副教授,博士,研究方向為數(shù)據(jù)庫和復(fù)雜網(wǎng)絡(luò)研究;張濤,男,1986年生,河南光山人,講師,博士,研究方向是磁共振成像。