王燕玲 張海霞
摘 要:文章從移動(dòng)學(xué)習(xí)平臺(tái)開(kāi)發(fā)的意義出發(fā),結(jié)合“數(shù)據(jù)庫(kù)系統(tǒng)”教學(xué)的主要任務(wù),構(gòu)建了“數(shù)據(jù)庫(kù)系統(tǒng)”課程移動(dòng)學(xué)習(xí)平臺(tái)與網(wǎng)絡(luò)教學(xué)平臺(tái),并對(duì)其應(yīng)用效果進(jìn)行了深入分析。a
關(guān)鍵詞:數(shù)據(jù)庫(kù)系統(tǒng)課程;移動(dòng)技術(shù);學(xué)習(xí)平臺(tái)
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1002-4107(2016)06-0040-04
一、移動(dòng)學(xué)習(xí)平臺(tái)開(kāi)發(fā)的意義
據(jù)調(diào)研大多數(shù)計(jì)算機(jī)相關(guān)專業(yè)開(kāi)設(shè)至少一門數(shù)據(jù)庫(kù)課程。該課程包括了數(shù)據(jù)庫(kù)理論和它實(shí)際應(yīng)用的所有主題,例如:不同類型的數(shù)據(jù)庫(kù)管理系統(tǒng)、關(guān)系代數(shù)和關(guān)系演算、查詢語(yǔ)言、數(shù)據(jù)庫(kù)設(shè)計(jì)等。實(shí)際教學(xué)中部分內(nèi)容缺少直觀顯示,而且學(xué)生無(wú)法隨時(shí)進(jìn)行學(xué)習(xí)。這些問(wèn)題主要原因是缺乏整合移動(dòng)設(shè)備的網(wǎng)絡(luò)平臺(tái)。通過(guò)該平臺(tái)學(xué)生和教師可以隨時(shí)進(jìn)行交流,學(xué)生可以及時(shí)直觀地溫故知新。
隨著技術(shù)的發(fā)展,計(jì)算機(jī)相關(guān)專業(yè)也在不斷地更新自己的課程,使用最新的工具和技術(shù),從而讓學(xué)生可以更好地適應(yīng)行業(yè)的發(fā)展。Mahmoud Q.H.認(rèn)為雖然數(shù)據(jù)庫(kù)系統(tǒng)理論性比較強(qiáng),但是學(xué)習(xí)該課程最有效的方法是實(shí)踐[1]。例如,讓學(xué)生在開(kāi)發(fā)系統(tǒng)過(guò)程中使用數(shù)據(jù)庫(kù)[2-5],這樣學(xué)生不僅更好地理解了在課堂上所需學(xué)習(xí)的課程內(nèi)容,而且獲得了實(shí)際工作中使用這些工具的經(jīng)驗(yàn)。另外在課堂教學(xué)中整合移動(dòng)設(shè)備(如平板或智能手機(jī))來(lái)提高學(xué)生參與課程學(xué)習(xí)的積極性[6-9],例如:在遠(yuǎn)程教學(xué)中使用移動(dòng)設(shè)備提高師生之間互動(dòng)。
大多數(shù)計(jì)算機(jī)實(shí)驗(yàn)室還是使用臺(tái)式機(jī)連接到服務(wù)器,這與大多數(shù)學(xué)生天天使用的技術(shù)之間存在巨大的差距。為了克服這個(gè)問(wèn)題,在計(jì)算機(jī)相關(guān)課程中開(kāi)發(fā)了移動(dòng)平臺(tái),該移動(dòng)平臺(tái)包含了學(xué)習(xí)數(shù)據(jù)庫(kù)系統(tǒng)的所有知識(shí),尤其是對(duì)關(guān)系代數(shù)學(xué)習(xí)做出了更直接的展示。
二、“數(shù)據(jù)庫(kù)系統(tǒng)”教學(xué)的主要任務(wù)
“數(shù)據(jù)庫(kù)系統(tǒng)”是計(jì)算機(jī)相關(guān)專業(yè)的核心課程。1978年由ACM提出數(shù)據(jù)庫(kù)系統(tǒng)獨(dú)立開(kāi)課之后,2001年版本中數(shù)據(jù)庫(kù)系統(tǒng)本科階段的主要任務(wù)有:數(shù)據(jù)庫(kù)設(shè)計(jì)、ER模型、SQL語(yǔ)言、關(guān)系代數(shù)、事務(wù)處理、查詢優(yōu)化、并發(fā)性控制、數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)等[10]。這些任務(wù)主要分為三個(gè)模塊:關(guān)系數(shù)據(jù)庫(kù)理論、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)設(shè)計(jì)與開(kāi)發(fā)。具體見(jiàn)表1。
表1 數(shù)據(jù)庫(kù)系統(tǒng)教學(xué)任務(wù)
由表1可見(jiàn),關(guān)系模型、關(guān)系代數(shù)表達(dá)式和關(guān)系代數(shù)優(yōu)化理論性比較強(qiáng),難以理解。為了增強(qiáng)學(xué)生對(duì)這些知識(shí)的直觀理解,國(guó)內(nèi)外學(xué)者提出使用各種教學(xué)工具進(jìn)行輔助教學(xué)。如:WinRDBI[11-12]、Virtura[13-14]、McMaster[15]、EDDI[16]、ACME[17]等工具都部分實(shí)現(xiàn)了關(guān)系代數(shù)表達(dá)式進(jìn)行查詢的功能。王燕玲也開(kāi)發(fā)了關(guān)系代數(shù)學(xué)習(xí)工具,在該工具中學(xué)生可以自由變更數(shù)據(jù)庫(kù)[18]。但是,這些工具未涉及移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì),以及不同學(xué)習(xí)平臺(tái)在應(yīng)用后的使用效果分析。
三、相關(guān)技術(shù)
移動(dòng)設(shè)備(例如智能手機(jī)和平板電腦)在大學(xué)校園里廣泛應(yīng)用。與桌面系統(tǒng)相類似,移動(dòng)設(shè)備平臺(tái)包括BlackBerry OS,Windows Phone Mobile,iOS和Android等。經(jīng)過(guò)調(diào)研在高校校園Android系統(tǒng)的智能手機(jī)或平板電腦占有率較高,且嵌入式系統(tǒng)開(kāi)發(fā)比較方便。本節(jié)主要討論Android系統(tǒng)中數(shù)據(jù)庫(kù)管理系統(tǒng)SQLite、顯示控件ListView,以及關(guān)系代數(shù)優(yōu)化策略。
(一)SQLite
SQLite是當(dāng)今移動(dòng)操作系統(tǒng)中最流行的數(shù)據(jù)庫(kù)管理系統(tǒng)軟件[19]。它是本地?cái)?shù)據(jù)庫(kù)管理系統(tǒng)而不是遠(yuǎn)程的數(shù)據(jù)庫(kù)管理系統(tǒng),并且占用資源較少。大多數(shù)情況下,符合SQL92標(biāo)準(zhǔn),確保學(xué)生將學(xué)習(xí)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)操作。
(二)ListView
對(duì)于移動(dòng)學(xué)習(xí)平臺(tái)而言,ListView是必不可少的一個(gè)重要組成部分,在ListView中顯示各數(shù)據(jù)庫(kù)的表項(xiàng)以及字段項(xiàng),并通過(guò)點(diǎn)擊事件,實(shí)現(xiàn)關(guān)系代數(shù)表達(dá)式的編輯。
ListView的顯示需要3個(gè)要素:ListView,用來(lái)顯示列表的View;適配器,用來(lái)把數(shù)據(jù)映射到ListView上;數(shù)據(jù),想要顯示的各項(xiàng)內(nèi)容。完成初始化之后,系統(tǒng)首先使用getCount()函數(shù)得到要繪制的這個(gè)列表的長(zhǎng)度,然后通過(guò)調(diào)用getView()函數(shù)開(kāi)始繪制,但是,這種處理方式在列表項(xiàng)長(zhǎng)度較短時(shí)可以使用,在列表項(xiàng)過(guò)長(zhǎng)時(shí)或數(shù)據(jù)過(guò)多時(shí),使用getView()函數(shù)的方法就會(huì)導(dǎo)致浪費(fèi)資源,浪費(fèi)時(shí)間,浪費(fèi)內(nèi)存的問(wèn)題。
因此,本系統(tǒng)使用convertView的方式處理ListView的顯示,不但保證了列表項(xiàng)的正常顯示,同時(shí)也解決了使用getView()方法會(huì)導(dǎo)致的內(nèi)存泄露等問(wèn)題。
(三)關(guān)系代數(shù)優(yōu)化
查詢優(yōu)化技術(shù)的理論基礎(chǔ)是關(guān)系代數(shù),關(guān)系代數(shù)對(duì)查詢優(yōu)化具有指導(dǎo)意義。不同運(yùn)算符根據(jù)其特點(diǎn),可以對(duì)查詢語(yǔ)句做不同的優(yōu)化,優(yōu)化可以減少中間生成物的大小和數(shù)量,節(jié)約IO、內(nèi)存等,從而提高執(zhí)行速度。但優(yōu)化的前提是:優(yōu)化前和優(yōu)化后的語(yǔ)義必須等價(jià)。
關(guān)系代數(shù)表達(dá)式為基于選擇(SELECT)、投影(PROJECT)、連接(JOIN)3種基本操作相結(jié)合的查詢,可以利用查詢重寫(xiě)規(guī)則,做以下3種邏輯優(yōu)化。
1.對(duì)選擇操作查詢重寫(xiě),優(yōu)化方式是選擇操作下
推。目的是盡量減少連接操作前的元組數(shù),使得中間臨時(shí)關(guān)系盡量少(元組減少,連接得到的元組數(shù)就少),這樣減少IO和CPU的消耗,節(jié)約時(shí)間。
2.對(duì)投影操作,優(yōu)化方式是投影操作下推,目的是盡量減少連接操作前的列數(shù),使得中間臨時(shí)關(guān)系盡量小,這樣雖然不能減少IO,但可以減少連接后中間關(guān)系的元組大小,節(jié)約內(nèi)存空間。
3.等價(jià)謂詞重寫(xiě)。數(shù)據(jù)庫(kù)執(zhí)行引擎對(duì)一些謂詞處理的效率高于其他謂詞?;谶@點(diǎn),把邏輯表達(dá)式重寫(xiě)成等價(jià)的且效率更高的形式,能有效的提高查詢效率。這就是等價(jià)謂詞重寫(xiě)。
本移動(dòng)學(xué)習(xí)平臺(tái)實(shí)現(xiàn)了關(guān)系代數(shù)表達(dá)式標(biāo)準(zhǔn)化輸入、關(guān)系代數(shù)表達(dá)式轉(zhuǎn)換為標(biāo)準(zhǔn)SQL語(yǔ)言、關(guān)系代數(shù)表達(dá)式等價(jià)變換、SQL語(yǔ)言查詢等功能。
四、移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
本系統(tǒng)主要分為數(shù)據(jù)庫(kù)連接、關(guān)系代數(shù)表達(dá)式的編輯、優(yōu)化、關(guān)系代數(shù)翻譯為SQL語(yǔ)句和SQL語(yǔ)句的查詢輸出五個(gè)功能模塊。系統(tǒng)流程圖見(jiàn)圖1。
(一)數(shù)據(jù)庫(kù)連接模塊
在圖2數(shù)據(jù)庫(kù)連接界面中,用戶可以通過(guò)點(diǎn)擊鏈接按鈕,完成對(duì)數(shù)據(jù)庫(kù)的連接,完成之后,將會(huì)在下方的ListView中顯示相關(guān)數(shù)據(jù)庫(kù)中的表項(xiàng),見(jiàn)圖3。
(二)關(guān)系代數(shù)編輯模塊
用戶在圖3中選擇完所需要操作的數(shù)據(jù)表之后,系統(tǒng)將跳轉(zhuǎn)至查詢界面如圖4,來(lái)進(jìn)行關(guān)系代數(shù)表達(dá)式的編輯工作。
1.數(shù)據(jù)信息區(qū)域。在查詢界面(圖4)的上半部分,是所要操作的數(shù)據(jù)庫(kù)的相關(guān)信息,包括正在操作的表名、該表中的字段名等信息。當(dāng)點(diǎn)擊表中的某個(gè)字段時(shí),相應(yīng)字段名插入到下方關(guān)系代數(shù)表達(dá)式編輯框中。2.關(guān)系符號(hào)區(qū)域。關(guān)系代數(shù)表達(dá)式中的各種關(guān)系符號(hào),若想要通過(guò)手機(jī)鍵盤輸入是比較困難的。因此,在查詢界面(圖4)的下半部分添加了相應(yīng)的按鈕,用來(lái)方便用戶編輯關(guān)系代數(shù)表達(dá)式。單擊“提交”,進(jìn)入功能模塊,見(jiàn)圖5。
(三)功能模塊
在功能界面(圖5)中有著獲取關(guān)系代數(shù)表達(dá)式、翻譯為SQL語(yǔ)句、重新編輯、優(yōu)化、執(zhí)行SQL語(yǔ)句和退出按鈕。點(diǎn)擊相應(yīng)的按鈕,即可實(shí)現(xiàn)翻譯SQL語(yǔ)句、優(yōu)化關(guān)系代數(shù)、執(zhí)行SQL語(yǔ)句并顯示結(jié)果。通過(guò)多個(gè)結(jié)果框的對(duì)比學(xué)習(xí),可以清晰地將關(guān)系代數(shù)整個(gè)處理過(guò)程展示出來(lái),對(duì)于比較復(fù)雜的關(guān)系代數(shù)操作(比如左連接,除法,多表操作),本設(shè)計(jì)更有利于用戶的學(xué)習(xí)。
1.關(guān)系代數(shù)表達(dá)式的優(yōu)化與輸出。通過(guò)運(yùn)用啟發(fā)式優(yōu)化規(guī)則實(shí)現(xiàn)關(guān)系代數(shù)運(yùn)算表達(dá)式的優(yōu)化。實(shí)現(xiàn)方法為利用JFlex和JCup生成詞法和語(yǔ)法生成器。通過(guò)詞法和語(yǔ)法分析,把優(yōu)化的結(jié)果輸出。優(yōu)化結(jié)果見(jiàn)圖6。
2.關(guān)系代數(shù)到SQL語(yǔ)句。編輯關(guān)系代數(shù)表達(dá)式之
后,通過(guò)預(yù)先編寫(xiě)好的詞法分析和語(yǔ)法分析程序進(jìn)行分析,將結(jié)果返回程序。轉(zhuǎn)換結(jié)果見(jiàn)圖6。3.SQL語(yǔ)句的查詢輸出。將翻譯出來(lái)的SQL語(yǔ)句,傳遞給SQLite數(shù)據(jù)庫(kù)進(jìn)行查詢,得出結(jié)果并在相對(duì)應(yīng)的結(jié)果框中進(jìn)行顯示。結(jié)果見(jiàn)圖6。
五、移動(dòng)學(xué)習(xí)平臺(tái)的應(yīng)用
通過(guò)調(diào)查問(wèn)卷和考試結(jié)果分析網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)和移動(dòng)學(xué)習(xí)平臺(tái)對(duì)學(xué)生學(xué)習(xí)數(shù)據(jù)庫(kù)系統(tǒng)的影響以及學(xué)生對(duì)移動(dòng)學(xué)習(xí)平臺(tái)的接受能力分析。
具體分組策略為在第二學(xué)年第一學(xué)期學(xué)習(xí)計(jì)算機(jī)相關(guān)專業(yè)的學(xué)生學(xué)習(xí)數(shù)據(jù)庫(kù)系統(tǒng)課程中設(shè)置四個(gè)對(duì)照組,組內(nèi)學(xué)生都會(huì)計(jì)算機(jī)和智能手機(jī)的應(yīng)用。第I組授課時(shí)采用傳統(tǒng)的數(shù)據(jù)庫(kù)理論教學(xué)方式;第II組授課時(shí)采用數(shù)據(jù)庫(kù)理論教學(xué)和網(wǎng)絡(luò)關(guān)系代數(shù)學(xué)習(xí)平臺(tái)輔助教學(xué);第III組授課時(shí)采用理論教授法和移動(dòng)平臺(tái)輔助教學(xué)法;第IV組采用數(shù)據(jù)庫(kù)理論教學(xué)、網(wǎng)絡(luò)關(guān)系代數(shù)學(xué)習(xí)平臺(tái)和移動(dòng)關(guān)系代數(shù)學(xué)習(xí)平臺(tái)相結(jié)合的方式。學(xué)習(xí)期末考核為上機(jī)考核和筆試考核。上機(jī)考核內(nèi)容為編輯關(guān)系代數(shù)表達(dá)式、編輯SQL語(yǔ)句、數(shù)據(jù)庫(kù)實(shí)現(xiàn)。筆試考核內(nèi)容為編輯關(guān)系代數(shù)表達(dá)式、編輯SQL語(yǔ)句、關(guān)系代數(shù)表達(dá)式優(yōu)化和數(shù)據(jù)庫(kù)設(shè)計(jì)。
(一)學(xué)習(xí)效果
本節(jié)主要檢驗(yàn)關(guān)系代數(shù)表達(dá)式編輯、關(guān)系代數(shù)表達(dá)式優(yōu)化和SQL語(yǔ)句編輯三個(gè)部分的不同實(shí)驗(yàn)組學(xué)生學(xué)習(xí)成績(jī),每部分成績(jī)換算為百分制。
由表2可知,使用移動(dòng)平臺(tái)和網(wǎng)絡(luò)平臺(tái)對(duì)學(xué)生學(xué)習(xí)關(guān)系代數(shù)表達(dá)式編輯和SQL語(yǔ)句編輯這兩個(gè)知識(shí)點(diǎn)的平均成績(jī)?cè)黾虞^多而對(duì)關(guān)系代數(shù)表達(dá)式優(yōu)化知識(shí)點(diǎn)的平均成績(jī)?cè)黾虞^少。單純使用移動(dòng)平臺(tái)或網(wǎng)絡(luò)平臺(tái)的學(xué)生成績(jī)?cè)黾拥臎](méi)有兩個(gè)平臺(tái)都使用增加的多。
表2 知識(shí)點(diǎn)成績(jī)與教學(xué)工具之間的關(guān)系
(二)學(xué)習(xí)態(tài)度
為了了解學(xué)生對(duì)知識(shí)掌握的熟練程度考核時(shí)記錄學(xué)生操作時(shí)間,具體見(jiàn)表3。表3中編輯關(guān)系代數(shù)表達(dá)式為5題,編輯SQL語(yǔ)句為5題,記錄學(xué)生交卷平均時(shí)間,單位為分鐘。由表2和3可見(jiàn),只有理論講授的I組關(guān)系代數(shù)表達(dá)式編寫(xiě)操作不熟練,花費(fèi)時(shí)間較長(zhǎng),錯(cuò)誤率多;對(duì)于采用了網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)、移動(dòng)學(xué)習(xí)平臺(tái)的II組和III組的操作時(shí)間縮小,使用移動(dòng)學(xué)習(xí)平臺(tái)的操作時(shí)間比網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)的操作時(shí)間少、錯(cuò)誤率減少,而對(duì)于兩個(gè)平臺(tái)都使用的IV組操作時(shí)間更少。對(duì)于四組學(xué)生來(lái)講,編輯SQL語(yǔ)句操作時(shí)間只有微小變化。
(三)移動(dòng)學(xué)習(xí)平臺(tái)的應(yīng)用效果
表4是對(duì)調(diào)查學(xué)生對(duì)移動(dòng)學(xué)習(xí)平臺(tái)接受程度的調(diào)查結(jié)果。表4中1號(hào)問(wèn)題主要調(diào)查平臺(tái)的易用性,2號(hào)問(wèn)題調(diào)查平臺(tái)的技術(shù)便捷性,3號(hào)問(wèn)題調(diào)查平臺(tái)的有用性。
表4 提問(wèn)問(wèn)題表
由表4可見(jiàn),學(xué)生對(duì)移動(dòng)學(xué)習(xí)平臺(tái)和網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)的應(yīng)用都給予積極的評(píng)價(jià),但是1號(hào)問(wèn)題還是有部分學(xué)生覺(jué)得移動(dòng)學(xué)習(xí)平臺(tái)操作較為困難需要對(duì)移動(dòng)學(xué)習(xí)平臺(tái)界面做出部分調(diào)整以促進(jìn)更多的學(xué)生使用移動(dòng)學(xué)習(xí)平臺(tái)。
六、展望
本文提出使用數(shù)據(jù)庫(kù)移動(dòng)學(xué)習(xí)平臺(tái)完成關(guān)系代數(shù)表達(dá)式轉(zhuǎn)換為SQL語(yǔ)言的形式化,以及關(guān)系代數(shù)表達(dá)式優(yōu)化處理過(guò)程,有效地降低了學(xué)生學(xué)習(xí)數(shù)據(jù)庫(kù)系統(tǒng)課程的難度。根據(jù)問(wèn)卷調(diào)查分析可知授課過(guò)程中結(jié)合移動(dòng)平臺(tái)系統(tǒng)可以更有效地調(diào)動(dòng)學(xué)生學(xué)習(xí)數(shù)據(jù)庫(kù)系統(tǒng)的積極性。
不過(guò)本系統(tǒng)還需要進(jìn)一步完善,為學(xué)生學(xué)習(xí)數(shù)據(jù)庫(kù)系統(tǒng)提供更好幫助。
參考文獻(xiàn):
[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é)習(xí)工
具設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2014,(2).
[19]SQLite,http://www.sqlite.org/features.html.
Accessed on August 2,2012.