王燕玲 張海霞



摘 要:文章從移動學(xué)習平臺開發(fā)的意義出發(fā),結(jié)合“數(shù)據(jù)庫系統(tǒng)”教學(xué)的主要任務(wù),構(gòu)建了“數(shù)據(jù)庫系統(tǒng)”課程移動學(xué)習平臺與網(wǎng)絡(luò)教學(xué)平臺,并對其應(yīng)用效果進行了深入分析。a
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)課程;移動技術(shù);學(xué)習平臺
中圖分類號:G642.0 文獻標識碼:A 文章編號:1002-4107(2016)06-0040-04
一、移動學(xué)習平臺開發(fā)的意義
據(jù)調(diào)研大多數(shù)計算機相關(guān)專業(yè)開設(shè)至少一門數(shù)據(jù)庫課程。該課程包括了數(shù)據(jù)庫理論和它實際應(yīng)用的所有主題,例如:不同類型的數(shù)據(jù)庫管理系統(tǒng)、關(guān)系代數(shù)和關(guān)系演算、查詢語言、數(shù)據(jù)庫設(shè)計等。實際教學(xué)中部分內(nèi)容缺少直觀顯示,而且學(xué)生無法隨時進行學(xué)習。這些問題主要原因是缺乏整合移動設(shè)備的網(wǎng)絡(luò)平臺。通過該平臺學(xué)生和教師可以隨時進行交流,學(xué)生可以及時直觀地溫故知新。
隨著技術(shù)的發(fā)展,計算機相關(guān)專業(yè)也在不斷地更新自己的課程,使用最新的工具和技術(shù),從而讓學(xué)生可以更好地適應(yīng)行業(yè)的發(fā)展。Mahmoud Q.H.認為雖然數(shù)據(jù)庫系統(tǒng)理論性比較強,但是學(xué)習該課程最有效的方法是實踐[1]。例如,讓學(xué)生在開發(fā)系統(tǒng)過程中使用數(shù)據(jù)庫[2-5],這樣學(xué)生不僅更好地理解了在課堂上所需學(xué)習的課程內(nèi)容,而且獲得了實際工作中使用這些工具的經(jīng)驗。另外在課堂教學(xué)中整合移動設(shè)備(如平板或智能手機)來提高學(xué)生參與課程學(xué)習的積極性[6-9],例如:在遠程教學(xué)中使用移動設(shè)備提高師生之間互動。
大多數(shù)計算機實驗室還是使用臺式機連接到服務(wù)器,這與大多數(shù)學(xué)生天天使用的技術(shù)之間存在巨大的差距。為了克服這個問題,在計算機相關(guān)課程中開發(fā)了移動平臺,該移動平臺包含了學(xué)習數(shù)據(jù)庫系統(tǒng)的所有知識,尤其是對關(guān)系代數(shù)學(xué)習做出了更直接的展示。
二、“數(shù)據(jù)庫系統(tǒng)”教學(xué)的主要任務(wù)
“數(shù)據(jù)庫系統(tǒng)”是計算機相關(guān)專業(yè)的核心課程。1978年由ACM提出數(shù)據(jù)庫系統(tǒng)獨立開課之后,2001年版本中數(shù)據(jù)庫系統(tǒng)本科階段的主要任務(wù)有:數(shù)據(jù)庫設(shè)計、ER模型、SQL語言、關(guān)系代數(shù)、事務(wù)處理、查詢優(yōu)化、并發(fā)性控制、數(shù)據(jù)庫系統(tǒng)開發(fā)等[10]。這些任務(wù)主要分為三個模塊:關(guān)系數(shù)據(jù)庫理論、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫設(shè)計與開發(fā)。具體見表1。
表1 數(shù)據(jù)庫系統(tǒng)教學(xué)任務(wù)
由表1可見,關(guān)系模型、關(guān)系代數(shù)表達式和關(guān)系代數(shù)優(yōu)化理論性比較強,難以理解。為了增強學(xué)生對這些知識的直觀理解,國內(nèi)外學(xué)者提出使用各種教學(xué)工具進行輔助教學(xué)。如:WinRDBI[11-12]、Virtura[13-14]、McMaster[15]、EDDI[16]、ACME[17]等工具都部分實現(xiàn)了關(guān)系代數(shù)表達式進行查詢的功能。王燕玲也開發(fā)了關(guān)系代數(shù)學(xué)習工具,在該工具中學(xué)生可以自由變更數(shù)據(jù)庫[18]。但是,這些工具未涉及移動學(xué)習平臺的設(shè)計,以及不同學(xué)習平臺在應(yīng)用后的使用效果分析。
三、相關(guān)技術(shù)
移動設(shè)備(例如智能手機和平板電腦)在大學(xué)校園里廣泛應(yīng)用。與桌面系統(tǒng)相類似,移動設(shè)備平臺包括BlackBerry OS,Windows Phone Mobile,iOS和Android等。經(jīng)過調(diào)研在高校校園Android系統(tǒng)的智能手機或平板電腦占有率較高,且嵌入式系統(tǒng)開發(fā)比較方便。本節(jié)主要討論Android系統(tǒng)中數(shù)據(jù)庫管理系統(tǒng)SQLite、顯示控件ListView,以及關(guān)系代數(shù)優(yōu)化策略。
(一)SQLite
SQLite是當今移動操作系統(tǒng)中最流行的數(shù)據(jù)庫管理系統(tǒng)軟件[19]。它是本地數(shù)據(jù)庫管理系統(tǒng)而不是遠程的數(shù)據(jù)庫管理系統(tǒng),并且占用資源較少。大多數(shù)情況下,符合SQL92標準,確保學(xué)生將學(xué)習標準的數(shù)據(jù)庫操作。
(二)ListView
對于移動學(xué)習平臺而言,ListView是必不可少的一個重要組成部分,在ListView中顯示各數(shù)據(jù)庫的表項以及字段項,并通過點擊事件,實現(xiàn)關(guān)系代數(shù)表達式的編輯。
ListView的顯示需要3個要素:ListView,用來顯示列表的View;適配器,用來把數(shù)據(jù)映射到ListView上;數(shù)據(jù),想要顯示的各項內(nèi)容。完成初始化之后,系統(tǒng)首先使用getCount()函數(shù)得到要繪制的這個列表的長度,然后通過調(diào)用getView()函數(shù)開始繪制,但是,這種處理方式在列表項長度較短時可以使用,在列表項過長時或數(shù)據(jù)過多時,使用getView()函數(shù)的方法就會導(dǎo)致浪費資源,浪費時間,浪費內(nèi)存的問題。
因此,本系統(tǒng)使用convertView的方式處理ListView的顯示,不但保證了列表項的正常顯示,同時也解決了使用getView()方法會導(dǎo)致的內(nèi)存泄露等問題。
(三)關(guān)系代數(shù)優(yōu)化
查詢優(yōu)化技術(shù)的理論基礎(chǔ)是關(guān)系代數(shù),關(guān)系代數(shù)對查詢優(yōu)化具有指導(dǎo)意義。不同運算符根據(jù)其特點,可以對查詢語句做不同的優(yōu)化,優(yōu)化可以減少中間生成物的大小和數(shù)量,節(jié)約IO、內(nèi)存等,從而提高執(zhí)行速度。但優(yōu)化的前提是:優(yōu)化前和優(yōu)化后的語義必須等價。
關(guān)系代數(shù)表達式為基于選擇(SELECT)、投影(PROJECT)、連接(JOIN)3種基本操作相結(jié)合的查詢,可以利用查詢重寫規(guī)則,做以下3種邏輯優(yōu)化。
1.對選擇操作查詢重寫,優(yōu)化方式是選擇操作下
推。目的是盡量減少連接操作前的元組數(shù),使得中間臨時關(guān)系盡量少(元組減少,連接得到的元組數(shù)就少),這樣減少IO和CPU的消耗,節(jié)約時間。
2.對投影操作,優(yōu)化方式是投影操作下推,目的是盡量減少連接操作前的列數(shù),使得中間臨時關(guān)系盡量小,這樣雖然不能減少IO,但可以減少連接后中間關(guān)系的元組大小,節(jié)約內(nèi)存空間。
3.等價謂詞重寫。數(shù)據(jù)庫執(zhí)行引擎對一些謂詞處理的效率高于其他謂詞。基于這點,把邏輯表達式重寫成等價的且效率更高的形式,能有效的提高查詢效率。這就是等價謂詞重寫。
本移動學(xué)習平臺實現(xiàn)了關(guān)系代數(shù)表達式標準化輸入、關(guān)系代數(shù)表達式轉(zhuǎn)換為標準SQL語言、關(guān)系代數(shù)表達式等價變換、SQL語言查詢等功能。
四、移動學(xué)習平臺的設(shè)計
本系統(tǒng)主要分為數(shù)據(jù)庫連接、關(guān)系代數(shù)表達式的編輯、優(yōu)化、關(guān)系代數(shù)翻譯為SQL語句和SQL語句的查詢輸出五個功能模塊。系統(tǒng)流程圖見圖1。
(一)數(shù)據(jù)庫連接模塊
在圖2數(shù)據(jù)庫連接界面中,用戶可以通過點擊鏈接按鈕,完成對數(shù)據(jù)庫的連接,完成之后,將會在下方的ListView中顯示相關(guān)數(shù)據(jù)庫中的表項,見圖3。
(二)關(guān)系代數(shù)編輯模塊
用戶在圖3中選擇完所需要操作的數(shù)據(jù)表之后,系統(tǒng)將跳轉(zhuǎn)至查詢界面如圖4,來進行關(guān)系代數(shù)表達式的編輯工作。
1.數(shù)據(jù)信息區(qū)域。在查詢界面(圖4)的上半部分,是所要操作的數(shù)據(jù)庫的相關(guān)信息,包括正在操作的表名、該表中的字段名等信息。當點擊表中的某個字段時,相應(yīng)字段名插入到下方關(guān)系代數(shù)表達式編輯框中。2.關(guān)系符號區(qū)域。關(guān)系代數(shù)表達式中的各種關(guān)系符號,若想要通過手機鍵盤輸入是比較困難的。因此,在查詢界面(圖4)的下半部分添加了相應(yīng)的按鈕,用來方便用戶編輯關(guān)系代數(shù)表達式。單擊“提交”,進入功能模塊,見圖5。
(三)功能模塊
在功能界面(圖5)中有著獲取關(guān)系代數(shù)表達式、翻譯為SQL語句、重新編輯、優(yōu)化、執(zhí)行SQL語句和退出按鈕。點擊相應(yīng)的按鈕,即可實現(xiàn)翻譯SQL語句、優(yōu)化關(guān)系代數(shù)、執(zhí)行SQL語句并顯示結(jié)果。通過多個結(jié)果框的對比學(xué)習,可以清晰地將關(guān)系代數(shù)整個處理過程展示出來,對于比較復(fù)雜的關(guān)系代數(shù)操作(比如左連接,除法,多表操作),本設(shè)計更有利于用戶的學(xué)習。
1.關(guān)系代數(shù)表達式的優(yōu)化與輸出。通過運用啟發(fā)式優(yōu)化規(guī)則實現(xiàn)關(guān)系代數(shù)運算表達式的優(yōu)化。實現(xiàn)方法為利用JFlex和JCup生成詞法和語法生成器。通過詞法和語法分析,把優(yōu)化的結(jié)果輸出。優(yōu)化結(jié)果見圖6。
2.關(guān)系代數(shù)到SQL語句。編輯關(guān)系代數(shù)表達式之
后,通過預(yù)先編寫好的詞法分析和語法分析程序進行分析,將結(jié)果返回程序。轉(zhuǎn)換結(jié)果見圖6。3.SQL語句的查詢輸出。將翻譯出來的SQL語句,傳遞給SQLite數(shù)據(jù)庫進行查詢,得出結(jié)果并在相對應(yīng)的結(jié)果框中進行顯示。結(jié)果見圖6。
五、移動學(xué)習平臺的應(yīng)用
通過調(diào)查問卷和考試結(jié)果分析網(wǎng)絡(luò)學(xué)習平臺和移動學(xué)習平臺對學(xué)生學(xué)習數(shù)據(jù)庫系統(tǒng)的影響以及學(xué)生對移動學(xué)習平臺的接受能力分析。
具體分組策略為在第二學(xué)年第一學(xué)期學(xué)習計算機相關(guān)專業(yè)的學(xué)生學(xué)習數(shù)據(jù)庫系統(tǒng)課程中設(shè)置四個對照組,組內(nèi)學(xué)生都會計算機和智能手機的應(yīng)用。第I組授課時采用傳統(tǒng)的數(shù)據(jù)庫理論教學(xué)方式;第II組授課時采用數(shù)據(jù)庫理論教學(xué)和網(wǎng)絡(luò)關(guān)系代數(shù)學(xué)習平臺輔助教學(xué);第III組授課時采用理論教授法和移動平臺輔助教學(xué)法;第IV組采用數(shù)據(jù)庫理論教學(xué)、網(wǎng)絡(luò)關(guān)系代數(shù)學(xué)習平臺和移動關(guān)系代數(shù)學(xué)習平臺相結(jié)合的方式。學(xué)習期末考核為上機考核和筆試考核。上機考核內(nèi)容為編輯關(guān)系代數(shù)表達式、編輯SQL語句、數(shù)據(jù)庫實現(xiàn)。筆試考核內(nèi)容為編輯關(guān)系代數(shù)表達式、編輯SQL語句、關(guān)系代數(shù)表達式優(yōu)化和數(shù)據(jù)庫設(shè)計。
(一)學(xué)習效果
本節(jié)主要檢驗關(guān)系代數(shù)表達式編輯、關(guān)系代數(shù)表達式優(yōu)化和SQL語句編輯三個部分的不同實驗組學(xué)生學(xué)習成績,每部分成績換算為百分制。
由表2可知,使用移動平臺和網(wǎng)絡(luò)平臺對學(xué)生學(xué)習關(guān)系代數(shù)表達式編輯和SQL語句編輯這兩個知識點的平均成績增加較多而對關(guān)系代數(shù)表達式優(yōu)化知識點的平均成績增加較少。單純使用移動平臺或網(wǎng)絡(luò)平臺的學(xué)生成績增加的沒有兩個平臺都使用增加的多。
表2 知識點成績與教學(xué)工具之間的關(guān)系
(二)學(xué)習態(tài)度
為了了解學(xué)生對知識掌握的熟練程度考核時記錄學(xué)生操作時間,具體見表3。表3中編輯關(guān)系代數(shù)表達式為5題,編輯SQL語句為5題,記錄學(xué)生交卷平均時間,單位為分鐘。由表2和3可見,只有理論講授的I組關(guān)系代數(shù)表達式編寫操作不熟練,花費時間較長,錯誤率多;對于采用了網(wǎng)絡(luò)學(xué)習平臺、移動學(xué)習平臺的II組和III組的操作時間縮小,使用移動學(xué)習平臺的操作時間比網(wǎng)絡(luò)學(xué)習平臺的操作時間少、錯誤率減少,而對于兩個平臺都使用的IV組操作時間更少。對于四組學(xué)生來講,編輯SQL語句操作時間只有微小變化。
(三)移動學(xué)習平臺的應(yīng)用效果
表4是對調(diào)查學(xué)生對移動學(xué)習平臺接受程度的調(diào)查結(jié)果。表4中1號問題主要調(diào)查平臺的易用性,2號問題調(diào)查平臺的技術(shù)便捷性,3號問題調(diào)查平臺的有用性。
表4 提問問題表
由表4可見,學(xué)生對移動學(xué)習平臺和網(wǎng)絡(luò)學(xué)習平臺的應(yīng)用都給予積極的評價,但是1號問題還是有部分學(xué)生覺得移動學(xué)習平臺操作較為困難需要對移動學(xué)習平臺界面做出部分調(diào)整以促進更多的學(xué)生使用移動學(xué)習平臺。
六、展望
本文提出使用數(shù)據(jù)庫移動學(xué)習平臺完成關(guān)系代數(shù)表達式轉(zhuǎn)換為SQL語言的形式化,以及關(guān)系代數(shù)表達式優(yōu)化處理過程,有效地降低了學(xué)生學(xué)習數(shù)據(jù)庫系統(tǒng)課程的難度。根據(jù)問卷調(diào)查分析可知授課過程中結(jié)合移動平臺系統(tǒng)可以更有效地調(diào)動學(xué)生學(xué)習數(shù)據(jù)庫系統(tǒng)的積極性。
不過本系統(tǒng)還需要進一步完善,為學(xué)生學(xué)習數(shù)據(jù)庫系統(tǒng)提供更好幫助。
參考文獻:
[1]Mahmoud Q H,Ngo T,Niazi R,et al.An Academic kit
for Integrating Mobile Devices.the CS Curriculum.
Proceedings of the 14th Annual ACM SIGCSE Conf-
erence on Innovation and Technology in CS Educ-
ation[C].Paris,F(xiàn)ranch,2009:40-44.
[2]Moore M,Binkerd C,F(xiàn)ant S.Teaching Web-Based
Database Application Development—an Inexpensive
Approach[J].Journal of Computing Sciences in
Colleges.2002,17,(4):58-63.
[3]Teaching Databases at Southampton University:
http://www.ics.heacademy.ac.uk/events/presenta-
tions/300_thomas.pdf.March 9,2009.
[4]Bi Y,Beidler J.Teaching Database Systems With
Web Applications Team Projects[J].Journal of
Computing Sciences in Colleges,2008,23,(3):82-88.
[5]Ramakrishna M V.A Learning by Doing Model for
Teaching Advanced Databases.Proceedings of the
Australasian conference on Computing education
[C].Melbourne,Australia,2000:203-207.
[6]Mahmoud Q H,Dyer A.Integrating BlackBerry Wire-
less Devices into Computing Programming and
Literacy Courses.the 45th Annual Southeast Con-
ference[C].Winston-Salem,NC,USA,2007:495-500.
[7]Mahmoud Q H.Integrating Mobile Devices into the
Computer Science Curriculum.The 38th Annual
Frontiers in Education Conference(FIE 2008)[C].
Saratoga Springs,NY,USA,2008:17-22.
[8]BlackBerry Wireless Devices in Comp-
uter Science Education:http://cmer.
cis.uoguelph.ca/pubs/CMER-white-pa-
per.pdf,2009.
[9]Csete J,Wong Y H,Vogel D.Mobile Devices In and
Out of the Classroom.World Conference on Educa-
tional Multimedia Hypermedia and Telecommunica-
tions[C].Chesapeake,VA,USA,2004:4729-4736.
[10]ACM/IEEE,ACM/IEEE Computing Curricula,Dec.15
2001.http://www.computer.org/education/cc2001/
(23 July 2004).
[11]WinRDBI[M/OL].http://www.eas.asu.edu/~winrdbi/.
[12]Dietrich S.Understanding Relational Database
Query Languages.Prentice Hall(2001)[M/OL].
http://rdbi.sourceforge.net/.
[13]Davis M,F(xiàn)itzpatrick M.VIRTURA-A Virtual Tutor
For Relational Algebra.1st LTSN Workshop on
Teaching,Learning and Assessment of Databases
[C].Coventry,2003:25-29.
[14]Josep S,Imma B,F(xiàn)erran P,et al.An Automatic
Correction Tool for Relational Algebra Queries.
Computational Science and Its Applications
(ICCSA 2007)[C].2007:861-872.
[15]McMaster K,Anderson N,Blake A.Teaching Relati-
onal Algebra and Relational Calculus.A Progra-
mming Approach.ISECON(2008)[C].2008,3-8.
[16]Beynon M,BhaleraoA,Roe C,et al.A Computer-based
environment for the study of relational query
languages.LTSN Teaching,Learning and Assessment
of Databases[C].2003:104-108.
[17]Josep S,Imma B,F(xiàn)erran P,et al.An Automatic
Correction Tool for Relational Algebra Queries.
ICCSA 2007[C].2007:861-872.
[18]王燕玲,李廣倫,張瑞玲.一種交互式關(guān)系代數(shù)學(xué)習工
具設(shè)計[J].實驗技術(shù)與管理,2014,(2).
[19]SQLite,http://www.sqlite.org/features.html.
Accessed on August 2,2012.