- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于WebSQL语言自动练习系统设计与实现
基于WebSQL语言自动练习系统设计与实现
摘 要:学生在学习SQL语言时,必须通过不断练习才能提高实践操作能力。而评判学生练习的正误和给予及时反馈是提高其学习积极性和学习能力的重要手段。文章基于Web的SQL语言自动练习系统,主要针对SQL SERVER数据库设计一个SQL语言自动练习系统,主要难点是SQL语句正确性的判断。
关键词:SQL;Structs; Hibernate; 自动练习系统;计算机辅助教学
中图分类号:TP311.52 文献标志码:A 文章编号:1673-8454(2013)24-0075-04
一、引言
SQL是结构化查询语言(Structured Query Language)的缩写,是当前最为成功、应用最为广泛的关系数据库语言。SQL之所以能被用户及业界接受并成为国际标准,主要是因为它语法简洁、方便实用、功能齐全强大。SQL语言包括数据查询、数据操纵、数据定义和数据控制四个功能。
SQL语言是高校计算机及相关专业学生必学的一门语言之一。而学习该语言的重要途径是练习,以往传统的练习方式由于学生得不到及时反馈使得学生的学习进度和学习积极性受到较大影响。本文尝试通过设计一个针对SQL SERVER的SQL语言自动练习系统,[1]在学生输入答案时,系统能马上评判该题,判断题目的正误,并提示出错原因。本系统较为关键的问题包括:
1.设计SQL语句正误判断的算法
一般算法是写SQL的语法分析器,对学生给出的答案与参考答案根据SQL语义进行比对。[2-7]这样的算法较具有通用性,但算法较为复杂,且由于学生解答五花八门语义分析有时误判率会很高。本文摒弃这种思路,直接从结果进行判断,即直接执行学生的答案及参考答案,若执行结果一致且结果集为非空,则判定正确,否则再通过简单的语法判断来判定正误。但这里有个问题,若执行结果,需要数据库里面专门为这些题目设定数据,这就需要设计较为完备的数据库。
2.设计较为完备的数据库
数据库的设定包括两部分,一部分是与管理相关的数据,另一部分则是与练习问题相关的数据。对于第一部分数据,我们可以在初始的时候设定,而对于与练习问题相关的数据,则在教师录入问题时设定。
二、SQL练习系统需求分析
笔者在进行???据库原理课程教学过程中发现,虽然SQL语言语法简单,但许多学生由于缺乏练习仍然无法理解和掌握,导致在后续很多课程中无法熟练地利用SQL对数据库进行操作。一般课后的作业布置或练习由于学生不知道标准答案,或者由于标准答案与自己所写的答案有所区别而无法判断自己所写是否正确,从而效果不佳,较为明显的是学生不可能多次重复做这个练习。因此笔者尝试建立一个自动练习系统,供学生练习。学生可以在该系统上进行SQL语法练习,系统会根据学生的答案给出评判。通过对选修数据库原理的学生的调研发现,绝大多数学生较喜欢在这样的平台上练习直至较为熟练地掌握SQL语言。
SQL练习系统的主要功能是实现给学生提供SQL语法练习的平台并实现自动化评判。本系统包括用户管理模块、练习题管理模块及自动批改模块。用户管理模块的主要功能是增删系统用户,并能为用户设置系统权限。其中增加用户除允许用户注册外,还应允许管理员或教师用户从Excel或其他文本文档中批量导入用户。对于管理员用户还应具有初始化其他用户密码的权限。练习题管理模块主要包括练习题的录入及相关数据库表的创建,练习题即为学生练习所用的题目,由于本系统采用执行结果比对的评判方式,因此当练习题所涉及的表不存在的时候,必须要求维护题库的教师用户创建数据表并输入相应的数据。自动批改模块主要通过在比较系统中执行用户输入的SQL语句和执行参考答案所得的结果,来评判用户所写的SQL语句是否正确。SQL练习系统的主要功能结构如图1所示。
三、SQL练习系统设计
本系统是基于WEB的,且操作系统有可能选择LINUX,因此本系统采用ECLIPSE作为开发工具,采用JSP、SERVELET、HTML、CSS、STRUTS等技术。
一般的操作流程为:用户在客户机上提交动态HTML页面,向服务器提出请求;ActionServlet接收这些请求,Struts根据strutsconfig.xml文件给相关的请求分配给处理模块进行处理。在业务层,相关业务处理逻辑用该处理模块提供的方法来实现业务逻辑处理。采用Spring技术把数据库与业务处理逻辑模块关联,利用hibernate的对象化映射,将模块操作行为映射为对数据库的操作,从而最终实现用户的请求。下面我们利用面向对象技术根据角色活动来设计系统。
1.用户登录
系统涉及的参与者包括Student(学生) 、Teacher(教师)、Administr
文档评论(0)