数据库系统移动学习平台的设计与应用
2016-05-14王燕玲张海霞
王燕玲 张海霞
摘 要:文章从移动学习平台开发的意义出发,结合“数据库系统”教学的主要任务,构建了“数据库系统”课程移动学习平台与网络教学平台,并对其应用效果进行了深入分析。a
关键词:数据库系统课程;移动技术;学习平台
中图分类号:G642.0 文献标识码:A 文章编号:1002-4107(2016)06-0040-04
一、移动学习平台开发的意义
据调研大多数计算机相关专业开设至少一门数据库课程。该课程包括了数据库理论和它实际应用的所有主题,例如:不同类型的数据库管理系统、关系代数和关系演算、查询语言、数据库设计等。实际教学中部分内容缺少直观显示,而且学生无法随时进行学习。这些问题主要原因是缺乏整合移动设备的网络平台。通过该平台学生和教师可以随时进行交流,学生可以及时直观地温故知新。
随着技术的发展,计算机相关专业也在不断地更新自己的课程,使用最新的工具和技术,从而让学生可以更好地适应行业的发展。Mahmoud Q.H.认为虽然数据库系统理论性比较强,但是学习该课程最有效的方法是实践[1]。例如,让学生在开发系统过程中使用数据库[2-5],这样学生不仅更好地理解了在课堂上所需学习的课程内容,而且获得了实际工作中使用这些工具的经验。另外在课堂教学中整合移动设备(如平板或智能手机)来提高学生参与课程学习的积极性[6-9],例如:在远程教学中使用移动设备提高师生之间互动。
大多数计算机实验室还是使用台式机连接到服务器,这与大多数学生天天使用的技术之间存在巨大的差距。为了克服这个问题,在计算机相关课程中开发了移动平台,该移动平台包含了学习数据库系统的所有知识,尤其是对关系代数学习做出了更直接的展示。
二、“数据库系统”教学的主要任务
“数据库系统”是计算机相关专业的核心课程。1978年由ACM提出数据库系统独立开课之后,2001年版本中数据库系统本科阶段的主要任务有:数据库设计、ER模型、SQL语言、关系代数、事务处理、查询优化、并发性控制、数据库系统开发等[10]。这些任务主要分为三个模块:关系数据库理论、数据库管理系统和数据库设计与开发。具体见表1。
表1 数据库系统教学任务
由表1可见,关系模型、关系代数表达式和关系代数优化理论性比较强,难以理解。为了增强学生对这些知识的直观理解,国内外学者提出使用各种教学工具进行辅助教学。如:WinRDBI[11-12]、Virtura[13-14]、McMaster[15]、EDDI[16]、ACME[17]等工具都部分实现了关系代数表达式进行查询的功能。王燕玲也开发了关系代数学习工具,在该工具中学生可以自由变更数据库[18]。但是,这些工具未涉及移动学习平台的设计,以及不同学习平台在应用后的使用效果分析。
三、相关技术
移动设备(例如智能手机和平板电脑)在大学校园里广泛应用。与桌面系统相类似,移动设备平台包括BlackBerry OS,Windows Phone Mobile,iOS和Android等。经过调研在高校校园Android系统的智能手机或平板电脑占有率较高,且嵌入式系统开发比较方便。本节主要讨论Android系统中数据库管理系统SQLite、显示控件ListView,以及关系代数优化策略。
(一)SQLite
SQLite是当今移动操作系统中最流行的数据库管理系统软件[19]。它是本地数据库管理系统而不是远程的数据库管理系统,并且占用资源较少。大多数情况下,符合SQL92标准,确保学生将学习标准的数据库操作。
(二)ListView
对于移动学习平台而言,ListView是必不可少的一个重要组成部分,在ListView中显示各数据库的表项以及字段项,并通过点击事件,实现关系代数表达式的编辑。
ListView的显示需要3个要素:ListView,用来显示列表的View;适配器,用来把数据映射到ListView上;数据,想要显示的各项内容。完成初始化之后,系统首先使用getCount()函数得到要绘制的这个列表的长度,然后通过调用getView()函数开始绘制,但是,这种处理方式在列表项长度较短时可以使用,在列表项过长时或数据过多时,使用getView()函数的方法就会导致浪费资源,浪费时间,浪费内存的问题。
因此,本系统使用convertView的方式处理ListView的显示,不但保证了列表项的正常显示,同时也解决了使用getView()方法会导致的内存泄露等问题。
(三)关系代数优化
查询优化技术的理论基础是关系代数,关系代数对查询优化具有指导意义。不同运算符根据其特点,可以对查询语句做不同的优化,优化可以减少中间生成物的大小和数量,节约IO、内存等,从而提高执行速度。但优化的前提是:优化前和优化后的语义必须等价。
关系代数表达式为基于选择(SELECT)、投影(PROJECT)、连接(JOIN)3种基本操作相结合的查询,可以利用查询重写规则,做以下3种逻辑优化。
1.对选择操作查询重写,优化方式是选择操作下
推。目的是尽量减少连接操作前的元组数,使得中间临时关系尽量少(元组减少,连接得到的元组数就少),这样减少IO和CPU的消耗,节约时间。
2.对投影操作,优化方式是投影操作下推,目的是尽量减少连接操作前的列数,使得中间临时关系尽量小,这样虽然不能减少IO,但可以减少连接后中间关系的元组大小,节约内存空间。
3.等价谓词重写。数据库执行引擎对一些谓词处理的效率高于其他谓词。基于这点,把逻辑表达式重写成等价的且效率更高的形式,能有效的提高查询效率。这就是等价谓词重写。
本移动学习平台实现了关系代数表达式标准化输入、关系代数表达式转换为标准SQL语言、关系代数表达式等价变换、SQL语言查询等功能。
四、移动学习平台的设计
本系统主要分为数据库连接、关系代数表达式的编辑、优化、关系代数翻译为SQL语句和SQL语句的查询输出五个功能模块。系统流程图见图1。
(一)数据库连接模块
在图2数据库连接界面中,用户可以通过点击链接按钮,完成对数据库的连接,完成之后,将会在下方的ListView中显示相关数据库中的表项,见图3。
(二)关系代数编辑模块
用户在图3中选择完所需要操作的数据表之后,系统将跳转至查询界面如图4,来进行关系代数表达式的编辑工作。
1.数据信息区域。在查询界面(图4)的上半部分,是所要操作的数据库的相关信息,包括正在操作的表名、该表中的字段名等信息。当点击表中的某个字段时,相应字段名插入到下方关系代数表达式编辑框中。2.关系符号区域。关系代数表达式中的各种关系符号,若想要通过手机键盘输入是比较困难的。因此,在查询界面(图4)的下半部分添加了相应的按钮,用来方便用户编辑关系代数表达式。单击“提交”,进入功能模块,见图5。
(三)功能模块
在功能界面(图5)中有着获取关系代数表达式、翻译为SQL语句、重新编辑、优化、执行SQL语句和退出按钮。点击相应的按钮,即可实现翻译SQL语句、优化关系代数、执行SQL语句并显示结果。通过多个结果框的对比学习,可以清晰地将关系代数整个处理过程展示出来,对于比较复杂的关系代数操作(比如左连接,除法,多表操作),本设计更有利于用户的学习。
1.关系代数表达式的优化与输出。通过运用启发式优化规则实现关系代数运算表达式的优化。实现方法为利用JFlex和JCup生成词法和语法生成器。通过词法和语法分析,把优化的结果输出。优化结果见图6。
2.关系代数到SQL语句。编辑关系代数表达式之
后,通过预先编写好的词法分析和语法分析程序进行分析,将结果返回程序。转换结果见图6。3.SQL语句的查询输出。将翻译出来的SQL语句,传递给SQLite数据库进行查询,得出结果并在相对应的结果框中进行显示。结果见图6。
五、移动学习平台的应用
通过调查问卷和考试结果分析网络学习平台和移动学习平台对学生学习数据库系统的影响以及学生对移动学习平台的接受能力分析。
具体分组策略为在第二学年第一学期学习计算机相关专业的学生学习数据库系统课程中设置四个对照组,组内学生都会计算机和智能手机的应用。第I组授课时采用传统的数据库理论教学方式;第II组授课时采用数据库理论教学和网络关系代数学习平台辅助教学;第III组授课时采用理论教授法和移动平台辅助教学法;第IV组采用数据库理论教学、网络关系代数学习平台和移动关系代数学习平台相结合的方式。学习期末考核为上机考核和笔试考核。上机考核内容为编辑关系代数表达式、编辑SQL语句、数据库实现。笔试考核内容为编辑关系代数表达式、编辑SQL语句、关系代数表达式优化和数据库设计。
(一)学习效果
本节主要检验关系代数表达式编辑、关系代数表达式优化和SQL语句编辑三个部分的不同实验组学生学习成绩,每部分成绩换算为百分制。
由表2可知,使用移动平台和网络平台对学生学习关系代数表达式编辑和SQL语句编辑这两个知识点的平均成绩增加较多而对关系代数表达式优化知识点的平均成绩增加较少。单纯使用移动平台或网络平台的学生成绩增加的没有两个平台都使用增加的多。
表2 知识点成绩与教学工具之间的关系
(二)学习态度
为了了解学生对知识掌握的熟练程度考核时记录学生操作时间,具体见表3。表3中编辑关系代数表达式为5题,编辑SQL语句为5题,记录学生交卷平均时间,单位为分钟。由表2和3可见,只有理论讲授的I组关系代数表达式编写操作不熟练,花费时间较长,错误率多;对于采用了网络学习平台、移动学习平台的II组和III组的操作时间缩小,使用移动学习平台的操作时间比网络学习平台的操作时间少、错误率减少,而对于两个平台都使用的IV组操作时间更少。对于四组学生来讲,编辑SQL语句操作时间只有微小变化。
(三)移动学习平台的应用效果
表4是对调查学生对移动学习平台接受程度的调查结果。表4中1号问题主要调查平台的易用性,2号问题调查平台的技术便捷性,3号问题调查平台的有用性。
表4 提问问题表
由表4可见,学生对移动学习平台和网络学习平台的应用都给予积极的评价,但是1号问题还是有部分学生觉得移动学习平台操作较为困难需要对移动学习平台界面做出部分调整以促进更多的学生使用移动学习平台。
六、展望
本文提出使用数据库移动学习平台完成关系代数表达式转换为SQL语言的形式化,以及关系代数表达式优化处理过程,有效地降低了学生学习数据库系统课程的难度。根据问卷调查分析可知授课过程中结合移动平台系统可以更有效地调动学生学习数据库系统的积极性。
不过本系统还需要进一步完善,为学生学习数据库系统提供更好帮助。
参考文献:
[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,Franch,2009:40-44.
[2]Moore M,Binkerd C,Fant 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,Fitzpatrick 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,Ferran 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,Ferran P,et al.An Automatic
Correction Tool for Relational Algebra Queries.
ICCSA 2007[C].2007:861-872.
[18]王燕玲,李广伦,张瑞玲.一种交互式关系代数学习工
具设计[J].实验技术与管理,2014,(2).
[19]SQLite,http://www.sqlite.org/features.html.
Accessed on August 2,2012.