劉林真
(陽(yáng)光學(xué)院 電子信息工程,福建 福州 350008)
獨(dú)立學(xué)院電信系“數(shù)據(jù)庫(kù)”教學(xué)的改革
劉林真
(陽(yáng)光學(xué)院 電子信息工程,福建 福州 350008)
獨(dú)立學(xué)院異軍突起,成為我國(guó)高等教育的重要組成部分,應(yīng)用型人才的培養(yǎng)是獨(dú)立學(xué)院的人才培養(yǎng)目標(biāo)。數(shù)據(jù)庫(kù)技術(shù)能對(duì)采集到的大量數(shù)據(jù)進(jìn)行有效的組織和存儲(chǔ),適應(yīng)信息時(shí)代的需要。該課程在電信系中是重要的專業(yè)課之一,但由于培養(yǎng)目標(biāo)原因,課時(shí)較少,該文結(jié)合獨(dú)立學(xué)院的實(shí)際情況,探討了對(duì)該門課程的教學(xué)改革——引入SQLite數(shù)據(jù)庫(kù)。實(shí)踐證明,在課時(shí)較少的前提下,教學(xué)改革效果良好,學(xué)生能較快接受SQLite知識(shí)并在其他領(lǐng)域?qū)W以致用。
SQLite;教學(xué)改革;高校;獨(dú)立學(xué)院
當(dāng)今中國(guó)的高等教育已不是以往的精英教育,更多的是面向社會(huì)、面向?qū)嶋H需求的大眾化高等教育。根據(jù)教育部公布的數(shù)據(jù),截止2006年,全國(guó)各類高等教育總規(guī)模超過(guò)2500萬(wàn)人,是1996年340萬(wàn)人的7.35倍,高等教育毛入學(xué)率達(dá)到22。這表明,我國(guó)的大學(xué)教育早已步入大眾化教育階段[1]。作為獨(dú)立學(xué)院,更應(yīng)該培養(yǎng)應(yīng)用型綜合人才,所以高校教師必須適應(yīng)該變化,調(diào)整教學(xué)方法,教學(xué)大綱,授課計(jì)劃,改進(jìn)教學(xué)適應(yīng)性,提高教學(xué)有效性。
數(shù)據(jù)庫(kù)技術(shù)與生活息息相關(guān),在計(jì)算機(jī)、電信等相關(guān)領(lǐng)域更占有一席之地。教育部高等學(xué)校計(jì)算機(jī)教學(xué)指導(dǎo)委員會(huì)關(guān)于進(jìn)一步加強(qiáng)高等學(xué)校計(jì)算機(jī)基本教學(xué)的意見(jiàn)中將數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用列為1+X的6門核心課程之一[2]。因此,培養(yǎng)具有一定數(shù)據(jù)庫(kù)技術(shù)和應(yīng)用能力的高級(jí)人才成為高校計(jì)算機(jī)普及教育的一項(xiàng)重要任務(wù)。針對(duì)這門課程,很多獨(dú)立學(xué)院電子信息工程系的學(xué)生反映其中的理論難以理解,在上機(jī)實(shí)踐教學(xué)環(huán)節(jié)中比較茫然,在完成畢業(yè)設(shè)計(jì)時(shí),想用數(shù)據(jù)庫(kù)卻發(fā)現(xiàn)無(wú)從入手。SQLite是一款開(kāi)源的、嵌入式關(guān)系型數(shù)據(jù)庫(kù),它在便攜性、易用性、緊湊性、高效性和可靠性方面有突出的表現(xiàn)[3],獨(dú)立學(xué)院電子信息工程系相關(guān)專業(yè)學(xué)生學(xué)習(xí)SQLite數(shù)據(jù)庫(kù),將會(huì)解決相對(duì)課時(shí)較少所引發(fā)的問(wèn)題,并且可以跟后續(xù)相關(guān)課程進(jìn)行整合,在畢業(yè)設(shè)計(jì)中也可以發(fā)揮作用,一舉多得。
1.1 獨(dú)立學(xué)院課程教學(xué)面臨的問(wèn)題
獨(dú)立學(xué)院的辦學(xué)目標(biāo)是培養(yǎng)高素質(zhì)、應(yīng)用型的綜合人才,但獨(dú)立學(xué)院依賴母體院校為教學(xué)主力。從課程安排看,大多數(shù)獨(dú)立學(xué)院仍參照母體院校的排課體系安排教學(xué),獨(dú)立學(xué)院學(xué)生基礎(chǔ)較為薄弱,生源質(zhì)量不如母體院校,若教學(xué)要求和教學(xué)內(nèi)容若與母體院校一致,會(huì)給學(xué)生帶來(lái)一定的學(xué)習(xí)壓力。
1.2 電子信息工程專業(yè)數(shù)據(jù)庫(kù)課程的特點(diǎn)
以我院為例,電子信息工程專業(yè)的培養(yǎng)目標(biāo)是培養(yǎng)適應(yīng)于電子與信息工程領(lǐng)域需要的應(yīng)用型高級(jí)專門技術(shù)人才,本專業(yè)的畢業(yè)生能從事電子與信息系統(tǒng)設(shè)計(jì)、嵌入式系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)以及研究等工作,所以數(shù)據(jù)庫(kù)是本專業(yè)的專業(yè)課,但由于本專業(yè)的特點(diǎn),分配給數(shù)據(jù)庫(kù)課程的學(xué)時(shí)較少,且一般是講解數(shù)據(jù)庫(kù)的一些基本概念和原理以及數(shù)據(jù)庫(kù)管理系統(tǒng)軟件的使用,這樣就導(dǎo)致對(duì)數(shù)據(jù)庫(kù)原理的實(shí)際應(yīng)用關(guān)注度不夠,學(xué)生的數(shù)據(jù)庫(kù)實(shí)踐能力不強(qiáng),學(xué)到的理論往往很難直接指導(dǎo)實(shí)踐應(yīng)用。以學(xué)生畢業(yè)設(shè)計(jì)作品為例,我院學(xué)生的畢業(yè)設(shè)計(jì)包括基于ARM的數(shù)據(jù)采集、監(jiān)控系統(tǒng)的設(shè)計(jì)、基于Windows CE或者Linux的系統(tǒng)設(shè)計(jì)等,注重對(duì)數(shù)據(jù)的處理、比較、反饋,但學(xué)生的重心總是放在硬件(處理器以及各類傳感器)上,幾乎不涉及數(shù)據(jù)庫(kù),數(shù)據(jù)要么實(shí)時(shí)處理,要么直接存在記事本中,對(duì)后期數(shù)據(jù)的處理帶來(lái)一定的難度,系統(tǒng)更新更無(wú)從談起,學(xué)生總是認(rèn)為數(shù)據(jù)庫(kù)“太麻煩、太難對(duì)付”。
1.3 數(shù)據(jù)庫(kù)課程教學(xué)中普遍采用的工具以及不足之處分析
目前,高校 《數(shù)據(jù)庫(kù)》相關(guān)課程主要采用的數(shù)據(jù)庫(kù)系統(tǒng)有:Microsoft SQL Server、Access、Oracle、MySQL等。SQL Server是目前非常流行的數(shù)據(jù)庫(kù)管理系統(tǒng),功能強(qiáng)大;Access是MS Office中的成員,操作簡(jiǎn)單;但它們并非自由軟件,需要付費(fèi)使用,而且它們的使用都限制在Windows操作系統(tǒng)下,不具備跨平臺(tái)的能力;Oracle推出了面向個(gè)人學(xué)習(xí)使用的免費(fèi)數(shù)據(jù)庫(kù),但對(duì)系統(tǒng)要求較高;MySQL是一個(gè)非常優(yōu)秀的DBMS,可以免費(fèi)使用,功能強(qiáng)大,但MySQL與以上所有的數(shù)據(jù)庫(kù)共同的缺點(diǎn)在于:需要一定的安裝以及部署過(guò)程(Access雖然屬于單文件數(shù)據(jù)庫(kù)系統(tǒng),但仍需與Office辦公套件一起安裝)。另外,除Access以外的其他幾種數(shù)據(jù)庫(kù)系統(tǒng),均屬于服務(wù)器類型的數(shù)據(jù)庫(kù)系統(tǒng),必須通過(guò)數(shù)據(jù)庫(kù)服務(wù)器來(lái)管理,也就是說(shuō),在一臺(tái)機(jī)器上實(shí)現(xiàn)的數(shù)據(jù)庫(kù)不能任意地移植到另外一臺(tái)機(jī)器,需要在目的機(jī)器上部署相關(guān)的服務(wù)器。Access生成的數(shù)據(jù)庫(kù)文件不需要服務(wù)器的支持,但它的修改的查看也必須在安裝有Office中的Access組件的條件下才能實(shí)現(xiàn)[4]。
電信相關(guān)專業(yè)的學(xué)生的培養(yǎng)目標(biāo)與計(jì)算機(jī)相關(guān)專業(yè)學(xué)生比較而言,有自己的特色,通過(guò)一定的調(diào)查分析,以上幾種開(kāi)發(fā)工具均不大適合。平臺(tái)無(wú)關(guān)性以及低配置(或零配置)的數(shù)據(jù)庫(kù)系統(tǒng)成為電信相關(guān)專業(yè)老師和學(xué)生的迫切需要。
SQLite是一款輕型數(shù)據(jù)庫(kù),它的設(shè)計(jì)目標(biāo)是嵌入式系統(tǒng),而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用,占用的系統(tǒng)資源非常低。在嵌入式設(shè)備中,只需要幾百K的內(nèi)存空間就足夠。它能夠支持Windows、Linux、Unix等主流操作系統(tǒng)。同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合。比起MySQL,它的處理速度更快。SQLite支持跨平臺(tái),操作簡(jiǎn)單,能夠使用很多語(yǔ)言直接創(chuàng)建數(shù)據(jù)庫(kù),特別適合進(jìn)行嵌入式開(kāi)發(fā)。
在獨(dú)立學(xué)院電信相關(guān)專業(yè)以SQLite作為數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng)工具,具有得天獨(dú)厚的優(yōu)勢(shì):
其中包括上手快,零配置,簡(jiǎn)單實(shí)用,電信相關(guān)專業(yè)的一個(gè)主要方向是進(jìn)行嵌入式系統(tǒng)開(kāi)發(fā),嵌入式系統(tǒng)的軟件、硬件需要精心設(shè)計(jì),實(shí)現(xiàn)低成本、高性能的效果。占較大空間,部署麻煩的大型數(shù)據(jù)庫(kù)開(kāi)發(fā)工具讓嵌入式系統(tǒng)開(kāi)發(fā)望而生畏。而配置上SQLite和程序運(yùn)行在同一進(jìn)程中,速度快、體積小、易于分發(fā),適合在單機(jī)環(huán)境中運(yùn)行等特點(diǎn)使其在嵌入式開(kāi)發(fā)中占據(jù)一席之地。
2.1 SQLite特點(diǎn)
1)SQLite是用C語(yǔ)言編寫的開(kāi)源嵌入式數(shù)據(jù)庫(kù)引擎,完全獨(dú)立,不具有外部依賴性,支持多數(shù)SQL92標(biāo)準(zhǔn),可以在所有主要的操作系統(tǒng)上運(yùn)行,并且支持大多數(shù)計(jì)算機(jī)語(yǔ)言。SQLite支持大小高達(dá)2TB的數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)完全存儲(chǔ)在單個(gè)磁盤文件中。這些磁盤文件可以在不同字節(jié)順序的計(jì)算機(jī)之間移動(dòng)[5]。
2)SQLite是一個(gè)輕量級(jí)、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫(kù)。一般只需要帶上SQLite的一個(gè)動(dòng)態(tài)庫(kù),就可以使用它的全部功能。零配置、無(wú)須服務(wù)器是SQLite的另一個(gè)特色。它的核心引擎本身不依賴第三方的軟件,使用它不需要安裝,在部署的時(shí)候簡(jiǎn)單輕松。SQLite可以在所有主要的操作系統(tǒng)上運(yùn)行,體現(xiàn)了它良好的跨平臺(tái)與可移植性[6]。
2.2 SQLite教學(xué)與后續(xù)課程的結(jié)合
SQLite的特性使得它能夠與Linux、嵌入式等課程結(jié)合起來(lái)。以我院電信相關(guān)專業(yè)為例,“數(shù)據(jù)庫(kù)”課程學(xué)習(xí)后,會(huì)開(kāi)設(shè)“嵌入式實(shí)時(shí)操作系統(tǒng)”、“嵌入式原理與開(kāi)發(fā)”以及“電子系統(tǒng)課程設(shè)計(jì)”等相關(guān)專業(yè)課,之前學(xué)習(xí)SQL Sever數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,就只能在數(shù)據(jù)庫(kù)課堂上學(xué)習(xí)和利用,無(wú)法在后續(xù)課程中發(fā)揮作用,學(xué)習(xí)了SQLite,就能在后續(xù)課程中真正利用起來(lái)。無(wú)論嵌入式操作系統(tǒng)選用目前流行的Linux、Windows CE、Android還是簡(jiǎn)單的UC/OS,都能嵌入SQLite進(jìn)行數(shù)據(jù)存儲(chǔ)和查詢;嵌入式控制器無(wú)論是STM32還是 ARM系列,都能移植SQLite進(jìn)行嵌入式系統(tǒng)開(kāi)發(fā)。
2.3 項(xiàng)目驅(qū)動(dòng)法與SQLite的結(jié)合應(yīng)用
2.3.1 項(xiàng)目驅(qū)動(dòng)法
“項(xiàng)目驅(qū)動(dòng)”是在教學(xué)的過(guò)程中,緊緊圍繞一個(gè)共同的項(xiàng)目任務(wù)活動(dòng)中心,使學(xué)生在教師的幫助和指導(dǎo)下,在強(qiáng)烈的任務(wù)問(wèn)題驅(qū)動(dòng)下,通過(guò)對(duì)學(xué)習(xí)知識(shí)點(diǎn)積極、主動(dòng)的應(yīng)用,自主探索和小組互動(dòng)協(xié)作學(xué)習(xí),并在完成既定任務(wù)的同時(shí),引導(dǎo)學(xué)生思考的學(xué)習(xí)實(shí)踐活動(dòng)[7]。
SQLite是輕量級(jí)的嵌入式關(guān)系型數(shù)據(jù)庫(kù),目前已經(jīng)在iPhone、Android等手機(jī)系統(tǒng)中使用[8]。Android是目前流行的一款嵌入式操作系統(tǒng),可作為電信專業(yè)“實(shí)時(shí)操作系統(tǒng)”課程的教學(xué)方向。學(xué)生在學(xué)習(xí)了SQLite后,就可以將Android與SQLite結(jié)合,開(kāi)發(fā)實(shí)際的小項(xiàng)目,這既可以作為后續(xù)的課程設(shè)計(jì),又真正調(diào)動(dòng)學(xué)生的積極性,以項(xiàng)目作為驅(qū)動(dòng),提高教學(xué)的有效性。
對(duì)于Android平臺(tái)來(lái)說(shuō),系統(tǒng)內(nèi)置了豐富的API來(lái)供開(kāi)發(fā)人員操作SQLite,手機(jī)通訊錄是大家非常熟悉的一款安卓程序。教學(xué)過(guò)程完全可以讓學(xué)生設(shè)計(jì)一款手機(jī)通訊錄,這樣將多門課程進(jìn)行結(jié)合,提高學(xué)生的綜合能力。
2.3.2 簡(jiǎn)單通訊錄實(shí)現(xiàn)
1)SQLiteDatabase類
Android提供了一個(gè)名為SQLiteDatabase的類,該類封裝了一些操作數(shù)據(jù)庫(kù)的API。使用它能實(shí)現(xiàn)基本的創(chuàng)建、讀取、更新、刪除操作。
2)SQLiteOpenHelper類
SQLiteOpenHelper是SQLiteDatabse的一個(gè)抽象幫助類,該類提供了兩方面的功能
①getReadableDatabase()和getWritableDatabase()方法用以獲得SQLiteDatabase對(duì)象,通過(guò)該對(duì)象可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;②onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabse,int oldVersion,int newVersion)兩個(gè)回調(diào)函數(shù)。onCreate方法當(dāng)數(shù)據(jù)庫(kù)第一次被建立的時(shí)候被執(zhí)行,例如創(chuàng)建表,初始化數(shù)據(jù)等。onUpgrade方法當(dāng)數(shù)據(jù)庫(kù)需要被更新的時(shí)候執(zhí)行,例如刪除舊表,創(chuàng)建新表。以下為通訊錄項(xiàng)目所定義的 SQLiteOpenHelper助手類 MyDB,其中定義了一些數(shù)據(jù)庫(kù)操作的方法。
publicclass MyDB extends SQLiteOpenHelper{
private static String DB_NAME="My_ DB.db";//數(shù)據(jù)庫(kù)名稱
private static int DB_VERSION=2;//版本號(hào)
private SQLiteDatabase db;//數(shù)據(jù)庫(kù)操作對(duì)象
public MyDB(Context context){…}
public void onCreate(SQLiteDatabase db){…}
public void onOpen(SQLiteDatabase db){…}
public voidonUpgrade(SQLiteDatabasedb){…}
/*執(zhí)行SQLite數(shù)據(jù)庫(kù)連接*/
public SQLiteDatabase openConnection(){…}/*關(guān)閉SQLite數(shù)據(jù)庫(kù)連接*/
public voidcloseConnection(){…}
/*創(chuàng)建表*/
public boolean creatTable(String creatTableSql){…}
/*添加操作*/
publicboolean save(StringtableName,ContentValues values){…}
/*更新操作*/
publicboolean update(String table,ContentValues values,String whereClause,String[]whereArgs){…}
/*刪除操作*/
public boolean delete(string table,String deleteSql,String obj[]){…}.
/*查詢操作*/
public Cursor find(String findSql,String obj[]){…}
/*判斷表是否存在*/
public boolean isTableExits(String tablename){…}
}
SQLite作為一個(gè)開(kāi)源的嵌入式數(shù)據(jù)庫(kù)產(chǎn)品,具有系統(tǒng)體積小、檢索效率高的特性[9]。對(duì)于嵌入式場(chǎng)合中的數(shù)據(jù)存儲(chǔ),實(shí)現(xiàn)管理、執(zhí)行、維護(hù)的簡(jiǎn)單化。目前已廣泛應(yīng)用于中小型網(wǎng)站的后臺(tái)數(shù)據(jù)庫(kù)和內(nèi)存數(shù)據(jù)庫(kù)中。同時(shí),SQLite入門比較簡(jiǎn)單,學(xué)生操作起來(lái)所見(jiàn)即所得,學(xué)生可以根據(jù)自己的應(yīng)用需求來(lái)設(shè)計(jì)相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng),且占用系統(tǒng)資源小。在課堂上引入SQLite,能跟后續(xù)的課程進(jìn)行完美的結(jié)合,對(duì)學(xué)生的各種專業(yè)實(shí)習(xí)、畢業(yè)設(shè)計(jì)能帶來(lái)一定的好處,讓學(xué)生真正學(xué)以致用。
綜上所述,在獨(dú)立學(xué)院電信系數(shù)據(jù)庫(kù)教學(xué)中采用SQLite數(shù)據(jù)庫(kù)工具是合理可行的。
[1]教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì).高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐教學(xué)體系與規(guī)范[M].北京:清華大學(xué)出版社,2008:2-12.
[2]高峰.淺談獨(dú)立學(xué)院數(shù)據(jù)庫(kù)課程教學(xué)改革[J].價(jià)值工程,2014(5):227-228.
[3]楊謙.SQLite權(quán)威指南[M].北京:電子工業(yè)出版社,2013:2-19.
[4]師文浩.SQLite在高?!稊?shù)據(jù)庫(kù)》教學(xué)中的應(yīng)用[J].軟件導(dǎo)刊,2012,11(2):155-156.
[5]劉婧.問(wèn)題式教學(xué)在《數(shù)據(jù)庫(kù)系統(tǒng)原理》教學(xué)中的應(yīng)用探討[J].中國(guó)成人教育,2010(6):134-135.
[6]王愛(ài)冬,張濤.項(xiàng)目教學(xué)法在《數(shù)據(jù)庫(kù)原理及應(yīng)用》課程教學(xué)中的應(yīng)用研究[J].臺(tái)州學(xué)院學(xué)報(bào),2011,33(6):74-77.
[7]王艷,“項(xiàng)目驅(qū)動(dòng)”教學(xué)法在“數(shù)據(jù)庫(kù)原理與應(yīng)用”中的應(yīng)用[J].價(jià)值工程,2011,26:181-182.
[8]唐磊.淺談SQLite數(shù)據(jù)庫(kù)技術(shù)在Android平臺(tái)的應(yīng)用[J].探索與觀察,2014(9):12-13.
[9]馬江濤,劉放美.SQLite在數(shù)據(jù)庫(kù)實(shí)驗(yàn)教學(xué)中的應(yīng)用探討[J].河南科技,2010(3):58-59.
Teaching Reform to Database Course of Telecommunication Department in Independent College
LIU Linzhen
(Department of Electronic Engineering,Yango College,F(xiàn)uzhou 350008,China)
Independent colleges have sprung up everywhere in China and have become an important part of the higher education. Cultivating applied professionals is target of talent cultivation in independent colleges.Database technology can effectively organize and store a large amount of data collected,it can meet the needs of the information age so the course become an important professional course in the telecommunication department.Due to the training objective reason,the course time is less.Combining with practical situation of independent college,this paper discussed the teaching reform—the introduction of SQLite database.Practice has proved,in the premise of less class time,the result is better,students can quickly accept the knowledge of SQLite and use SQLite on several occasions.
SQLite;teaching reform;colleges and universities;independent college
TP277;TN925
A
10.3969/j.issn.1672-4550.2016.05.049
2014-01-03;修改日期:2016-05-09
劉林真(1981-),女,碩士,講師,主要從事嵌入式平臺(tái)軟件開(kāi)發(fā)與教學(xué)工作。
實(shí)驗(yàn)科學(xué)與技術(shù)2016年5期