数据库教学方法研究(共12篇)
数据库教学方法研究 篇1
数据库课程具有理论基础强、实践应用性突出、学科间知识综合性明显、学科内多层面内容交融、前沿新技术发展迅速等特征,针对如上特征,数据库课程设置和教学内容需要不断改革和发展。在数据库教学改革的过程中,根据其知识体系的特点及环节间关联,从系统的高度和协同的观点对教学大纲和核心内容进行设计,做到统一考虑内容,比照协调结构,渐进展开,突出该课程体系的科学性、系统性和层次性。然而,传统的数据库教学体系存在着一些急需解决的问题:课程设置缺乏系统性,缺乏与数据库科研开发结合的创新能力培养,数据库教学资源形式单一,教学方式与手段不够灵活多样等。针对数据库教学中存在的问题,结合学校实际情况,提出多角度教学方法的改革方案:在教学过程中可以讨论探索、规划设计,提出新思路、新算法,形成师生间、学生间的多向交流与互动,共同探讨最优的设计方案和最佳的运行算法,从而大大提高学生学习的兴趣和积极性,增强学生的动手能力,使整个教学活动达到良性的互动,实现教学目标。通过几年探索实践,在实际教学中取得了显著成效。
授课方式的改革,采用理论讲授、互动讨论和实践训练相结合的方式。
理论讲授:在课堂上采用课堂讲解、代码段分析、软件演示、相互提问、课堂讨论和个人观点发表等方式组织各个知识点的学习,鼓励学生主动学习,培养积极思考、创新思维的习惯与能力。教学过程中注重示例性讲解,掌握教学节奏,积极为学生创设情境,引导学生根据现象和情境提出问题、分析问题、提出假设并最终解决问题,以激发学生探究和创新的欲望,让学生的思维活跃起来,积极地参与思考,提出问题,提高学生发现问题和解决问题的能力。
互动讨论:在互动讨论中,学生最好分成若干个学习小组进行,教师除了积极地组织、启发和引导学生进行分析讨论,还要有意营造一种开放的气氛,借助于提示、提问、反问、引起争论等方式,让学生各抒己见,逐渐深入讨论。例如在制作系统登录界面时,结合实际进行启发性的提问:“用户应该分为几个等级,不同级别的用户的操作权限分别是什么?”从而使学生知道从哪里入手。集思广益、开拓思路、鼓励创新。让学生自己解决问题,锻炼他们综合运用知识的能力。经过课堂分析讨论以后,通常会提出若干个解决方案。此时,教师应该引导学生从解决问题的有效性、费用、时效、成功率等方面进行比较,权衡利弊,并预测可能的结果以及可能会出现的困难。接下来就是在上机实验中验证解决问题的方案。
实践训练:以学生具体操作为主,教师应留给学生充足的操作时间,让学生大胆去尝试,使他们在实际操作中感受和领悟。在实践训练期间,学生可以将之前确定的若干解决方案通过上机操作,得出真正的最佳解决方法和最优方案;也可以采用课程设计等形式组织完整的分析、设计和开发实践,锻炼学生的实际操作能力。这期间,对学生出现的问题,教师可作及时的纠正和辅导。通过实验,学生会产生多种疑问,进而主动去寻求答案,形成喜欢质疑、乐于探究、积极求知的良好心理状态和学习习惯。课程设计任务的提出可以由师生共同讨论或学生根据自身需求自主提出,这样可能更符合每个学生的个性和兴趣特点,使学生根据自己内在的需要去探究和学习,充分发挥自身的积极性、主动性和创造性,从而培养出独立探索、勇于开拓进取的自学能力。例如,学生提出设计学籍管理系统,教师可以引导学生通过联系实际不断地提出这样的问题:学籍管理系统需要管理学生的信息,包括学生信息的录入、学生信息修改、查询、备份、删除等功能;在使用过程中有时需要打印表格的需求,还得有打印的功能;如果该系统规定专人负责,还需要规定用户名和登录密码,体现保密性等等。经过这样逐层次的质疑,学生们产生了不断探究的兴趣,从而使学生养成积极探索的学习习惯。
教学过程贯穿了数据库的四条线索:数据库的发展从层次型、网状型、关系型、对象型、网络型到决策型的演变过程;数据模型和数据语言的演变;数据库技术的“用户”和“系统”两个端点;数据库设计从实体联系图、对象联系图到UML类图的发展过程。通过本课程的学习可以使学生了解数据库系统的基本理论和内容,能够设计和实现大型的数据库应用系统,了解数据库系统的核心技术及其实现,了解有关数据库系统研究的最新进展等等,从而认识到数据库系统在大型应用系统中的地位和作用,尤其是认识到我们国家在数据库系统方面与世界的差距,为学生将来参与有关数据库系统方面的研究奠定必要的知识基础。
教学活动围绕“培养学生的理论知识,提高实践技能和创新能力”这个中心展开,兼顾数据库技术的使用和数据库的实现这两个方面,加强数据库上机实习实践环节。
课程设计和课内实验是成功的关键,通过课程设计和课内实验,学生普遍都能掌握利用数据库技术对信息进行管理、加工和利用的技能,部分学生开始对数据库应用开发产生浓厚兴趣,期待在今后的科技活动和毕业设计中选择与数据库技术相关的课题,以便进一步通过实践增加对数据库技术的应用能力。
根据本课程的特点,考核方式可以选用闭卷、开卷、提问和设计报告等形式,旨在考核学生对基本知识的掌握情况,以及分析问题、解决问题的能力。闭卷考试主要在期末进行,平时授课期间可以采用开卷测试、提问等形式督促学生学习,而在课程进行到一个阶段的时候配合实践课题撰写相关的、合乎文档规范的设计报告,以便让学生熟悉系统分析、设计与开发的过程,培养学生的综合能力和素质。
要真正完成一堂较高质量的教学课,从课前的准备,课中巧妙地引导学生进入课程设置的情景,理智地控制课堂运作,到课后组织学生答疑,无不对教师提出较高的要求。因此教师要不断提高层次,完善知识结构,提升驾驭课堂的能力,并实现由传统的主导者到启发者的角色转变。尤其对于年轻的和没有实际软件开发经验的教师来讲,如何启发学生的兴趣和激发他们的学习主动性,还需要进一步学习。
数据库教学还需要在长期的教学实践中不断地总结、改进和完善。要优化课堂教学方法,不能简单地以一种教学方法替代另一种教学方法,而应是多种教法的综合运用。只有把多种教学方法有机地结合起来,才能真正提高数据库课程的课堂效果和教学质量,才能提高学生的实践能力与综合应用能力。
摘要:数据库是信息化社会中信息资源管理与开发利用的基础,本文针对数据库课程的特征,提出了数据库教学应该达到的目标,并分析了传统数据库教学的不足,提出了多角度教学方法的改革方案。
关键词:数据库技术,教学改革,教学方法
参考文献
[1]王晓松.信息技术与高等教育学科教学整合若干问题的思考[J].黑龙江高教研究,2005,(5).
[2]吴达胜,刘丽娟,孙圣力.数据库原理与技术的理论与实践教学的整体优化研究[J].计算机时代,2005,(11).
[3]罗蓉,苑璟,杨百龙,李俊山.数据库原理及应用实验教学探索[J].太原教育学院学报,2006,(6).
数据库教学方法研究 篇2
(阜阳师范学院计算机与信息工程学院安徽阜阳 236037)
摘要:大数据时代带来了数据在存储、组织、管理等理论与方法方面的巨大变化,同时也给传统的数据库课程带来新的挑战,促使其进行改革。本文通?^对大数据时代给数据库课程带来的影响进行深入分析,从高校数据库课程所面临的问题入手,提出适应大数据时代发展需求的新的数据库课程教学模式、教学方法、教学内容。
关键词:大数据;数据库;教学改革
0 引言
目前,对于大数据(Big data)的定义在业界尚未有统一的定义,但通常用大数据一词来表示大量非结构化数据和半结构化数据。这些数据在用传统的关系型数据库分析时会花费较多的时间和金钱[1]。但是,目前国内大多数高校的数据库课程仍然是都是以产生于上世纪80年代的关系型数据库为主,研究的是结构化数据的存储、处理、数据共享等内容。按照“80-20”规则,世界上20%的结构化数据主要是事务数据,产生80%的价值,而80%的数据为非结构化数据,这些非结构化数据大多是一些新型用户产生的数据,它们无法存储到关系数据库中[2]。但是随着数据采集、存储技术和云计算的迅速发展,大量非结构化数据的存储和处理已成为可能,也越来越受到关注。这些现象的出现也对现有的数据库课程产生较大的冲击。现如今,在国内几乎所有的本科院校计算机相关专业都已开设了数据库类课程,该课程的开设初衷是为了解决计算机信息处理过程中大量数据有效组织和存储的问题,同时也是为培养学生进行信息管理、分析、设计、开发和应用等诸方面的能力[3-4]。但存在问题是现有的数据库课程知识体系很难应对由云计算、大数据等技术的兴起而产生的海量数据爆发式增长的局面,已经出现不能满足实际应用对数据库专业人才的需求的局面。因此,本文通过分析大数据时代的特点及社会对数据库专业人才需求,提出适应大数据发展需要的数据库课程内容、教学模式及教学方法。设计面向大数据背景下的教学模式
大数据环境下,以“慕课”、“翻转课堂”等为典型代表的新教学方式正在冲击现有的课堂教学。这些新的教学方式多以个性化、自主性、互动式作为显著特征,它在知识传递上比传统的实体课堂更加符合学习科学的规律与要求,也促使越来越多的师生利用“慕课”等平台寻找和利用教育资源,而且传统教师主导课堂的形式将逐步退出教学历史的舞台。但是,就现阶段的教学环境和教学设施等方面来说,“慕课”等新型教学方式还不能完全取代课堂教学,但可以作为课堂教学的有益补充。因此,在大数据环境下,教师必须实现角色的转换,必须摒弃传统的“灌输式”传授知识方法,树立“学生为本”的课程教学观,根据数据库课程的教学目标、教学内容、学生特点、教学条件等,灵活选择教学方法,形成以学生独立自主学习为主,教师引导启发为辅的教学模式。同时,应充分利用诸如“互联网+”大学生创新创业大赛、大学生软件设计大赛、ACM程序设计大赛等竞赛来锻炼和培养学生的综合素质和创新能力,通过参加各类专业竞赛来扩大学生的专业视野,在锻炼学生实践能力的同时,也能够培养学生的团队合作精神。通过赛前的培训,赛后的总结等环节也能够起到对课堂教学的延伸扩展的作用,同样也能使学生在实践过程中更进一步的体会专业知识技能的学习和实践的乐趣。完善大数据背景下数据库课程体系的教学内容
在传统的数据库类课程中重点讲授关系数据模型、E-R模型和数据库逻辑设计、查询优化和数据库物理设计以及事务管理;详细介绍了关系代数、函数依赖和规范化的基本思想和理念;简单介绍SQL、视图、快照、存储过程和触发的基本思想。为适应大数据时代产生的海量数据的管理、存储、分析和处理。一方面,应在课程内容上增加NoSQL数据管理技术和编程模型。NoSQL数据管理技术是关系型数据管理技术的有益补充,它包括针对异构海量数据的存储、查询和分析技术,是以Web搜索、电子商务、个性化信息服务、社交网络等为典型代表的新型应用的支撑技术,也是大数据时代数据分析的主要支撑技术,是目前信息检索、数据挖掘、机器学习等领域的重要关键技术。另一方面,为应对大数据时代数据管理的新挑战,应增加HBase和Hive为代表的海量数据管理平台、面向OLTP 提供NoSQL 扩展性的NewSQL 代表技术C-Store关系数据库系统、以及针对经典数据挖掘算法的海量数据挖掘与分析算法等方面的内容。
3.研发实验平台、改革实验教学方法
企业在开发、测试、部署实际项目时需要有特定的软件环境。在实践教学过程中,不但要让学生熟悉这些环境,还要特别注意在实际工作中容易出现的各种问题和错误,找到相应的解决方法。为此,教师应该在校内搭建真实的实验环境,采用企业项目案例进行实践教学。真正的大数据课程需要有分布式的实验环境支撑,基于Hadoop 搭建大数据实验平台,给学生提供大数据分析、储存、管理的实验环境,让学生掌握Hadoop 中HBase、Hive、Zookeeper 等关键技术并熟练掌握数据交换、大数据查询、大数据项目实践等核心内容,在此基础上再结合真实的电商企业数据,培养学生分析问题和解决问题的能力。大数据环境下,传统的实验室无法满足教学需要,需要构建云环境下的虚拟实验室,结合云计算和虚拟技术,打破时空限制,为学生提供开放的实验平台,让教师和学生随时随地都能访问和使用实验资源。结语
本文所提出的是基于数据库课程在大数据时代背景下的教学模式、教学内容、实验平台等的改革研究,目的是为适应大数据带来的变革对数据库课程的要求,通过补充和完善传统数据库的教学内容、实验平台、改善教学模式和教学方法,期望学生通过学习能够满足企业的对大数据设计和管理的需求。在以后的研究中可以可以探索将数据库方面的专业认证环节融入到教学体系中,以增强学生学习的兴趣、目的性、实践性。
参考文献:
[1] 朱建平,李秋雅.大数据对大学教学的影响[J].中国大学教学 2014,(9):41-44
数据库教学现状与改革措施研究 篇3
关键词:数据库;教学;改革;措施
中图分类号:G832文献标识码:A文章编号:1007-9599 (2011) 07-0000-01
Database Teaching Status and Reform Measures
Zeng Zhanting
(Huizhou Industrial& Commercial Senior Vocational School,Huizhou516000,China)
Abstract:The teaching of information technology has begun to take shape,and accumulated his own teaching experience,but the overall teaching effectiveness and teaching quality also needs improvement.The main content is the teaching from the current situation of China's database and found that less than,the corresponding measures for improvement and perfection.
Keywords:Database;Teaching;Reform;Measures
一、数据库教学内容分析
在信息技术普及运用的今天,离不开一项重要的技术支撑。数据库技术是信息技术领域的一个具有重要地位的技术类别。从当前的信息技术来看,各项信息资源的收集、整理、应用都离不开数据库这个基础,如果没有这个基础,其他的各项工作很难以开展。数据库技术的重要性带来了数据库专业人才的市场需求增大,专业人才的培养成为信息技术教育需要解决的重要问题。
关于数据库教学,在我国的高等学校和各种专业信息技术教育学校中都有涉及,在我国已经有了一定的发展历程,取得了一定的成果。数据库课程,是一门理论知识丰富,对实际操作要求也较高的专业课程。不仅理论性强,而且与学科之间的交叉极为明显,在课程体系内部层次分明,会涉及到许多的前沿高端技术。基于这种学科特质,数据库教学的内容就必然是丰富的。
二、数据库教学现状分析
(一)教学侧重点有偏差
数据库课程一般包括数据库原理、设计和应用三个部分。原理是基础,设计和应用是提高,它们相辅相成、互相促进。目前一些高等院校教师主要偏向理论教学,很少向学生介绍具体的数据库使用技术,使学生不能将所学知识融会贯通。
(二)对实践教学环节重视不够
数据库课程是一门实践性很强的计算机课程,但目前实验课教学存在很多弊端,例如考核中实验课所占比例太少或者根本不占比例,无法提高学生做实验的积极性,从而导致对理论的认识不够深刻。
(三)学生英语基础薄弱
我们的学生英语基础普遍较差,但在数据库课程的学习中用到了大量的英语关键词,所以在这门课的教学过程中英语是阻碍学生学好这门课程的最大障碍之一。
三、数据库教学改革的具体措施分析
第一,授课方式改革。传统的讲授式的教学模式占据着大部分教学,教师花了大量的时间站在讲台上,居高临下把教学内容的点点滴滴、详详细细地介绍给学生,学生就被动地写、听、抄,没有积极思考、发问、质疑的余地,久而久之,培育出一批思维涣散、心甘情愿等老师来灌输的学生,课堂教学效果令人堪忧。如何改变这种传统的教学模式,在讲到重点、难点的时候,不直接给出答案让学生被动接受结果。而是抛出问题,让学生自己去思考找到答案。例如,在数据库的第一堂课上,为了让学生对于“数据库”这个概念有更深刻的认识,首先学生分析“数据库”与“文件”的区别,学生会给出“两者是不同的”的判断,继而引导学生判断数据库是否仅仅是“文件的集合”,最后给出数据库的概念:长期储存在计算机内的,有组织的、可共享的数据集合。在这一概念中重点分析“有组织的”和“可共享”这两个词的意思,进而引出后续的知识内容。可能在介绍一些概念时花费较多的时间,但是学生对于概念的理解就变得更为深刻了。概念的教学不应当是背诵出每个专业用词的准确描述语言,而是真正理解在每个概念中各个单词的用词所在。数据库涉及的内容很广泛,虽然在教学体系内部分为不同的教学系统,但是每一个系统内部的知识点分散、层次不清晰的状况非常普遍,在这样的情形下,老师的讲解就会遇到困难。无法很好的突出重点,造成了学生理解和掌握上的困难。
第二,加强数据库教学的实践教学。数据库教学既要重视理论知识的学习,而且要重视实践课程的教学。在当前的数据库教学中,实践课程一直处于被偏废的地位,所以加强数据库的实践教学具有重要的意义。数据库的实践教学,有一项重要的内容就是重视课内实验。在数据库的教学课程设置中,一般都安排的20个课时左右的上机课程。这些课时设置是不固定的,老师可以灵活的安排在不同的教学内容完成之后。当然,这并不意味着课内试验没有重点。在数据库的教学内容中,SQL教学是一个很明确的重点。因为SQL语言的掌握与学习必须在大量的上机练习中才能完成。除此以外,当课程进行到索引这一概念时,教师应该引导学生编程,实现大量数据的查询,通过查询时间与查询效果的比较,让学生理解进行索引检测的优势与作用。让学生通过这种手动操作的方式来掌握相关的知识,能够让他们更好的理解和消化所学的知识。
第三,将教学内容拓展到数据库相关领域。数据库课程,是一门独立的信息技术课程,但是这并不是说数据库教学不与其他的学科产生交叉,不被其他的课程所影响。数据库课程是一门与其他学科有着融合与交叉的课程,它的教学内容中包含着很多行业前沿的专业知识。这就决定了数据库课程的教学不能简单的局限在这一课程体系的内部。在数据库的教学中,教师应该起到积极引导的作用,因为对于学生来说这是一个全新的专业,还有着很多的不理解。在学习过程中,教师可以介绍一下行业内部的先进技术以及数据库技术的应用情况,介绍数据库工程师在实际工作中的工作内容和工作细节问题。除此以外,在课题的设置上,老师应该精心准备,能够将课题与时代性很好的结合起来,激发学生参与和学习的兴趣,提升学生参与课题、驾驭课题的能力。除此以外,在教学内容中,应该贯穿一些交叉学科的知识,丰富学生的视野,完善学生的知识体系和知识结构,使得数据库教学的效果更加深刻,更具有意义。
参考文献:
[1]庞英智,郭伟业.SQL Server数据库及应用[M].北京:高等教育出版社,2007
[2]刘方鑫.数据库原理与技术[M].北京:电子工业出版社,2002
[3]瞿中.数据库教学方法改革的探索与实践[J].黑龙江高教研究,2006,2:113-114
大型数据库设计方法的研究 篇4
1 逻辑数据库的设计
在数据库逻辑设计过程中, 为了保证数据库的一致性和完整性, 数据库要按照关系数据库的规范化要求设计。
以函数依赖为基础的关系模式的规范化等级主要有五种:1NF、2NF、3NF、BCNF和4NF, 满足这些范式条件的关系模式可以在不同程度上避免冗余、插入和更新异常问题。在基于表驱动的系统中, 基本表的设计规范是第三范式3NF。但是, 满足3NF的数据库设计, 往往不是最好的设计。没有冗余的数据库可以设计出来, 但是, 没有冗余的数据库未必是最好的数据库。有时为了提高运行效率, 就必须降低范式标准, 适当保留冗余数据。
合理使用冗余会为查询带来很大的好处, 如经常被查询的汇总数据, 可以在平时工作中就累加好, 不需要到查询时再使用如sum之类的函数。
比如:一个学生管理系统中有成绩表, 其字段有学号SNO, 课程号CNO, 成绩GRADE, 而进行平均成绩统计时, 是用户经常要在查询和报表中用到的。在表的记录量很大时, 有必要把平均分作为一个独立的字段加入到表中, 这里可以采用触发器以保持数据的一致性, 从而提高数据库的执行效率。
2 索引设计
索引即将表数据按索引要求而产生有序的数据副本。在关系数据库的表上建立合适的索引, 可以提高数据库数据查询的速度, 改善数据库的性能。除了聚集索引, 每一索引的使用都以磁盘容量作为代价, 当使用一个索引, 数据库引擎必须执行两个数据读取, 这两个数据读取是数据库记录所必需的, 第一个数据被读取到实际数据指针的索引, 第二个数据被读入到指针指定的位置。因此创建索引时必须要与实际应用系统的查询需求密切结合, 在提高查询速度和节省存储空间之间寻求最佳的平衡点:
2.1 在合适的列上建立索引
1) 在经常用作过滤器或者查询频率较高字段上建立索引;
2) 为包含了大量的空值列建立索引, 使包含空值的记录集中排在表的末端, 数据从无序变得有序, 可减少对这部分数据的遍历, 提高查询效率。
3) 有一列或多列经常被使用在where或join条件里, 则为该列或多列建立简单或复合索引以提高查询效率。
4) 在频繁进行排序 (group by) 或分组 (order by) 的列上建立索引。
2.2 不需要创建索引的情况
1) 如果表很小, 包含的数据量很少, 则无须建立索引。
2) 列不经常被用在查询条件里, 无须建立索引。
3) 不同值少的列, 比如在学生表的“性别”列上只有“男”与“女”2个不同值, 就无必要建立索引;
4) 由文本、图像等数据类型定义的列。
5) 表频繁被更新, 这样如果建立了索引, 开销会很大, 还会降低DML (INSERT、UPDATE、DELETE) 操作执行的效率, 所以此种情况无须建立索引。
2.3 聚集索引和非聚集索引
聚集索引是指行的物理顺序与行的索引顺序相同的索引。一个表只能有一个聚集索引。非聚集索引是指定表的逻辑顺序索引, 行的物理顺序与索引顺序不尽相同, 每个表可以有多个非聚集索引。缺省情况下建立的是非聚集索引, 但是在一些特定的情况下建立非聚集索引会极大的缩短查询的时间。建立索引时, 应考虑对两者的选择。
1) 对有大量重复值、且经常有范围查询 (between, >, <, >=, <=) 和order by、group by发生的列, 可考虑建立聚集索引。
2) 对于频繁修改的列、或者返回小数目的不同值的情况应避免建立聚集索引。
3) 当以某字段作为查询条件, 需要回传局部范围的大量数据时, 应在此字段上建立聚集索引, 而当查询所获得的数据量较少时, 有必要在此字段上建立非聚集索引。
比如:回传2010年1月1日到2011年1月1日这个时间段之间的数据, 可考虑在日期字段上建聚集索引, 那么数据本来就是按照日期的顺序排列的, 只要找到开始和结尾日期的数据就可以了, 可以极大的节省时间。而如果使用非聚集索引, 必须查到这个时间段中每个日期对应的位置, 然后在根据位置存取数据, 明显效率很低。
在实际应用中, 要综合各要素点具体分析, 以达到系统的性能综合最优。
3 查询设计
从大多数系统的应用实例来看, 查询操作在各种数据库操作中所占据的比重最大。许多程序员在开发数据库应用程序时, 只注重用户界面的华丽, 并不重视查询语句的效率问题, 导致所开发出来的应用系统效率低下, 资源浪费严重。因此, 如何设计高效合理的查询语句就显得非常重要。
3.1 正确地使用索引
索引作为数据库中的重要数据结构, 它的根本目的就是为了提高查询的效率。建立适合关系数据库系统的有用索引, 这样就可以避免表扫描, 并减少因为查询而造成的输入输出开销, 有效提高数据的查询速度, 优化数据库性能。
比如, 在学生表中, 如果创建学号为单列索引, 那么查询时WHERE子句中应使用学号这个字段, 使之成为有用索引。如果使用了其他字段, 那么学号这个索引就是无用索引:
使用复合索引时, 必须保证在条件子句中首先使用复合索引的第一列。比如:在成绩表中, 如果创建学号SNO和课程号CNO为复合索引, 那么在查询语句的WHERE子句中应这样使用:
否则, 下列复合索引的使用是没用的, 系统仍然采用顺序扫描方式:
3.2 模糊匹配的避免
LIKE关键字支持通配符匹配, 技术上称为正则表达式。但这种匹配特别耗费时间, 应尽量避免使用这种模糊匹配。
比如:SELECT SNO FROM SC WHERE CNO LIKE′4′
即使在CNO字段上建立了索引, 在这种情况下也还是采用顺序扫描的方式。
可改写为:SELECT SNO FROM SC WHERE CNO>′400′
这样, 在执行查询时就会利用索引来查询, 显然会大大提高速度。
3.3 子查询合并
子查询合并是将某些特定的子查询重写为等价的多个表的连接操作。子查询合并的作用在于能使查询语句的层次尽可能地减少, 从而可提高查询的效率。子查询合并的一般规则为:
1) 如果外层查询的结果没有重复, 即SELECT子句中包含主码, 则可以合并其子查询, 并且合并后的SELECT子句前应加上DISTINCT标志;
2) 如果外层查询的SELECT子句中有DISTINCT标志, 那么可以直接进行子查询合并;
3) 如果内部子查询结果没有重复元组, 则可以合并。
比如:查询选修201号课程的学生基本信息。
3.4 善于使用存储过程
存储过程是存储在数据库中的一段程序, 它可以接受参数、返回状态值和参数值, 并且还可以嵌套调用, 它是在建立时就已经编译和优化的程序。另外存储过程是一种模式化的程序设计, 通过将公共集合编写为合理的存储过程, 可避免冗余代码, 减少程序员的工作量。因此善于使用存储过程会提高大型数据库的执行效率。
4 表的优化设计
基于第三范式设计的库表虽然有其优越性, 然而在实际应用中有时不利于系统运行性能的优化, 比如:需要部分数据时而要扫描整表, 许多过程同时竞争同一数据, 反复用相同行计算相同的结果, 过程从多表获取数据时引发大量的连接操作, 这都消耗了磁盘I/O和CPU时间。针对这些情况, 可通过引入临时表来简化查询。
比如:查询每个系中年龄最大的学生的"学号"。
以上的查询对于外层的年龄关系s1中的每一个元组, 都要对内层的整个年龄关系s2进行检索, 因此查询效率不高。可以构建临时关系提高查询效率。
又如, 查询有最多男生的系的名称。使用单条查询语句获得查询结果较为困难, 则可建立临时表TEMPS (院系 (SDEPT) 、人数 (NUMBER) ) , 先将各院系男生人数的统计结果写入此表, 再在表TEMPS中查出人数最多的院系名称。通过分解操作过程, 使解决办法得以简化。
使用临时表时要注意对它的更新操作, 以保持与原始表之间数据的一致性。使用完毕后, 应对其删除, 释放其所占用的空间。
总之, 数据库的优化设计工作对提高系统执行效率起着重要的作用, 但它又是一项综合性的工作, 受到各种各样因素的制约, 有些要求往往是彼此矛盾的。因此, 设计结果常常是有得有失, 设计者必须根据实际情况, 将上述几个方面的优化策略有机地结合起来, 尽可能使系统效率达到最优。
参考文献
[1]萨师煊, 王珊.数据库系统概论[M].4版.北京:高等教育出版社, 2007.
[2]杨学全.SQL Server实例教程[M].3版.北京:电子工业出版社, 2010.
[3]黄明辉.大型数据库的性能优化方法[J].计算机时代, 2010 (6) :33-34.
[4]柳佳刚, 刘高嵩.数据库查询性能优化的探讨[J].福建电脑, 2005 (9) :58-59.
数据库教学方法研究 篇5
关键词:网络安全监察;数据库课程;教学改革
中图分类号:tp434文献标识码:a文章编号:1672-7800(2013)006-0168-03
基金项目:铁道警察学院教改项目(jy2012003)
作者简介:王战红(1979-),男,硕士,铁道警察学院公安技术系讲师,研究方向为网络信息技术。
0引言
随着信息技术的迅速发展和广泛应用,数据库系统的发展十分迅速,应用领域和需求日益增大。管理信息系统、办公自动化系统、决策支持系统等都需要大量地应用数据库技术。
数据库技术是公安院校信息网络安全监察(以下简称“网监”)专业开设的一门核心基础课程。它不仅是多门专业课(如数据恢复技术、计算机犯罪侦查、公安信息系统应用)的先修课程,而且其包含的内容频繁地应用在网络安全监察的实际工作中,如公安信息检索、电子数据取证、警务综合信息平台的使用与维护等。若要较好地完成上述工作,数据库技术为需掌握的必备知识。
本文针对网监专业数据库课程教学过程中存在的问题,结合网监实战部门对数据库技术的主要需求,对数据库课程的教学方法、教学内容、考核过程等方面进行了探讨,并给出了具体的改革措施,以期能为公安院校数据库课程的教学改革提供一些帮助。
1主要问题
为了适应数据库系统的不断发展要求,铁道警察学院网监专业的数据库课程由原来的access数据库过渡到功能更强的sql server数据库,主要介绍关系型数据库的基本概念和理论,重点培养学生的实际动手能力。但在近几年的教学过程中发现存在如下问题:
(1)教学方法单一,以“教”为主。数据库课程的内容主要以教师的课堂教学主,教师的“教”与学生的“学”缺乏互动。对于近似的基本概念,学生区分较难,如“数据”、“数据库”、“数据仓库”、“数据管理系统”、“数据库系统”等术语,需要“教”与“学”的多次互动才能掌握。
(2)课程各部分知识点难以有机结合。数据库技术包含数据管理、数据编程、安全管理、备份恢复等方面,这些技术在数据库管理系统中的联系非常密切。但就现有教材来讲,都存在章节内容联系松散,没有体现工学结合、任务驱动的思想,使教师在讲授过程有难度,学生学习有一定盲目性。
(3)实验教学缺乏实战性。对于数据库课程,实验教学应以培养学生的开发设计能力和增强实战能力为主,但目前仍是传统的实验方式,即验证性实验,设计型实验则基本没有,具备实战性的实验更是少之又少,导致未能通过实验课让学生对课程知识形成一个整体认识,缺乏系统性。
除了上述问题外,还存在学生对数据库中使用命令行式sql语句有胆怯思想、学会熟练操作数据库软件所耗时间过长等问题。
2网监实战部门对数据库技术的需求
只有深入了解网监实战部门的相关技术需求,才能有的放矢,培养出高素质的专业人才。网监专业的每一门课程在教学过程中都应以“增强学生的网监业务知识和案件侦破技能”为中心,即教学内容实战化,数据库课程亦是如此。
通过调研相关市局网监支队、铁路公安局(处)网监科等实战部门,在日常工作中,常常用到以下与数据库紧密联系的技术:
(1)数据模型及sql的数据定义技术。主要用于公安基础数据采集、构建公安信息专用数据库。
(2)表及其数据操作与查询技术。主要用于公安信息录入、检索、统计、数据比对、信息研判与信息挖掘、舆情分析监控及预警。
(3)数据库的添加、删除、修改、检索、连接技术。主要用于网站的设计与维护、数据导入和导出、公安业务信息系统的应用与维护。
(4)数据库系统的并发控制及安全管理技术。主要用于电子数据备份和恢复、公安信息系统安全。
总之,数据库技术已成为网络安全监察业务工作中必备的核心技术之一。
3教学改革具体内容
针对上述数据库课程教学中存在的问题及网监实战部门对数据库技术的具体需求,按照理论联系实际,以因材施教为指导思想,灵活运用多种教学方法及现代教育技术开展教学改革。
3.1教学方法多样化
充分利用课堂、实验室、网络、路局等多种教学场所,丰富教学方法,构建多种“教”与“学”的互动路径。多样化的教学方法如表1所示。
3.2教学内容实战化
教学贴近实战是公安教育的基本方向。以实战为导向的教学模式,要求在教学中紧紧围绕“贴近实战、指导实战”这一出发点,来确立网监专业课程的教学内容。
数据库技术是网监专业人员进行网络侦查和网上作战的基础课程。网络侦查和网上作战是一种以计算机网络为载体,以各类信息资源为实体,依托一系列信息资源整合分析平台,通过各个数据库中数据的交叉碰撞比对,全部或部分地揭示蕴藏在各类信息资源内部的犯罪嫌疑人的活动规律特点和作案痕迹,从而发现破案线索的侦查方式。为此,数据库技术除了讲述原理性知识外,还应从以下几个方面来增加实战性的内容。
第一,扩充讲述网络侦查和网上作战涵盖的信息资源内容。目前,各公安类大专院校数据库课程的教学内容涉及公安信息资源系统实战内容不多。实际上,数据与信息资源联系紧密,从数字化信息系统应用的角度看,信息是数据库中能够为我们所利用的数据及关系,能够反映案件事实和行为人的行为轨迹。故应尽早给学生构建“数据”与“信息”的立体感,确立公安行业中信息即线索的概念。
信息资源内容包括公安部各个信息资源数据库系统、各地公安机关信息数据库系统、互联网搜索引擎、社会信息资源等,如图1所示。第二,增加与公安特色数据库设计联系密切的内容。数据库设计是数据库技术的重要内容之一,在实际工作中,进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。为了降低需求分析的成本,达到学生在网监工作中既是具体数据库设计者,又是数据库的使用者,在网监专业数据库课程中应增加与公安特色数据库设计联系密切的内容,目的是使学生在技术学习阶段就能熟悉部分公安特色数据库中表、记录、数据项等数据定义和数据处理。例如,可增加如下常用的公安特色数据库的设计内容:
①声纹、指纹、人像识别数据库;②刑事案件管理数据库;③监狱实时人员定位数据库;④犯罪心理测试数据库。
第三,实验、实训实战化。实验实战化主要是增加数据综合查询、真实案例推演、公安特色数据库构建等实验题目的设计和训练;实训实战化主要是增加到基层公安网监部门进行实地参观、模拟办案的环节,还可通过顶岗实习的方式,使学生对网监工作有直观的认识。
第四,教材选用实战化。教材选用实战化是教学内容实战化的具体落实,包括所讲授的数据库技术、软件的及时更新,还有网监工作中所涉及的数据库技术、新的技战法、典型案例等。它们都要充实到所用教材中,这样才能保证教材内容的针对性和实用性。
3.3成绩考核多元化
学生取得的课程成绩可以衡量教学改革的效果,但不能把问题解答结果作为唯一或最主要的成绩考核方式。成绩的考核应贯穿于学习的全过程,体现多元化的模式。即可采用“档案法”综合记录学生在课堂、实验室、实训场地、网络等多个学习场所的考核成绩,包括考勤成绩、作业成绩、实验成绩、实训成绩、试卷成绩等。
4结论
数据库教学方法研究 篇6
摘要:计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为的一种思维方式,涵盖了计算机科学的一系列思维活动。任务驱动是提供体验实践的情境和感悟问题的情境,围绕任务展开学习的教学模式。在数据库实践课程的教学过程中采用基于计算思维和任务驱动的混合方法的教学模式。通过具体实践,讨论了混合教学模式开展教学活动的实施过程,并对最终的教学效果进行总结验证。
关键词:数据库实践;计算思维;任务驱动;混合式教学模式
中图分类号:G647 文献标识码:A 文章编号:1007-0079(2014)32-0133-02
计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为的一种思维方式,涵盖了计算机科学的一系列思维活动。任务驱动时提供体验实践的情境和感悟问题的情境,围绕任务展开学习的教学模式。在数据库实践课程的教学过程中,采用基于计算思维和任务驱动的混合学习方法的教学模式。通过具体实践,讨论了混合教学模式开展教学活动的实施过程,并对最终的教学效果进行总结验证。
在实际教学过程中,开发实践类课程强烈地依赖底层语言基础,又有不为大家熟悉的思维方式,常常让老师觉得难教,学生觉得难学。在实践类课程的学习过程中,学生往往注重语言本身,并不是利用编程语言来解决实际问题,形成了一个教学误区。最终并没有提升学生的创造性思维能力和解决实际问题的动手能力。数据库实践课程作为数据库原理课程的后继开发实践课程,旨在提升学生对数据库理论知识的理解并提升解决实际问题的思维、能力以及创造性。
当今的社会发展速度惊人,尤其是物联网、云计算和大数据的出现,计算机行业的工作方法和工作内容发生了重大的变革。对于软件专业的学生来说,在学习过程中单纯掌握几门编程技术,已远远不能适应当今社会的需求。因此,教育教学模式亟待改变和创新,计算思维是运用计算机科学的基础概念去求解问题、设计系统以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。任务驱动教学,则是培养学生动手实践能力和创新能力的教学方式。
一、混合教学模式概述
1.计算思维
美国卡内基.梅隆大学周以真(Jeannette M.Wing)教授认为,计算思维(Computational Thinking)是人类运用计算机科学的基础概念求解问题、设计系统和理解行为思维活动,隐含了计算机科学所有范畴。[1]
计算思维的概念主要包括了四个范畴:递归思维;抽象和分解任务或设计;按照预防、保护及统御容错,纠错的方式;采用启发式推理来寻求解答。
2.任务驱动
任务驱动教学模式是一种有效的、能够极大拓展学生知识面、能够将所学知识和实践结合起来,并且有助于学科教学与信息技术整合的教学模式。[2]1996年Jane Willis,在《A Framework for Task-Based Learning》中指出基于任务驱动的教学模式必须要包括三个阶段的任务:介绍任务和主题的前任务阶段;执行任务,准备报告,进行报告的实施任务阶段;分析和再练习的后任务阶段。
3.混合教学模式
本文中所指的混合教学模式是基于计算思维和任务驱动的教学模式。[3]计算思维是对学生思维的方式和创新能力的培养。在课程设计过程中旨在通过任务驱动的方式来进一步培养计算思维意识、培养学生的计算思维能力。任务驱动既能够有效地培养学生实际动手的能力,又能培养学生解决实际问题的能力。故结合两种教学方法,通过在实际的教学过程中实施和实践,使计算思维成为学生的基本技能,同时提升学生的创新能力。
二、混合教学模式在数据库实践课程中的实践
1.混合教学模式下的数据库实践课程设计
基于计算思维的课程设计应该培养学生具备认知能力、学习能力和决策能力。在培养计算思维的同时兼顾能力的培养。任务教学能够提升学生的学习热情,并提高学生解决实际问题的动手能力。因此课程的设计采用计算思维中的抽象和任务分解的方式,将大项目抽象划分为若干小项目,基于小项目的任务驱动方式设计开发,再将每个小项目的成果合并形成最终的应用系统。基于计算思维的数据库系统课程教学采用课堂讲授、实践和讨论的形式进行,同时课下辅以课程论坛的方式进行总结。以足球联赛管理系统后台为例,计算思维在数据库实践课程中的设计见图1:
基于项目的任务驱动设计,在数据库实践课程上选择使用了“足球联赛管理系统”,并将该系统划分为后台和前台两个子系统。划分4-5個同学为一组,来共同协作完成一个完整的项目。课上的时间来完成后台管理系统,课后的时间由小组同学合作共同完成前台系统。每一次课程都包括任务驱动教学方法的完整3部分内容即任务介绍、任务执行和任务总结。
2.混合教学模式下的数据库实践课程的实践
我校的数据库实践课程共64课时,内容划分为3个部分,即数据库设计、数据库开发、数据库开发优化三部分内容。数据库设计和构建部分,任务为足球联赛管理系统的数据库设计和构建;数据库开发部分,任务为足球联赛管理系统开发实现;数据库开发优化部分,任务为从数据库设计和系统设计实现两个方面优化现有的系统。课程内容通过16个专题(每个专题4学时)完成。具体内容如表1所示:
表1 数据库实践课程安排
1.数据库设计和构建 专题一:系统开发流程及需求分析;
专题二:系统数据库设计及ER-模型;
专题三:系统数据库设计优化即范式化及数据库创建;
专题四:系统数据库设计优化即数据表约束及视图;
专题五:数据库创建评审。
2.数据库开发 专题六:系统实现设计SQL语句编写;
专题七:使用基础JDBC开发系统DAO层;
专题八:使用高级JDBC优化DAO层;
专题九:用户登录模块完整开发;
专题十:查询功能模块完整开发;
专题十一:插入功能模块完整开发;
专题十二:修改、删除功能模块完整开发;
专题十三:系统集成小组模块及评审。
3.数据库优化 专题十四:优化系统提升性能即存储过程的使用;
专题十五:优化系统以减少用户操作即触发器和游标的使用。
总结和答辩 专题十六:进行项目答辩与总结。
基于混合教学模式的数据库实践课程,在第一次专题中明确课程的总体目标,即每个小组需要在課程内完成足球联赛管理系统的数据库设计、开发和优化。具体每一个专题中,划分为4个阶段。第一阶段:任务介绍,明确本次专题需要解决的问题;第二阶段:小组同学基于该问题讨论如何分解任务,进行任务分解;并进行实际设计和开发实践活动。第三阶段:老师总结和讲解在第二阶段比较共性的问题,针对每一小组的问题分别指导;第四阶段:学生根据老师的总结和讲解改进本次实践活动。课程结束前10分钟大家进行最终的任务总结。完成课下任务时重复这一过程,这样一来可以有意识地通过计算思维更好的去解决预留任务。
计算思维的思想和任务驱动的教学模式,也通过具体的实践教学活动展开:
计算思维中的任务分解是解决复杂问题十分有效的一种思维方式。例如,在数据库设计及ER-模型这一专题中难度较大,学生常会无从下手。这时老师可以借助需求分析中所涉及的多种角色,按角色进行任务分解,可以启发学生将系统参与者划分为浏览人员、工作人员和管理员三种角色,从每一个角色的角度出发,来分解设计任务。然后再合并设计,从而设计出完整的系统数据库。
计算思维中的启发式推理,可以通过数据库设计过程中球员信息这一实例很好的给出。在没有启发式教学的前提下,往往同学会设计出一个代表球员信息的表格,其中球员所属球队则为表格中的一列,这种设计是一种常见的错误,因为学生没有考虑到球队进球的信息问题。常见错误的数据库逻辑视图见图2:
老师可以通过一些日常生活的举例,常常举的例子有商品的价格问题,按照学生的一贯思路,会将商品信息设计为一个表,其中商品价格是表的一列,但实际销售中促销打折是比较常见的情况,而日后又恢复原价。如此一来以前曾经销售过的价格就找到不到了,如果发生退款、退货、或者销售额统计就没有办法实现了。通过这种具体实例能够有效地启发学生,构建出较为完善合理的数据库。正确的数据库逻辑视图,见图3:
任务驱动在每次专题中,所有的教学过程都围绕具体而明确的任务展开,这样学生就知道每次专题的具体任务。例如,优化系统以减少用户操作。在触发器和游标的使用这个专题中,学生完成的系统总是需要用户录入比赛的每一个进球的详细信息,还需要录入每个球队在每场比赛的进球数。这样一来用户操作复杂,也容易造成数据的不一致性。我们的任务是要将这样的用户操作简化,同时保证数据的一致性。所以在系统中明确提出,本次专题要求用户仅录入进球明细,进球总数不需要用户操作,由数据库利用触发器替代用户的操作。明确任务后,学生就会有方向去执行任务。
3.混合教学模式下的数据库实践课程的教学效果分析
通过课堂教学实践证明,混合教学模式下的数据库实践课程有效的将任务驱动和计算思维的培养相结合。其优点是通过任务驱动将课程任务从理论概念上升为实际问题的解决,给学生更加具体的目标,激发学生的学习兴趣。通过计算思维使学生在解决问题时,能够在有意识的科学思维方式下完成,更有利于提升学生解决问题的能力和创新能力。所以采用基于混合式教学模式的教学方法,可以使学生有效地将专业知识、计算思维结合起来,切实有效地提高了学生动手解决实际问题的能力以及创新能力。
三、结束语
教学过程的实践结果表明,通过混合式教学模式在数据库实践教学中的应用,能够促使学生以科学的思想去分析问题,通过切实准确的任务解决实际问题,进一步提升学生的创造性。计算思维和任务驱动的混合式教学模式对新一代的大学生培养提出了新的要求,但仅仅通过一门课程的教学活动,无法完全构建计算思惟,我们需要在整个的专业课程教学体系中贯穿这一思想,从而真正地培养起学生的计算思维和解决实际问题的能力和创造性。
参考文献:
[1]Jeannette M. Wing.Computational Thinking[J].Communications of ACM,2006,(49):33-35.
[2]李代勤.任务驱动教学模式的探讨[D].长沙:湖南农业大学,2009.
[3]刘君亮.基于计算思维的混合式学习模型研究[D].北京:北京交通大学,2014.
[4]魏来.基于任务驱动的学习活动设计与教学实践[D].武汉:华中师范大学,2012.
[5]徐迎晓,何文琦,王治珍,等.基于严肃优秀的计算思维培养[J].计算机教育,2013,(18):6-8.
数据库查询优化方法研究 篇7
一、基于索引的优化
数据库的优化方法多种多样, 不同的方法对提高数据库查询效率也不相同。
索引作为数据库中的重要数据结构, 它的根本目的就是为了提高查询的效率。而优化查询的重要方法就是建立索引, 建立适合关系数据库系统的索引, 这样就可以避免表扫描, 并减少了因为查询而造成的输入输出开销, 有效提高数据的查询速度, 优化了数据库性能。
1.判断并建立必要的索引 对所要创建的索引进行正确的判断, 使所创建的索引对数据库的工作效率提高有所帮助。为了实现这一点, 我们应做到以下要求:在熟记数据库程序中的相关SQL语句的前提下, 统计出常用且对性能有影响的语句;判断数据库系统中哪些表的哪些字段要建立索引。 2.对索引使用的一些规则 索引的使用在一些大型数据库系统中会经常使用到, 这样可以有效的提高数据库性能, 使数据库的访问速度得到提高。但索引的使用要恰倒好处, 所以我们在使用索引时应遵守使用原则:建立索引可以提高数据库的查询速度, 但索引过多, 不但不能实现优化查询, 反而会影响到数据库的整体性能。索引作为数据库中实际存在的对象, 每个索引都要占用一定的物理空间。所以对于索引的建立要考虑到物理空间容量, 以及所建立索引的必要性和实用性。 3.合理的索引对SQL语句的意义 索引建立之后, 还要确保其得到了真正的使用, 发挥了其应有的作用。首先, 可以通过SQL语句查询来确定所建立的索引是否得到了使用, 找出没有使用到的索引。其次, 索引得到使用以后, 是否得到了预期的效果, 对数据库的性能是否实现了真正意义上的提高, 只有合理的索引才能真正提高数据库的性能。
二、优化SQL语句
在使用索引时可以有效的提高查询速度, 但如果SQL语句使用不恰当的话, 所建立的索引就不能发挥其作用。所以我们应该做到不但会写SQL, 还要写出性能优良的SQL语句。下面, 就如何优化引用例子进行说明。 首先, 在进行查询时, 返回的值应该是查询所需要的。在查询中应该尽量减少对数据库中的表的访问行数, 使查询的结果范围最小, 这就意味着在查询时, 不能过多的使用通配符, 如:select*from table1语句, 而应该做到最小化查询范围, 要查询几行几列就选择几行几列, 如:select col1 from table1;多数情况下, 用户并不需要查询到的所有数据, 而只是部分或靠前的数据时, 我们也可以通过SQL语句来进行限制查询的结果, 如:select top 50 col1 from table1。 其次, 对于一些特殊的SQL语句, 在使用时应正确选择。我们用一组例子来说明, 如:EXISTS, NOT EXISTS。
语句一:select sum (t1.c1) from t1 where ( (select count (*) from t2 where t2.c2=t1.c2) >0)
语句二:select sum (t1.c1) from t1 where exists (select*from t2 where t2.c2=t1.c1)
两个语句所得到的结果相同, 但, 语句二的效率要远高于语句一, 因为语句一在查询中产生了大量的索引扫描。 在对数据库查询时, 所使用的语句多种多样, 但选择恰当的语句能够有效的提高查询效率。
最后, WHERE子句在使用时应该注意的问题。
在WHERE子句中可以使用exist 和not exist代替in和not in。应该尽量避免使用in, not in, or 或者having。可以使用表链接代替 exist。Having可以用where代替, 如果无法代替可以分两步处理。
三、其他优化方法
数据库的查询优化方法不仅仅是索引和SQL语句的优化, 其他方法的合理使用同样也能很好的对数据库查询功能起到优化作用。如以下几种方法。
1.避免或简化排序 应当简化或避免对大型表进行重复的排序。当能够利用索引自动以适当的次序产生输出时, 优化器就避免了排序的步骤。 2.避免相关子查询 如果在主查询和WHERE子句中的查询中同时出现了一个列的标签, 这样就会使主查询的列值改变后, 子查询也必须重新进行一次查询。因为查询的嵌套层次越多, 查询的效率就会降低, 所以我们应当避免子查询。否则, 就要在查询的过程中过滤掉尽可能多的。 3.创建使用临时表 在表的一个子集进行排序并创建临时表, 也能实现加速查询。在一些情况下这样可以避免多重排序操作。但所创建的临时表的行要比主表的行少, 其物理顺序就是所要求的顺序, 这样就减少了输入和输出, 降低工作量, 提高了效率, 而且临时表的创建并不会反映主表的修改。 4.用排序来取代非顺序存取 磁盘存取臂的来回移动使得非顺序磁盘存取变成了最慢的操作。但是在SQL语句中这个现象被隐藏了, 这样就使得查询中进行了大量的非顺序页查询, 降低了查询速度, 对于这个现象还没有很好的解决方法, 只能依赖于数据库的排序能力来替代非顺序的存取。
四、结论
数据库课程设计教学模式研究 篇8
数据库技术已经成为先进信息技术的重要组成部分, 是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术是将数据库与软件开发相结合, 数据库设计和基于数据库的应用程序开发。为此, 课程要求学生选用主流DBMS, 自选某种高级程序设计语言, 实现一个完整的以数据库为核心的B/S或C/S架构的应用系统。掌握设计实现一个完整的产品化导向的数据库应用系统的流程和方法, 包括需求分析、数据库设计、应用程序设计。本文分析了湖北经济学院开设数据库课程设计以来, 实践教学环节中存在的问题, 结合项目模拟实训教学方法的基本原理, 提出了基于团队项目模拟实训的数据库课程设计教学方法的具体方案及实施效果。
1 数据库课程设计教学现状
(1) 题目过少不够开放。湖北经济学院是一所财经类教学型学校, 开设的主要专业为经济管理类。但目前的题目多数都是老师提供给学生的, 题材类似, 不可避免地会出现学生相互抄袭的现象。另外, 题目呆板, 没有和本校的专业特色相结合, 选择余地太少。长此以往, 会使学生养成不劳而获的坏习惯, 不利于学生毕业之后适应竞争激烈的社会。
(2) 学生轻分析设计, 重编程实现。学生把编程工作放在数据库设计中的首要位置, 轻数据库及其对象的设计, 重开发工具的使用。很多学生只重视系统功能模块的设计与实现, 缺乏全局观念。
(3) 学生缺乏整体意识, 团队协作能力不强。在数据库系统开发的过程中, 学生对系统没有整体规划, 经常把时间都花在需求分析和系统实现上, 造成在学生项目后期没有时间做系统测试, 这样开发出来的系统必然出现很多问题。
软件开发是一个系统工程, 特别强调团队协作能力。如果一个课程设计题目只让学生一个人完成, 缺少与他人相互的交流, 不利于交流与沟通能力的培养和项目的正常开展。原有教学模式下, 学生做课程设计往往单打独斗, 没有形成一个团队。
(4) 课程考核方式不够科学。老师通常采用平时成绩和实验报告相加权作为总成绩。在这种考核方式下学生是被动地完成任务, 不知道所做项目的评定标准, 因而积极性不高, 也不能通过项目设计有效地提升自己的能力。
2 数据库课程设计基础准备及教学目标制定
2.1 基础准备
综合性的实验课程往往需要很多课程作支撑。在该课程开设之前, 前期学生应该已经学习了C、C++等一些经典的程序设计课程, 学习了数据库原理及软件工程课程, 对于数据库原理课程中的相关概念例如数据库文件的创建、表的建立以操作、视图与SQL查询、存储过程与触发器等进行了相关实验, 对于关系型数据库基本概念和特性有一个比较完整的认识。由于课程设计中需要将数据库原理与工程项目相结合设计出具体的应用程序和界面, 所以学生还需掌握至少一门前台开发工具, 如VB.NET、ASP.NET或PHP等, 让不同层次的学生选择不同的培养方案, 有针对性地进行学习。
2.2 教学目标
结合教材上关于数据库设计的思想和方法, 对一些简单的信息管理问题进行必要的分析和设计。在掌握了数据库系统的基本原理和基本方法的基础上, 熟悉数据库管理系统的工具及语言。能查阅资料解决数据库技术方面的问题, 具备在微软开发平台下进行数据库设计和管理操作能力, 培养数据库应用系统开发的基本能力, 项目合作、团队精神及小组交流的能力, 培养学生运用数据库管理系统解决实际问题的能力。
3 数据库课程设计教学构思
课程组根据学生的实际情况, 制定了相应的教学计划。本课程安排在一个学期内, 32学时, 每周具体安排如表1所示。
3.1 人员安排及开题
把整个班级按照开发小组的形式进行分组, 每组4~5人, 选一名组长, 每个同学承担不同的角色, 共同完成任务。在整个过程中, 为了达到锻炼的目的, 每个同学的角色可以互换。
在选题方面, 应充分考虑到学生的专业特色, 体现经管类专业的特点, 选择具有专业特色的案例, 以激发学生的学习兴趣。比如, 针对“旅游管理”专业和“国际金融”专业, 可以根据专业要求来分别制定教学案例, 使学生在数据库课程设计中加深对本专业课程的理解, 从而达到数据库课程设计和专业特色融合的目的。在制定选题的过程中, 教师应进行充分的调研, 与该专业的教师进行讨论, 帮助学生选择他们熟悉的题目, 如旅游酒店管理系统、学生成绩管理系统、人力资源管理系统等, 或者选择学生生活中经常接触、能很快上手的内容。同时, 应注意控制题目的规模和难度, 使学生经过努力后能在规定的时间内完成。这个阶段可以充分调动学生的积极性, 鼓励学生自己选题组建项目小组。这种方式经检验取得了较好的效果。
3.2 需求分析
在此阶段, 要尽可能收集课题的全面需求, 利用不同小组互相模拟实际用户的形式, 开小组讨论会来确定需求, 增强学生的沟通能力和开发兴趣, 并引导学生自己画出数据流图。
例如, 某家工厂的采购部每天需要一张订货报表, 表中列出所有需要再次订货的零件。对于每个需要再次订货的零件列出下述数据:零件编号、零件名称、订货数量, 目前价格、主要供应者。零件入库应有入库单, 零件出库应有出库单, 通过放在仓库中的CRT终端把入库单或出库单报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。
当系统比较复杂时, 应当采用分层描述的方法。一般第一层描述系统的全貌, 第二层分别描述各子系统的结构。如还未表达清楚, 可以继续细化。
3.3 系统设计与实施
确定用户需求后, 进入系统设计阶段。物理设计阶段应该充分利用表、视图、存储过程、触发器等各个数据库对象的特点, 建立一个完整的数据库。要引导学生利用课程设计来熟悉数据库开发的一些常用技术和工具。例如, 在数据库课程设计中可以教学生怎样使用Power Designer来做数据库设计。在软件公司实际的数据库系统开发中, 有很多工具可以直接完成从数据库概念模型到物理模型的设计和转化。
系统实施阶段, 各小组可以选择自己熟悉的程序设计语言动手编写代码, 完成系统各个模块的功能。开发语言可选择机房环境, 有Java、VB、VC、PB等;数据库可使用提供的SQL Serever2000、DB2、MySQL5等主流DBMS;软件架构两层、三层都可以。教师对各小组学生在设计中遇到的具体问题, 有针对性地给与启发式的引导。
3.4 系统测试
系统测试阶段可以选取小组之间交换测试, 主要从功能测试、数据库测试两个方面找出系统的缺陷, 对软件质量进行评价打分。列出测试计划, 往各数据库表中插入正确的测试数据, 测试数据插入情况和各种约束作用, 并记录结果;往各数据库表中插入错误的测试数据, 记录出错结果;在各数据表中修改测试数据, 记录测试结果;各数据表中删除测试数据, 记录测试结果;创建各权限等级的用户, 授予相应的权限, 然后按权限等级执行相应操作, 查看操作结果是否正确, 最后再编写实验报告。
数据库功能测试主要是对界面进行测试, 按用户类型进行分部测试, 查看每一种类型的用户功能是否有欠缺;用户操作是否符合实际, 是否具有意义;尤其是在功能实现上, 不同情况, 会有怎样不同的处理;查看在出错的情况下, 系统如何处理。
3.5 完成设计报告
设计报告主要内容要求有系统需求分析 (功能模块图) 、基本ER图 (要求标明主码、外码、联系类型) 、用户子模式设计、按模块分析所编写的应用程序等。撰写设计报告前小组中各成员必须对自己的工作进行归纳、分析和总结。小结一般包括工作内容、工作量大小、自己完成情况、遇到的问题以及解决方法、收获与体会、今后努力与改进方向等。教师给出设计报告书写规范, 学生根据系统分析设计结果完成该部分内容。报告编写是考查一个学生总结工作、撰写科技论文的能力。该环节考查的重点:报告是否内容完整、充实, 条理是否清楚, 格式是否符合科技文章规范。
3.6 检查与考核
考核是检验教学成果的有效方式和重要手段, 对学生学习和教师教学具有重要导向作用, 不同的考核方式能激发学生的学习动机。除了加强平时考勤外, 教师还需在每个阶段对各个项目小组进行跟踪检查, 对各个阶段的完成情况进行记录。从数据库原理、数据库应用和数据库设计三方面对学生进行综合评测, 达到对数据库系统主要内容和框架的评测。具体考核指标权重为:平时表现 (25%) +任务完成情况 (30%) +答辩 (20%) +设计论文 (25%) 。同时还要鼓励学生在课程设计后, 尽量撰写相应科研论文, 积极申报校级学生科研项目。对于能力非常突出的学生, 可以建立课外研究小组, 让他们参与到教师在研的省部级科研项目中, 进一步提升他们的专业技能和综合素质。
4 结语
数据库技术是一门理论和实践并重的学科。课程设计是否成功的标准在于学生是否通过项目开发, 将自己所学到的数据库知识运用于实际需求中, 是否提高了学生的动手能力。通过两年的教学实践证明, 以这种方式开展课程设计更贴近企业实际的项目开发方式, 能倡导学生主动参与的探究式学习和研究, 改变学生被动接受、大量反复操练的学习和实验方式, 真正培养学生严谨周密的思维和临时处理问题的能力, 满足企事业单位信息化建设的用人需求, 有效地解决了理论教学与实践教学脱节和经管专业学生数据库工程实践能力薄弱的问题。另外, 做好数据库课程设计作业有利于学生毕业设计报告和毕业论文撰写。今后学生面临的毕业设计其实就是一个完整的系统设计, 是课程设计的扩大化、完整化, 为设计报告的撰写、文献资料的查阅也为今后撰写毕业论文打下坚实的基础。
摘要:分析了数据库课程设计教学中的问题, 探讨了在实践中分小组引入具体项目的教学方法和考核办法, 把程序设计、数据库原理、软件工程等方面的知识运用到软件开发过程中, 从而培养学生分析问题能力、动手实践能力及团队协作能力。
关键词:数据库课程设计,项目驱动,教学方法,考核方法,能力培养
参考文献
[1]赵慧敏, 杨鑫华, 牛一捷.数据库课程设计实践教学改革探索[J].当代教育论坛, 2011 (8) .
[2]张志锋, 王文冰.以就业为导向的学生综合能力培养教改研究[J].计算机教育, 2010 (11) .
[3]林巧, 丁革建.数据库课程设计的项目化实验教学方法[J].实验室研究与探索, 2009 (5) .
[4]李晓娜, 朱耀庭.从数据库课程设计看如何培养学生的软件开发能力[J].教育与教学研究, 2008 (16) .
数据库原理课程教学改革研究 篇9
1 课程特点
数据库原理是集理论性、实用性、操作性、创新性于一体的综合课程,这门课程不仅要求学生掌握数据库的基本概念、原理,还特别强调培养学生应用数据库技术动手解决实际问题的能力。数据库原理课程的特点有:
(1)专业性。数据库原理课程内容比较广泛,主要包括数据库基本概念、关系数据库、关系数据库标准语言SQL、关系数据理论、数据库设计、数据库恢复技术、并发控制、数据库安全性、数据库完整性等方面内容[2],知识面广、内容丰富,学生学完本课程后,对数据库领域的各种知识会有全方位的了解。
(2)实践性。需要学生在学习理论的同时多进行上机实践才能更好地理解课程内容,而且需要后续有数据库课程设计,才能巩固所学知识。
(3)知识更新。由于数据库技术飞速发展,教师必须紧跟时代,把握高新技术的时代脉搏,不断学习数据库相关知识,熟悉新的数据库开发工具,把最新的信息及时传达给学生。
2 教学存在问题
从高校计算机专业数据库原理课程的教学现状分析,存在的主要问题有以下几个方面:
(1)学生的学习积极性不高。本门课程理论知识比较多,一般都是以教师讲授为主,没有充分发挥学生学习的主动性,启发式教学没有得到充分运用,在听课的过程中学生可能会认为内容枯燥。教师讲课的信息量较大,学生课后必须经常复习和上机实践才能掌握课程内容,学好本门课程对学生来说有一定的难度,有些同学的学习积极性不高。
(2)教学方法单一。现在,多媒体教学技术被大多数高等院校普遍采用,优秀的多媒体课件能够使教学内容更加形象、生动。使用多媒体教学技术减轻了教师板书的负担,增加了传授的信息量。但是,教师在授课时过分依靠课件也带来了教学质量上的一些问题,如当学生长时间注视投影时,容易产生视觉疲劳,难以吸引学生注意力。由于使用课件进行教学时,加快了演示的节奏,减少了教师与学生的良好交互,学生的思维难以与之同步,而使教学质量下降[3]。上课形式单一,没有新鲜感,内容陈旧,使学生对上课失去了兴趣。
(3)和实际应用脱节。有些高校教学重点偏向理论教学,具体的数据库实践内容安排的较少或者不合理,而且有些教材很少涉及具体的数据库管理系统的应用,学生在学习过程中只理解了表面概念,很难深入理解数据库中的一些重要技术,更谈不上如何运用所学的知识解决实际应用中的问题,造成学生缺乏实际的动手能力,缺乏创新能力,不能适应企业对数据库应用人才的需要。
3 教学改革实施方案
为了使学生能够达到既定的培养目标,使学生变被动学习为主动学习,更好地理解数据库概念,掌握数据库设计方法,需要从教学方法上进行改革,更好地对学生进行引导,这些方法包括激发学生学习兴趣、转变教学方法、改变教学手段和课外延伸学习等等。
3.1 激发学生学习兴趣
兴趣是最好的老师,只有对数据库技术真正产生兴趣才能学好这门课程,兴趣越高,学习的劲头越足。在讲课过程中,可以采取案例教学法来激发学生的学习兴趣。在学生掌握了有关基本知识和分析技术的基础上,根据教学目的和教学内容的要求,针对一个实际的案例,从问题的提出、分析、方案的设计与实施,到最终问题的解决,使学生全面了解解决问题的整个过程[4]。如学习数据库设计时,选择餐厅点餐管理系统为例开展案例教学。首先,教师与学生一起探讨餐厅点餐的主要业务流程,从而确定系统要完成的功能。在这个过程中,将需求分析阶段的需求分析方法等知识点融入其中。接着,引导学生分析系统中有哪些实体,实体间的联系,以此为切入点画出系统的E-R图,进行概念结构设计。然后,让学生们初步设计数据库结构,引入E-R图向关系模型转换的知识点。同时,引导学生发现所设计的表结构是否合理,是否会引起数据冗余、更新异常等问题。引导学生使用前面章节的规范化理论对模式进行规范化处理。在数据库的物理设计阶段,指导学生结合教材中索引、聚簇等知识点对数据库中的每个关系进行分析。通过把教学内容巧妙地隐含在每个任务之中,引导学生主动思考,自己解决问题。在完成任务的同时,培养了学生的创新意识,激发了学生的学习兴趣。
3.2 转变教学方法
可以采用参与式教学方法,改变传统课堂教学中以教师为主、学生为辅的“你教我学”的被动方式,激发学生的主动参与意识。主题教学和问题教学就是在教学实践中所采用的较为有效的授课模式,由教师根据教学目标与教学内容设置若干个教学主题或问题,同时也有选择地接受学生在课堂中提出的问题将其作为新的讨论主题,围绕对主题或问题的讲解和讨论让学生充分参与到教学过程中来。另外,鼓励学生就某些主题进行课堂讲解,在这种教学模式中,教师主要组织现场的点评和讨论。在这样的教学氛围中,教师与其说是知识的传授者,不如说是学生学习的指导者和组织者,积极有效的参与明显提高了学生的学习主动性和学习能力。
3.3 改变教学手段
使用多媒体教学也可采用各种灵活的方式,如在多媒体教学课件中利用声音、图像、动画模拟课程中抽象的、难以理解的内容。例如:在讲模式、并发控制中的活锁和死锁时,利用生动的动画场景,学生很快就能理解[4]。上课时可利用多媒体教室现场演示如何用数据库系统开发工具开发一个完整的系统,使学生更生动直观地理解数据库设计的过程,对课本上的理论知识会有更深刻的认识。在条件允许的情况下,还可以在机房里上数据库原理课程,教师可以边对照实例边讲解,学生可以现场操作,有问题及时请教师解决。
3.4 课外延伸学习
除了上课之外,还有多种方法来学习这门课程,拓宽学生知识面,要鼓励学生自己多动手,利用Internet获取当今最新科技信息。为了提高教学效果,可以通过建立课程教学平台,给学生提供一个在线学习和交流的系统,平台的教学资源可由教师上传教学课件、教学视频、实验演示等,满足学生的在线学习。教学平台能够解决上课的信息量大,部分学生思维不同步的问题,也为师生间、学生间提供了一个良好的交流平台。
另外,为了培养学生的学习能力,教师在课堂上应介绍数据库的最新发展情况,并可以将ORACLE、SQL Server、DB2、Sybase等主流系统的网站介绍给学生,引导学生自主地了解和学习课程之外的内容。通过课程学习网站或邮件和教师进行沟通,可以使学生的学习不再局限于课堂,让学生对数据库系统有一个广泛的认识,为学生开拓崭新的、广阔的学习空间。
4 结束语
数据库技术随着计算机技术的发展而不断发展,教师应该遵循数据库技术的发展规律,跟踪最新技术的发展动态,结合专业实际,采取多种方法提高数据库原理课程的教学效果与质量,在实践中不断探索新的教学方法,这样才能高效率地完成教学目标,激励学生学习的积极性,提高教学效果,为高校培养出优秀的专业技术人才。
参考文献
[1]兰彬,张燕.数据库系统原理课程教学改革及思考[J].北京农学院学报,2007,22:175-177.
[2]王珊,萨师煊.数据库系统概论[M].第四版.北京:高等教育出版社,2006.
[3]吴琪.数据库原理与应用教学改革初探[J].电脑学习,2009,12:95-97.
数据库教学方法研究 篇10
《数据库系统原理》课程是各高校计算机科学与技术专业的专业必修课, 通过学习, 使学生掌握数据库系统的基础理论, 同时学会使用和设计数据库, 具备初步的科学研究与应用开发的能力。其重点在于掌握规范化理论和SQL语言, 熟练运用数据库设计的相关工具, 掌握数据库应用系统的分析、设计及编程实现方法。在教学方法设计上, 一般将《数据库系统原理》课程划分为课堂教学、实验教学和《数据库课程设计》三大部分, 三者有机结合在一起, 从而培养学生用理论知识解决实际应用问题的能力。《数据库课程设计》是在学习完《数据库系统原理》课程之后的下一学期独立开设的专业实践性教学环节, 其目的旨在加深学生对数据库系统相关理论知识的理解, 培养学生分析、设计和编程实现数据库应用系统的能力, 并在具体的数据库应用系统分析、设计和编程实现的过程中强化学生的专业技能。本文根据《数据库课程设计》实践教学环节中存在的问题, 结合项目模拟实训教学方法的基本原理, 提出了基于项目模拟实训的《数据库课程设计》教学方法的具体方案。
2、《数据库课程设计》实践教学中存在的问题
2.1 学生参与课程设计的积极性不高
在近几年的《数据库课程设计》实践教学环节中, 发现有很多学生参与课程设计的积极性不高, 所以存在部分学生直接从网上下载一个数据库应用软件或者完全依赖于同组同学去完成而没有真正参与的现象, 其主要原因在于学生对《数据库课程设计》的重要性认识不足。对计算机科学与技术专业的学生而言, 《数据库课程设计》是学习完《数据库系统原理》课程之后的具有很强的实践性和综合性的实践教学环节, 不仅要求学生具备编程开发的能力, 而且要求学生能结合《软件工程》和《数据库系统原理》等相关课程的理论知识并加以综合运用, 完成一个解决实际应用问题的数据库应用软件的分析、设计和编程实现, 并按要求提交相关技术文档。
2.2 学生重编程实现而轻分析、设计
《数据库课程设计》需要综合运用的知识非常多, 通常包括《软件工程》、《数据库系统原理》、具体的数据库管理系统 (如SQL Server 2000、Access 2000等) 、一门具体的编程开发语言 (如VB、c#) 和实际应用问题相关的专业知识等。在近几年的实践教学中, 经常出现学生重编程实现而轻分析、设计的现象, 其主要原因是有很多同学认为《数据库课程设计》就是要完成一个数据库应用软件的编程实现, 部分编程基础相对比较薄弱的学生更是如此。所以在笔者几年的实际教学过程中经常有学生一直在为数据库连接、登录等问题反复消耗大量的时间。另外也有一部分学生认为只要编程实现了对数据的添加、删除、修改和查询就算是完成了课程设计任务, 而不管编程实现的系统符不符合实际的应用需求。
2.3 课程考核方式不够科学
作为一门对立开设的实践课程, 《数据库课程设计》的考核方式主要是根据学生的出勤情况和学生提交的课程设计报告来进行, 而没有对学生所实现的数据库应用软件进行深入分析和探讨, 这种考核方式对实践教学环节而言显然不够科学。
2.4 课程设计的时间安排不够灵活
由于《数据库课程设计》是安排在《数据库系统原理》开设的下一个学期, 这就使得很多学生不能将数据库系统的相关理论知识及时的加以综合运用;另外, 课程安排上是集中在两周时间内, 从软件生命周期的角度来说, 学生是不可能在两周时间内完成一个数据库应用软件的分析、设计和编程实现的。
3、基于项目模拟实训的《数据库课程设计》教学方案设计
3.1 项目模拟实训的基本原理
当前, 高校毕业生就业已然成为一个社会难题, 其中一个重要原因就是高校与社会需求严重脱节。为了解决上述问题, 高校必须改革传统的教学方法, 以适应社会需求。对计算机科学与技术专业的学生更是如此, 实施基于项目模拟实训的《数据库课程设计》教学方法改革就是在计算机科学与技术专业学生的实践教学中的一次有益尝试。基于项目模拟实训的《数据库课程设计》教学方法指的是参照软件公司分析、设计、编程实现应用软件的基本步骤和人员组织形式来安排和组织学生进行《数据库课程设计》。其重点在于把学生的课程设计任务提高到软件工程项目的高度, 并通过模拟实训加以实施。按照软件工程传统方法学的思想, 结合数据库设计的基本步骤, 可以将数据库应用软件的开发简单划分为需求分析、总体设计、详细设计、编码和测试四个阶段。每个阶段的任务均在指导老师的指导下, 由项目组成员通力协作、自主完成。在每个阶段结束后, 采用项目评审的方法, 对每个小组每个学生的具体工作进行阶段性评审, 学生分组汇报工作成果, 并按照软件工程的要求提交阶段性技术文档。通过评审, 学生可以相互借鉴分析、设计及编程开发经验, 并对各自碰到的问题进行交流和探讨。项目模拟实训根据课程设计选题采用项目小组的形式进行分工, 项目规模和难度由指导老师和项目小组全体成员根据课程设计指导书协商决定。每个项目小组的每个开发阶段均可由一名同学担任项目经理。项目经理可以根据小组内每个人的能力和经验合理分配任务。每个学生在项目开发过程中, 担任不同的角色。在工作中, 项目小组的成员相互沟通和交流, 组与组之间也可以相互借鉴学习。这有利于提高学生的参与积极性, 培养学生的团队合作精神。
3.2 具体教学方案的设计
针对《数据库课程设计》实践教学中存在的问题, 结合项目模拟实训教学方法的基本原理, 具体教学方案设计如下。
3.2.1 衔接阶段
《数据库系统原理》课程划分为课堂教学、实验教学和课程设计三大部分, 其中实验教学环节设有“简单信息管理系统”这一实验项目。根据学生在《数据库课程设计》过程中经常存在重编程实现而轻分析、设计的实际情况, 可以考虑在实验教学环节“简单信息管理系统”的教学过程中, 解决学生编程实现过程中常见的数据库连接、登录、增加、删除、修改和查询等操作耗时过多的问题。对于不能解决这些常见编程实现操作的学生, 实际的解决办法有两种:其一就是鉴于《数据库课程设计》安排在《数据库系统原理》课程的下一学期, 而这期间有一段较长时间的假期, 可以建议学生好好利用这段时间, 对自己选择的编程实现工具进行深入学习;第二种解决办法就是将这些常见的编程实现操作做成样例代码的形式, 供学生参照使用。
另外, 在《数据库系统原理》课程即将结束之时, 将《数据库课程设计》指导书分发给学生, 让学生进行选题并分组。老师可以根据《数据库系统原理》课堂教学和实践教学过程中学生的实际情况, 指定编程能力和沟通协调能力较强的学生担任项目总负责人, 也可以采取学生推荐或自荐的方式产生项目总负责人, 然后由项目总负责人和学生进行双向选择并根据课程设计选题确定最终的项目小组, 选定项目不同阶段项目经理, 并且要求项目总负责人和项目经理及各阶段担任不同角色的学生按照分工提交项目各阶段的开发计划, 开发计划要详细到不同阶段每个成员的具体任务。另外要求同组内的学生必须选用相同的开发环境。
3.2.2 实施阶段
《数据库课程设计》的衔接阶段为项目模拟实训的实施提供了前提。根据学校教学安排的实际情况, 一般建议学校将集中的两周时间尽量安排在学期中后期, 这样学生有足够的时间做大量的工作, 而将集中的两周时间用来解决学生在项目模拟实训过程中碰到的实际问题, 同时在这两周之前, 学生与老师之间可以通过网络进行交流和沟通。
3.2.3 考核阶段
针对课程设计考核方式不够科学的问题, 除了加强考勤和注重跟踪检查以外, 特别引入课程设计答辩环节。最终的成绩由考勤记录、课程设计报告和数据库应用软件的演示答辩三部分组成, 成绩比例为3:3:4。考勤记录成绩由老师根据学生的出勤情况进行评定;课程设计报告成绩由老师根据学生提交的课程设计报告的规范程度及工作量进行评定;演示答辩成绩以项目小组为单位进行评定, 评定的依据主要是演示答辩过程中各成员根据分工回答老师提出的相应问题的准确率。
4、结论
在对近几届计算机科学与技术专业实施基于项目模拟实训的《数据库课程设计》教学方法改革后, 较好的提高《数据库课程设计》的教学质量, 同时, 学生综合运用所学《数据库系统原理》以及相关课程的理论知识解决实际应用问题的能力也得到了提高。
参考文献
[1]崔岩.“数据库原理”课程设计教学方法研究[J].福建电脑, 2009 (10) .
[2]王咏.《数据库原理及应用》课程设计教学方案研究与实践[J].高校实验室工作研究, 2010 (6) .
[3]刘智、刘加伶等.数据库课程设计的教学思路与实施[J].软件导刊, 2009 (1) .
数据库教学方法研究 篇11
[关键词] 图像存取ICB方法CKA方法
图形图像、音频视频等多媒体信息在数据库中存储不同于传统的文本、数字等有着非常规范的结构化形式,程序设计中采用不同的存取方法,对数据库访问速度,以及数据库文件容量有非常大的影响,程序的运行效率当然也是相差甚远。
一、图像的存储优化
SQL Server用Image字段(Access用OLE对象字段)来存储图形图像甚至音视频等多媒体信息,在库中以“长二进制数据”的形式存放。以图形图像为例,VB传统的做法是将图像字段与图像控件绑定,加载图像后刷新近期件并更新记录集即可完成图像的存储,这里称为图像控件绑定(Image Control Binding,ICB)方法。这种方法的优点是代码简单、容易理解和实现,特别是对于库中所存图像的浏览尤为方便。但由于其不管源图像格式,统一按24位位图进行处理,故只适用于小型图像的存取,如人事档案中的相片,而对于较大的尤其是压缩格式的图像,ICB方法的存取速度就会慢得让人无法忍受,数据库的膨胀幅度也会大得惊人。
为提高图像的存储速度,最大限度地减小数据库增幅,对普通图像(如BMP)文件,需要先将其转化成压缩格式文件(如Jpeg格式)。图像存储时,先把图像文件按二进制文件打并开读入到相应的Byte型数组,再用记录集对象的追加大块数据方法(AppendChunk方法)将其写入数据库,这里称之为大块数据存取(Chunk Access,CKA)方法。
CKA方法图像存入数据库代码:(ICB方法略)
Dim bytData() As Byte
'以二进制文件方式打开临时图像文件
Open App.Path &“temp1.jpg”For Binary As #1
ReDim bytData(FileLen(App.Path &“temp1.jpg”))
Get #1, , bytData()'读入图像→二进制数组
Close #1
'用AppendChunk方法将二进制数组入库
Me.Adodc2.Recordset(“Pic”).AppendChunk bytData()
Me.Adodc2.Recordset.Update
表1所示是ICB方法和CKA方法存储JPEG图像速度与存储图像后数据库文件大小的测试数据对照表。
为突出效果,选用9张2048×1536像素的JPEG数码相片进行测试,图像大小介于1.3MB到2MB之间。分析测试结果得出,
注:①測试环境:P4 1.7G CPU,352MB DDR RAM,32MB显存,Access 2003数据库;②数据库初始大小:140.0KB(空)。
ICB方法存储JPEG相片的平均速度为120B/ms,CKA方法则为2848 B/ms。CKA方法的存储时间与图像大小成比例,ICB方法的存储时间波动范围较大,这是由于存储时间本身较长(12~15s),测试期间受其他进程影响较多造成的。
对于图像存储后库文件的大小,ICB方法对应的库文件呈线性膨胀,每次增量为9.2MB左右,即2048×1536像素的24位图文件的大小;CKA方法对应的库文件每次增量则与Jpeg文件的大小相吻合,如果需要,可在图像格式转换时在保证视觉效果的前提下增大图像压缩率,从而降低图像对数据库大小的影响。
二、图像的查询优化
图像查询时使用ICB方法基本不需要写任何代码就可完成查询,借助控件的导航按钮可以方便地实现对数据库中图像的浏览。但若图像记录较多或图像较大,查询操作就会变得异常缓慢,出现类似“死机”的现象。
图像的查询优化包含两方面内容,其一为图像查询与普通数据查询分开进行,避免一次检索过多图像造成查询延时过长;其二需要把存放在数据库图像字段中的信息用CKA方法分段读出写到一个临时文件中,重新组装成原来的图像,再进行图像加载和显示。
CKA方法图像查询关键代码:
'只检索一条记录对应的图像,尤其在网络环境下
‘用于组装图像的临时文件
'读出存放图像二进制数据字段总长
‘图像组装完毕,加载并显示
ICB方法与CKA方法用于图像查询的对照测试工作在前面存入9张相片的Access数据库上进行,测试数据如表2所示。
注:①测试环境同表1;②合成时间包括图像组装和加载时间。
计算得出,ICB方法图像查询的平均速度只有35B/ms,CKA方法为2809B/ms,与存储速度相当,就是算上图像合成(含加载)时间,CKA方法查询速度也能达到2597B/ms。
三、总结
通过实例测试可以发现, CKA方法进行图像的存取,无论从速度还是对库文件大小的影响来说,性能都远远优于传统的ICB方法,在网络环境下,效果会更加明显。实际上,运用CKA方法也可以实现音视频等多媒体信息甚至任何类型计算机文件的数据库存取,这里不再赘述。
参考文献:
[1]李树海陆体虎:对数据库的操作——图像的存储与显示.计算机与信息技术[J],2004(11)
[2]马战宝:基于 Intranet 的商品混凝土生产控制管理系统的研究与实现[D].西安:西安交通大学硕士论文,2006
[3]张毅王晓强等:Visual Basic应用技巧与常见问题你问我答[M].北京:机械工业出版社,2003.222-226
数据库教学方法研究 篇12
1 SQL Server 2008数据库案例教学
1.1 总体结构
SQL Server 2008数据库的学习,可以采用“大案例,一案到底”的思路,以一个“学生选课系统”数据库的设计与管理为主线串起全部知识点。围绕该系统数据库的应用与维护,将大案例分为10个项目,每个项目又分成若干个任务,通过任务的实现过程,详细介绍SQL Server 2008数据库应用技术。同时,为了加强学习效果,在每个项目后都配备有相应的项目实训,使学习者能够运用所学知识完成实际的工作任务,达到学以致用的目的。
大案例分为的10个项目分别为:1)系统数据库建模;2)安装与配置SQL Server 2008;3)创建数据库与数据表;4)查询数据;5)数据的查询优化;6)面向数据库编程;7)实现数据的完整性;8)维护数据的安全性;9)维持数据库的高可用性;10)自动执行学生选课系统的管理任务。SQL Server 2008数据库案例教学结构如图1所示。
2.2 详细阐述系统数据库建模项目内容
第一个项目,系统数据库建模,又可分为3个任务。1)理解系统需求;2)建立系统实体关系模型;3)使用Power Designer建立系统模型。
学生选课系统是学校进行信息化建设的重要部分,主要完成学校教师申请授课、学生选择课程、学生选择教师、课程成绩填报、课程教学评价及学生和课程信息的维护等功能。第1个任务通过对系统各部分功能的介绍,使学习者对学生选课系统有一个初步的了解。
学生选课系统功能主要面向教务人员、教师和学生3类用户。
教务人员:负责学生选课系统中各类基本信息的维护,包括学生、教师、课程、专业等基本信息,并生成各类选课和教学统计报表。该类用户可以看成是系统的管理人员。
教师:可以申报开设课程,评定学生课程学习成绩,查看课程被选情况。
学生:可以查询课程信息、教师信息,可根据选课规则进行课程选择,并可对任课教师进行课程评价。
学生选课系统的系统用例图如图2所示。
要实现学生选课系统的数据库管理,必须在系统需求分析的基础上建立该系统的数据模型。第2个任务在阐述关系数据库基本概念的同时,详细描述学生选课系统实体关系模型的设计过程。
根据学生选课系统的需求说明,可以画出系统的E-R图,如图3所示。
第3个任务是在学生选课系统E-R模型设计完成后,需要将E-R模型转换成相应的逻辑模型和物理模型,并生成数据库。Power Designer是现今数据库建模市场中最为流行的工具之一,通过它能够方便地实现概念模型、物理模型和数据库之间的转换。
学生选课系统部分概念模型,如图4所示。
2.3 简略提要其它项目内容
第二个项目,安装与配置SQL Server 2008,又可分为2个任务。1)安装SQL Server 2008;2)管理和使用SQL Server 2008。
第三个项目,创建数据库与数据表,又可分为3个任务。1)使用SSMS操作数据库;2)使用T-SQL操作数据库;3、操作数据表。
第四个项目,查询数据,又可分为4个任务。1)查询单表数据;2)连接查询多表数据;3)嵌套查询多表数据;4)修改系统数据。
第五个项目,数据的查询优化,又可分为2个任务。1)规划并创建索引;2)使用视图优化系统查询性能。
第六个项目,面向数据库编程,又可分为3个任务。1)T-SQL程序的流程控制;2)使用函数访问数据;3)利用存储过程访问数据。
第七个项目,实现数据的完整性,又可分为3个任务。1)实现系统数据的域完整性;2)实现系统数据的实体和引用完整性;3)利用触发器实现数据完整性。
第八个项目,维护数据的安全性,又可分为4个任务。1)系统数据库账号管理;2)系统数据库用户权限管理;3)系统数据库角色管理;4)实现学生选课系统数据加密。
第九个项目,维持数据库的高可用性,又可分为5个任务。1)备份和恢复数据库;2)数据文件的转移;3)从数据库快照恢复数据;4)实现数据库镜像;5)实现数据库日志传送。
第十个项目,自动执行学生选课系统的管理任务,又可分为2个任务。1)使用作业自动执行数据库的维护;2)使用SQL Server代理实现邮件发送。
3 结束语
案例教学法,结构紧凑,形式新颖,示例丰富,注重理论联系实践,语言浅显易懂,具有较强的实用性和可操作性。案例教学法是推进素质教育,培养教育职业化人才的重要途径。案例教学过程中,理论与实践结合性强,学生的参与性强,师生互动性、灵活性强,富有创造性和启发性,既达到教学目的,又可以培养和锻炼学生[4,5]。
参考文献
[1]刘畅.案例法和项目驱动法在“数据库原理”教学实践中的应用探索[J].计算机教育,2009(19):77-79.
[2]葛瀛龙,龚晓君,涂利明.场景式案例教学在Oracle数据库教学中的实施[J].中国教育信息化,2010(3):59-61.
[3]王立新,章曙光.数据库原理的案例导向教学研究[J].电脑知识与技术,2010(22):37-39.
[4]郭俊辉,曹旭华,王富忠.案例教学效果的最优模型探索[J].高等工程教育研究,2010(3):140-144.
【数据库教学方法研究】推荐阅读:
数据库研究方法10-16
异构数据迁移方法研究06-03
航测数据质量控制方法研究05-22
数据库恢复研究06-04
研究信息数据库06-23
数据库集群研究08-26
健康研究数据库09-12
数据库加密模型研究10-18
传感技术数据库研究05-14
空间数据库构建研究09-30