首页 > 文章中心 > 数据库课程设计报告

数据库课程设计报告

数据库课程设计报告

数据库课程设计报告范文第1篇

关键词:数据库原理及应用;课程设计;课程管理;过程化管理;考核方式

中图分类号:G642.0文献标识码:A文章编号:1009-3044(2012)22-5396-03

Process Management Used for Curriculum Design of Database Principle and Application

LUAN Cui-ju, WANG Wei-hua, WU Ai-hua

(College Of Information Eng., Shanghai Maritime Univ., Shanghai 201306, China)

Abstract:The curriculum design of database principle and application aims to make students understand the database theory and technology better and learn to use in practice, meanwhile strengthen the students several ability including problem analyzing, problem solving, collaboration, and innovation. To achieve this goal, by analyzing the characteristics of the course the method of process management is proposed, the curriculum process, assessment and management methods is designed. Teaching practice shows that, this method can guide the students to follow the database design process step by step in an orderly manner, in each stage the problems can be found and corrected in time.

Key words:database principle and application; curriculum design; curriculum management; process management; assessment methods

《数据库原理及应用》课程是很多高校计算机、信息等专业的必修课,该课程兼顾数据库原理、技术及应用,是理论与实践密切结合的课程[1]。因此,通常都为该课程配套了课程设计,以强化理论课的学习。实践教育的目的是让学生理解和消化教师传授的知识和技能,培养学生的动手能力、社会活动能力、发现问题与解决问题的能力,最终达到培养创新能力的目的[2]。这也是数据库课程设计的目标。

但是同其他同类课程一样,《数据库原理及应用课程设计》的实施效果与其预定目标还存在一定的差距。该文在分析该课程存在问题的基础上,提出了改进的课程管理及考核方式,以期提高该课程的实施效果,达到锻炼学生、培养学生的目标。

1数据库课程设计中存在的问题分析

实践性课程与理论性课程不同,理论性课程是学习理论知识,而实践性课程主要是训练操作技能;课程设计又不同于实验课程,实验课程一般分多个专题进行实训,而课程设计通常是针对一个综合的项目进行实训。这些课程的实施方式也是不同的:理论性课程基本是在教室集中授课,实验课程是在实验室集中训练,而课程设计的实施更松散一些。

随着计算机成为多数学生自备的学习工具,数据库课程设计通常不采用集中训练方式,而是采用教师有限次的集中授课加上辅导答疑,学生自择时间和地点进行系统分析、设计、实现并查阅资料撰写课程设计报告。其优点是可以给学生更大的自由度,同时能够提高实验室的利用率。缺点是容易导致学生放任自流、草草应付,难以达到课程的预定目标。

针对数据库课程设计中存在的一些问题分析如下:

1)课程设计流程过粗

数据库课程设计一般采用的流程是:确定选题,开题,中期检查,系统验收,课程设计答辩,提交设计报告。这一流程看似很细致,但是没有体现出数据库设计的特点,或者说与数据库设计过程没有很好的结合。按照这一流程进行管理,到中期检查时往往发现学生的数据库结构不合理,根源是数据库的设计存在问题,这些问题没有被及时发现,导致后续的系统设计及实现都基于不合理的前期设计。

数据库课程设计重在数据库的设计,而数据库的设计要经过需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施及系统实现等多个阶段,其中需求分析是基础,概念结构设计是关键,逻辑结构设计是目标,如果这三个阶段出现问题,后面的设计及系统实现的质量难以保证。

2)课程设计强调结果忽视了过程管理

数据库课程设计要求学生最终提交一个可运行的系统和一份课程设计报告,在考核方式中这两部分所占比重非常大。这种模式重在作品也就是结果,没有强调课程设计实施过程的管理。数据库课程设计要经过一个从系统分析到设计再到实现的过程,而前两个阶段是本门课程设计的重点,对于这样的过程没有管理好,整个课程设计难以达到预期的目标。

3)学生与指导教师之间缺乏沟通

由于前述数据库课程设计的特点,学生与教师的沟通少之又少,大部分学生只在中期检查和系统验收答辩的时候才与指导教师有交流,而这时的交流主要是教师对学生课程设计进展及完成情况的检查和评价。

究其原因是在整个课程设计过程中,教师处于一种被动等待学生来答疑的状态,而握有主动权的学生在碰到问题时更多的是寻求其他的解决方法,而不是求助于老师。更甚者,一些学生认为只要给出分析、设计、实现的结果就可以了,至于合理与否根本没有考虑,导致没有与教师沟通的需要。

缺乏沟通的结果是学生的作品漏洞百出,而多数情况都是在系统的分析设计阶段就出现各种各样的问题,但是由于缺乏与指导教师的沟通而没有被指正,就一错到底了。

4)学生缺乏兴趣和热情

由于对课程设计的认识不足,有些学生抱着蒙混过关的想法,整个课程设计过程应付了事,毫无兴趣和热情。还有一部分学生,由于与指导教师缺乏沟通,导致在出现问题或疑问的时候没有及时得到指导教师的辅导和鼓励,而对课程设计的兴趣渐失。缺少了兴趣和热情,不仅难以达到课程设计的目标,创新能力的培养更是无从谈起。

5)考核方式过于简单

课程设计考核一方面反映学生的完成情况,另一方面可以起到督促、鞭策学生的作用。但是课程设计的考核方式往往是答辩成绩、报告成绩与平时成绩的加权和,而平时成绩因为没有细化而难以体现出真实情况。这样的考核方式也是导致学生只重结果不重过程的原因之一。

以上这些问题彼此之间存在联系,导致这些问题的原因是课程设计的安排及管理疏松、教师对学生的引导和辅导不充分、学生对课程设计认识不足、重视不够。要克服这些问题并最终实现课程设计的目标,就必须从加强课程设计管理入手,指导教师切实担负起引导学生和答疑解惑的职责。

2数据库课程设计过程化管理

数据库设计是一个分为多阶段的连续过程,因此,数据库课程设计可以采用过程化管理模式,将每个阶段管理好、确保阶段目标实现、最终实现总体目标。如果其中任何一个阶段出现问题,都控制在本阶段解决,直至达到质量要求才能进入下一个阶段。数据库设计的各阶段目标不同、内容不同、涉及到的理论和技术也不相同,因而过程化管理可以让学生在实践中按阶段理解并运用相应的理论和知识,通过教师的把关确定是否达到质量要求。这一管理方式与学生学习实践的过程化特性相吻合。

2.1流程划分

需求分析、概念结构设计、逻辑结构设计是数据库设计中的重要阶段,也是理论与实践联系最紧密的阶段,为了加强这三个阶段的实践和管理,将这三个阶段添加到原有课程设计流程中。这样数据库课程设计过程划分为:确定选题及系统功能、需求分析、概念模型设计、逻辑模型设计及优化,中期检查,系统验收,课程设计答辩,提交设计报告。

1)确定选题及系统功能

按组确定选题,经过初步需求分析明确系统的功能,并形成文档提交给教师。教师对每组题目及功能进行审核,根据每组的学生情况提出相应的意见。目标是题目及功能符合课程设计的要求,系统不能过于简单,同时有创新的空间。

2)需求分析

在此阶段,要求学生通过各种途径对系统进行全面细致的需求分析,生成需求分析报告,主要内容包括系统的数据流图和数据字典。教师对每份需求分析报告进行点评,对于存在问题的给出问题描述和修改意见。目标是数据流图完整描述系统中数据从哪来、经过什么处理、到哪去;数据字典要全面描述数据流图中的数据项、数据结构、数据流、数据存储、数据处理;需求分析报告要符合规范。

3)概念模型设计

在需求分析报告合格的基础上,学生抽象、设计概念模型。教师对其进行点评,针对不合理的设计给出修改意见。目标是将需求分析报告中涉及到的数据对象恰当的抽象为实体、属性及实体之间的联系,不存在冲突和不必要的冗余,描述方法符合规范。

4)逻辑模型设计及其优化

在概念模型设计合理的基础上,学生设计逻辑模型,要求对每个关系模式进行分析并规范化到第三范式,然后针对系统的需求对其进行优化,结果提交给教师。教师进行点评,针对存在问题的设计给出修改意见或者要求学生给出解答。目标是逻辑模型与概念模型一致;每个关系模式要定义出候选码、外码,达到第三范式,针对特殊的情况要给出说明。

5)中期检查

中期检查主要对系统的分析设计及已完成的系统实现部分进行检查,目的是督促学生按照课程进度完成阶段目标。要求所有的学生参加课程设计中期检查,学生针对教师提出的问题进行回答,最后教师给出评价及意见。

6)系统验收、课程设计答辩

在课程设计的最后阶段,教师针对每组的系统进行全面验收,学生以组及个人相结合的方式进行课程设计答辩。要求系统是可运行的,这一阶段的重点是系统实现部分的检查。

7)提交课程设计报告

经过课程设计答辩环节之后,学生提交设计报告,要求按照学术报告的结构及方式进行撰写,教师对报告质量进行把关,不合格的要求学生修改。

在每一阶段,如果学生做的不好,教师要指出问题所在并提供修改意见,要求学生修改之后重新提交,然后再点评,这个过程可能要反复多次,直到合格。各阶段之间是步步衔接、有序进行的,只有在上一阶段任务合格完成之后,才能开始下一个阶段的任务。

2.2日程安排及考核方式

按照数据库课程设计的时间跨度(18周),将上述流程安排如表1所示,考核方式细化到每个阶段。通过该方式加强课程设计过程化管理的实施,并督促学生按照过程化管理的思想完成数据库课程设计的整个过程,避免短时间突击完成,以便确保课程设计的质量。

表1数据库课程设计日程安排及成绩构成

2.3管理方式

数据库课程设计的过程化管理及考核方式极大加强了教师与学生之间的联系,教师在其中起到主导作用,同时对教师提出了更高的要求。课程的管理方式也要随之进行调整,主要体现在以下两个方面。

1)对学生提交的结果及时进行分析和点评

针对学生在各阶段提交的结果要根据其系统特点及时进行点评和回复,以便学生尽早知晓存在的问题并进行修正。根据教师的点评,学生能够清楚指导自己的设计存在的问题、是否合理、何时进入下一个阶段。

2)主动要求学生来答疑

教师在评价学生阶段成果的过程中,如果认为学生的问题比较严重或者设计上有新意,都可以要求学生当面答疑、讨论,这样可以通过面授的方式纠正学生的问题、启发学生的思维。从而将教师被动等待学生答疑与主动要求学生来答疑相结合,更好的起到指导作用。

以上两点,能够让学生在数据库设计的每个阶段都得到指导,遇到问题能够及时得到辅导,在每一阶段设计合理的情况下进入下一个阶段。因此,这种方式能够增强学生的信心和兴趣,进而较好的完成整个设计,达到教学的目标。

为了便于快速、有效沟通,师生可以通过电子邮箱、即时通讯工具、微博等便捷方式进行问题讨论。

3实施效果

通过教学实践,数据库课程设计过程化管理及考核方式取得了比较好的教学效果。

表2是在教学实践过程中针对该文提出的过程化管理方法在学生中进行问卷调查获取的数据。

从表2的数据可以看出,该文提出的数据库课程设计过程化管理能够引导学生有条不紊的按阶段完成任务,在出现问题的时候能够及时得到指导,大部分学生收获较大。

表2课程设计实施问卷调查结果

4结论

数据库课程设计的目标是让学生在实践中理解并学会运用数据库理论和技术,增强学生分析问题、解决问题的能力,培养学生的团队协作以及创新能力和意识。

为实现这一目标,该文依据数据库设计的特点在数据库课程设计中引入过程化管理,设计了相应的流程安排、考核及管理方式,引导学生一步步有质量的完成课程设计的任务,切实做到理论与实践相结合,达到培养学生分析问题、发现问题与解决问题的能力,从而达到课程设计的目标。

参考文献:

数据库课程设计报告范文第2篇

关键词 数据库 分组阶段式 课程设计 教学模式

中图分类号:G424 文献标识码:A

0 引言

数据库课程设计是信管专业综合训练课,本课程是对数据库原理课堂教学的一个重要的补充,与理论学习起着相辅相成的作用,是实施教学的一个重要组成部分。其目的旨在加深学生对数据库基础理论和基本知识的理解,培养学生综合运用所学理论知识进行数据库设计和开发的能力。本文将结合笔者的实践教学,分析数据库设计中存在的问题,研究分组阶段式反馈教学在课程设计中的作用。

1 数据库课程设计实践教学中存在的问题

在近几年的数据库课程设计实践教学中,笔者发现存在以下几个问题。问题一,学生对课程设计的理解和认识不够。有些学生根据老师所给的题目直接在网上下载一个作业,有些学生在分组中完全依赖于组内的同学完成而没有真正参与其中。问题二,学生对课程设计的选题理解不足。在课程设计应用选题时,对所给选题的业务需求理解不够,难以完成。问题三,学生注重编程实现而不重视分析、设计。多数学生重视用编程实现数据库的连接、登陆、界面的设计以及对数据的增、删、改、查,而不注重编程所实现的系统符不符合实际的应用需求。问题四,考核方式只在最终提交阶段,忽视平时的设计的各个环节。最终的考核方式根据学生的考勤、提交的报告、系统来确定,在实现过程阶段考核较为欠缺。

2 分组阶段反馈模式教学

针对课程设计教学过程中存在的上述问题,笔者在教学的过程中摸索出分组阶段式反馈教学,在实际的操作过程中取得了一定的效果。分组阶段式反馈教学指的是在课程设计的过程中,采用分组、阶段式的方式指导学生,其中分组探讨以及阶段考核反馈是整个教学过程中的主要部分。在数据库课程设计过程中,采用分组、分阶段汇报工作的方式,在数据库设计的四个阶段规定的时间内,各个小组指派这一阶段实施的只要负责人汇报该阶段进展情况,教师根据汇报情况可针对性地进行实时点评,帮助学生发现设计过程中出现的问题,整理思路,通过这种方式,学生可以不断地反思和深化自己的思考过程,有利于学生操作能力与创新能力发展,同时学生的学习信息得到了反馈,作为教师也了解了学生在具体的哪个阶段存在的问题,并能够对症下药及时解决,为下一步的指导提供依据。具体模式如下:

第一,用分组形式。教师提供参考选题,也可学生提供感兴趣的选题,然后根据个人的兴趣选择相关题目, 每个选题一般5~6人一组,每组选出具有一定协调能力的组长,并作出设计规划。第二,小组中每个人根据数据库设计的要求步骤以及自己的特长担任不同的角色。分工协作、共同完成设计和开发任务,从而培养团队精神,变适应性学习为创造性学习。第三,阶段进展情况汇报。根据数据库设计的几个阶段即需求分析阶段、概念结构设计阶段、逻辑结构设计阶段分级提供相关结果与报告,由教师与学生共同讨论,发现并分析在设计阶段出现的问题,提出解决方案。第四,数据库的实现阶段以SQL Server 2000数据库开发环境为主,选择合适的应用开发工具,按照设计的结果建立数据库、开发应用系统、输入数据、调试运行所开发的应用系统。第五,答辩阶段由3个有数据库教学或设计经验的老师组成答辩小组,每个组的项目负责人运行、演示开发的数据库应系统,同时回答各位答辩老师或者其他组同学提出的问题,提交所有文档。第六,集体讨论、互相学习,指出各自的特点和不足,交流开发过程中的收获和体会。第七,成绩评定主要根据分组阶段的表现10%、设计成果50%,设计说明书20%,答辩成绩20%,给出成绩,最后积分按照优、良、中、及格、不及格5级评定。

3 分组阶段式反馈中主要阶段的实施

第一,课程设计的选题阶段。课程设计的题目选择的难易程度、范围的大小、行业领域直接影响学生的设计兴趣,因此在选题时要贴近学生的学习和生活实际,先选择容易开发的、实用的、与学生专业培养有关联的数据库应用系统,最好能加强与企业的联系,这样能充分了解企业的需求,既有助于学生对数据库设计的概念结构中需求的分析理解,更有助于培养学生的社会认知感。

第二,课程设计的准备。分组阶段式反馈模式中,由于学生事先没有系统开发的经历,所以教师需要精心准备多个跨行业的应用案例,教师重点演示一个已开发好的数据库管理应用系统。所演示的项目应包含所有的知识点,采用通俗易懂,循序渐进、逐层阶段式的方式将数据库各个章节中的知识点融入。这使每个组在选题的时候可以参照相关领域的设计原则,通过项目驱动、核心案例的贯穿,调动学生的设计兴趣。

第三,项目设计与实现阶段。学生根据教师所给题目或自拟题目,结合企业或行业实际应用作需求分析,提交数据字典;根据需求分析构造概念模型,并用E-R图表示;根据E-R图转换为逻辑模型,最终通规范化理论转换为物理模型在SQLSEVER2000中实现。通过这个综合项目,使学生巩固加深对知识点的理解和掌握。老师通过检查学生提交的数据字典和E-R图,对每个组进行分析和指导,指出其中存在的问题,要求学生进行修改,完成设计与实现中的反馈循环,本阶段需要注重学生在数据库设计中各种模型的转换。

分组阶段式反馈教学模式在数据库的设计中极大地提高了学生的学习兴趣,实践表明,采用该教学模式后课程设计效果较以前有较大的改进。其一,学生在课程设计的过程当中对数据库系统的理论知识进行了系统的应用,调动了学生的学习主动性;其二,课程设计中实现了教学与学生的角色转换,以学生为中心,各阶段反馈、汇报设计中存在的问题,充分发挥学生的创新意识;其三,从学生上交的总结报告中看到,不少学生反映通过该课程设计获得了成就感,树立了信息系统研发的信心,增强了进一步学习的动力。很多学生特别提到老师对同学们设计系统的点评,使他们印象深刻,收获最大。另外,课程设计而加深了学生对抽象理论的理解,提高了他们数据库分析和设计的能力,为实践教学创造了很好的条件。

参考文献

[1] 黄永慧,黄和平,何小敏,数据库课程设计中分组反馈式教学模式探索[J].广东工业大学学报,2007(6):144-145.

[2] 王向辉,崔巍,徐俊丽.基于CDIO的数据库课程教学改革方案研究[J].计算机教育,2011(2):38-40.

数据库课程设计报告范文第3篇

关键词:教务管理;信息统计;实验项目;thinkphp;SAE

中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2016)17-0078-04

Abstract:In view of the problems of low efficiency and donkey work of the traditional teaching management in Colleges and universities, the paper is based on ThinkPHP open source framework to realize the teaching integrated information management system, including the information statistic, the experimental report management and the graduation thesis management in the secondary colleges. The system improves more efficiency of the teaching managers, and makes the management about reports and thesis more scientific and standard.

Key words: education manage ; statistical information;experimental projects;thinkphp;SAE

在传统的高校教务管理工作中重复性的工作相对较多,并且工作效率低下,如每年的“高等学校实验室信息统计”、“全国高校教学基本状态数据信息统计”、学生实验报告的管理以及学生毕业论文的管理等重复性工作。因此开发高等学校的教务综合信息管理系统完成教学状态信息的统计以及实验报告和毕业论文的管理,对教学过程中教学数据状态信息的准确统计以及教务管理工作具有重要意义,可以极大地提高教务管理人员的工作效率,同时对学生及教师的信息管理也起到很好的辅助作用。

1 系统介绍

本系统主要是针对二级学院的数据状态信息的统计工作以及学生实验报告、毕业论文管理工作而开发的。主要包括实验项目统计、实验报告管理、毕业论文管理、课时统计、科研论文统计、著作专利统计、获奖信息统计、教材统计等功能。通过该系统对日常教学信息的统计方便快捷,对学生实验报告的管理更加规范有序,学生毕业论文选题变得更加灵活高效,完成毕业论文的过程指导和过程监督更加科学有效。

本系统采用ThinkPHP+DWZ框架技术进行开发,搭建在SAE(新浪云平台)上。ThinkPHP是快速、简单的面向对象的轻量级开源PHP框架,使用MVC(Model View Controller 模型 视图 控制器)的模式实现模型和视图代码分离,使开发效率更高,后期维护更加容易,该框架能够满足企业开发中复杂的项目需求以及门户网站的开发标准[1]。DWZ富客户端框架基于jQuery实现的Ajax RIA开源框架,简单实用、扩展方便[2]。数据存储采用Mysql关系型数据库[3],Mysql的SQL语言使用的访问数据库最通用的标准化语言,而且Mysql体积小、速度快、成本低,与PHP结合是开发中小型网站最佳选择。轻量级的框架开发技术极大地提高了开发效率,开源的特性以及架构在SAE云环境中使得该系统在应用上方便部署使用并能节省大量的资金。

2 总体设计

本系统设计的总体原则是实用、高效稳定,而且界面设计美观、操作方便,用户通过简单的操作说明即可使用。系统的稳定性主要体现在系统结构设计上,本系统采用基于MVC模式进行的模块化设计,模块之间的耦合度较低,而且系统是采用ThinkPHP框架技术开发的,它的单一入口文件的形式,确保用户的输入都能得到有效过滤再提交给数据库,从而保证系统不被注入的安全性。系统服务器使用的是SAE,SAE有通过设计多层沙盒的形式来保护用户网站运行的安全并且能做到用户无感知自动扩容以承载高并发的情况。所以系统从多方面保证了系统的稳定性、可靠性、安全性。

2.1 模块设计

系统主要划分为课程管理、课时管理、实验项目、实验报告、毕业论文、教师和学生信息管理六个主要功能模块。每个模块在整体的框架下分别按照模块名从数据库读出,根据用户的权限动态生成模块,每个模块由单独的MVC构成,从而降低了相关模块之间的耦合性。教务综合信息管理系统的总体功能模块设计,如图1所示。

各模块功能说明如下:

1)课程管理模块:管理员把本学院当前学期的课程数据通过Excel的方式导入系统,也可以单独添加修改课程的数据,课程数据从学校的正方教务管理系统获得。

2)课时管理模块:每个班级的学委定期上报本阶段每一门课程的教师上课的实际课时,由教师确认课时是否有误,如果课时有误,教师可以直接修改课时提交,但不会覆盖学生提交的课时,如果无误,全部教师确认之后,管理员导出本阶段课时统计情况。

3)实验项目模块:有实验课程的任课教师根据本学期所教的课程,录入该课程的实验项目,并准确添加实验项目的项目编号,用来生成实验项目在统计数据中的实验编号,添加实验项目的时候可以设置该实验项目的要求、实验学时、是否提交实验报告、提交实验报告截止日期等内容。全部实验项目导入完之后,管理员导出本学期实验项目数据,用以填报实验统计信息。

4)实验报告模块:学生根据教师所录的实验项目在规定的时间之内上传实验报告,学生以PDF文件的形式上传实验报告,教师在线批阅实验报告之后学生可以查看每个实验项目的成绩及评语,最后电子版实验报告按照相应的目录以PDF文件的形式存档。

5)毕业论文管理模块:由教师根据专业毕业论文(设计)的题目及要求,并设定可以选题的最大人数。学生在规定的时间之内进行选题,每个题目由教师最终从选题的人数中确定一名学生,从而达到学生和教师相互选择的目的。选题完成之后,由管理员(教研室主任)控制整个论文写作的进程,学生在规定的时间之内,分别提交论文每个阶段的电子稿,教师可以直接在线批阅并反馈给学生。

6)教师和学生信息管理模块:教师和学生个人信息的修改,教师填报科研论文、著作专利、获奖信息、教材等统计信息。

2.2 数据库设计

本系统采用Mysql数据库。结合系统的功能需求,系统主要设计了课程表、实验项目表、实验报告表、课时表、论文题目表、论文结果表、科研著作信息表、学生表、教师表、管理员表、角色等表。其中以实验项目表为例进行说明,表结构如表1所示。

3 系统实现

本系统按照模块化设计思想进行的设计,每个模块完成独立的功能,有利于在后期开发中对系统进行功能扩展。由于ThinkPHP框架是基于MVC设计模式的,所以前台的页面显示和逻辑是分开的,页面主要由Html+Css+JavaScript[4]以及dwz的扩展属性实现,逻辑由ThinkPHP代码实现。

3.1 安全登录实现

系统用户主要包括学生、教师、管理员,分别创建相应用户的项目目录以及使用单一入口文件的形式检测用户的登录。登录用户所用的密码使用安全性更高的sha1[5]加密方式进行加密。同时采用验证码的技术,在一定的程度上可以有效的防范恶意破解密码的行为。管理员用户使用RBAC(角色权限管理)技术[6],对不同角色的访问进行详细的设计,按权限级别赋予相应的操作权限。

3.2 逻辑业务实现

系统中每个Action类都继承于CommonAction类,使用getActionName方法获得当前Action操作的名称,然后传给Model操作,实现增、删、改、查等数据库基本操作,由于本系统涉及模块较多,仅以实验模块的具体实现为例进行说明。

实验模块主要涉及到课程表、实验项目表、实验报告表,有实验课的教师根据课程要求录入实验项目,可以使用单条数据的形式添加,也可以使用excel表的形式导入,如果该项目需要上传实验报告按示例进行标记,数据添加到实验项目表。学生根据教师导入的实验项目,按规定上传实验报告,实验报告上传信息写到实验报告表里。Excel导入使用了PHPExcel开源类库进行导入操作,具体实现过程如下:

3.3 文档在线查阅

由于不能直接实现office文件在浏览器浏览[7],所以学生在上传文档的时候就直接上传PDF文档,再利用Jquery Media 插件实现在线预览PDF文件的实验报告和毕业论文。由于IE内核的浏览器不支持该插件,使用IE的用户需要安装PDF阅读器软件,如Foxit Reader、Adobe Reader等软件。其他内核的浏览器可以直接在线浏览PDF文件。

3.4 SAE平台部署实现

SAE平台出于安全性的考虑,限制了用户对本地IO的使用,这样对于有文件上传或缓存生成等文件读写的系统就十分的不便。为了解决这个问题,SAE官方提供了TmpFS功能。TmpFS允许开发者通过标准的IO函数临时读写本地IO,所以进行临时读写的数据把路径设置为SAE_TMP_PATH即可,而持久化的数据存储,仍然要使用Storage或者Mysql存储。

同时,为了应对高访问量的情况,SAE平台有提供Memcache服务,只需要初始化Memcache,在程序中调用memcache_init()就可以使用Memcache服务了,这样可以减少数据库读取次数,缓解数据库压力[8]。

3.5 系统实现结果

基于ThinkPHP开源框架技术实现了教务综合信息管理系统,充分利用了网络便利性以及B/S结构的低成本、维护简单等特点,该系统实现了日常教学信息的统计、学生实验报告的管理、毕业论文的管理等工作。目前该系统已在我院正式运行,系统运行的具体效果如图2所示。

4 结束语

本文主要介绍了使用ThinkPHP+DWZ框架技术的教务综合信息管理系统的设计与实现。在设计过程中结合学校每年的状态数据信息需求进行了详细的设计,采用B/S结构的方式,更加方便学生和老师使用本系统。把系统架构在SAE云平台上,接近于零成本的运行,使我们更加容易部署使用。

经过一年多的试运行和不断的迭代开发,本系统现在运行状况良好,性能稳定,安全性高,交互界面友好,用户使用快捷、方便,极大地提高了工作效率。数据填报人员可以很方便从系统获取填报的信息,同时学生和老师更加科学合理地管理实验报告和毕业论文工作。本系统针对高校二级学院的数据信息统计和教务管理工作具有很强的实践意义。

参考文献:

[1] 王俊芳, 李隐峰, 王池. 基于MVC模式的ThinkPHP框架研究[J]. 电子科技, 2014(27): 151-153.

[2] 王志刚, 朱蕾. PHP5应用实例详解:使用Zend Framework&Smarty 构筑真正的MVC模式应用[M]. 北京: 电子工业出版社, 2010.

[3] Luke Welling, Laura Thomson, 武欣. PHP和Mysql Web开发[M]. 北京: 机械工业出版社, 2009

[4] 王津涛. HTML,CSS,JavaScript整合详解[M]. 北京: 机械工业出版社, 2008.

[5] 杜谦, 张文霞. 多语言可实现的SHA-1散列算法[J]. 武汉理工大学学报, 2007(29):42-44

[6] 吴波, 王晶. 基于基本RBAC模型的权限管理框架的设计与实现[J]. 计算机系统应用, 2011(20): 50-54.

数据库课程设计报告范文第4篇

关键词:数据库;性能调优;课程;教学;实验

数据库系统原理课程是计算机学科本科教学的一门非常重要的专业基础课,数据库系统不仅是最重要的系统软件之一,而且是应用信息系统开发的基石,它在计算机学科体系中占据重要地位。课程的教学目的是让学生对数据库系统的基本概念和原理有较全面的了解,同时具备使用数据库管理系统软件和开发数据库应用系统的能力。

数据库系统原理课程的教学内容主要包含关系数据模型、SQL语言、数据库设计、XML、数据存储、查询处理和事务管理等,是一门实践性很强的课程[1]。实验教学是数据库课程的重要组成部分,实验内容一般包括小型数据库管理系统实现、应用系统开发、SQL查询等,这些实验对于加深数据库基本概念和原理的理解,提高数据库应用开发能力具有重要的作用。

数据库性能调优是在实际应用开发中必然要遇到的一项工作,这项工作要求开发者既要具有广泛而深入的数据库原理和系统实现知识,又要有扎实的应用设计能力,熟悉操作系统和有关软硬件环境[2]。把性能调优作为数据库系统原理课程的一项综合性实验,可以帮助学生加深了解数据库基本原理,学会分析问题、解决问题的方法,提高计算机综合实践能力。

1性能调优实验的重要性

1) 性能调优实验符合数据库课程的实验要求。数据库系统原理课程内容丰富,只有通过动手实践才能真正深入地理解和运用这些概念和原理。课程实验的要求,一方面是深化对课程内容的理解,另一方面是提高综合运用并解决实际问题的能力。性能调优实验涉及到课程的各个方面,包括SQL语言、数据库设计、数据存储、查询处理和事务管理等,可以针对具体问题设计非常多的实验素材,结合知识点学习进度合理选择具体实验内容,在进度安排上也非常容易。另外,性能调优实验有难有易,可以根据不同的学生层次进行选择,一个学期中可以安排1个或若干个实验。 2) 性能调优是数据库学习的重要内容。性能调优本身是数据库应用开发的一项重要工作,它可以使数据库应用运行得更快更好,达到更高的吞吐量或更短的响应时间。数据库性能调优远不是按照有关指南通过短短几步就可以达到的,它需要扎实的理论基础和高超的问题处理技巧,要想获得满意的结果,调优者需要综合考虑缓冲池大小、数据结构、锁争用、应用程序需求等因素之间的复杂关联,另外到操作系统的配置甚至硬件,进行综合判断,涉及到数据库技术的方方面面。

3) 有利于提高学习的兴趣和动力。采用的性能调优实验都来自于实际应用开发,具有实践性强的特点,与实际应用相结合的实验过程可以让学生真正地投入到其中,感觉就像是自己动手解决一个实际问题,而不仅仅是为了应付课程作业,这种身临其境的体验可以极大地促进学生的学习兴趣,可以有效地促进探究型教学的开展。反过来,通过实验又可以让学生了解应用开发中所要解决的问题,从而更主动地学习课程内容。

4) 有利于培养学生独立的科研和工程能力,在教学改革中实现探究型教学。性能调优实验的过程是由教师提出问题并引导学生如何利用学到的知识来解决问题,学生通过自主地建立实验环境、测试运行、收集数据、综合分析、推导结论等环节来实现,实验的结果因人而异,并没有一个标准答案。在这个过程中,学生可以充分地体验到自主探索的乐趣,这是一种典型的探究型教学方法,可以让学生初步了解如何独立开展研究,解决实际问题。

2实验设计

2.1实验过程和要求

实验过程包括教师和学生两部分,如图1所示,教师部分以双线框表示,学生部分以单线框表示,整个过程分为实验内容选择、任务分配、实验方案设计、实验环境建立、测试运行、数据收集、分析总结、演示答辩、评价反馈、实验报告撰写、对提交的报告评分等环节。

实验的总体要求是学生按照教师给出的问题叙述,利用课程学习到的知识,在教师指导下自主完成实验方案设计和运行测试,提交的成果是综合实验报告,报告内容包括背景说明、方案设计、实验环境、测试过程、数据分析、实验结论、体会和收获等。实验一般要求利用常见的大型关系数据库,通过开发实现测试程序,调整参数,测试相关因素对数据库性能的影响。除了综合实验报告外,还可以要求学生提交详细的测试程序代码和文档。

2.2实验内容设计

以下给出几个具体的性能调优实验内容,进一步说明实验的要求,当然这样的实验有很多,可以结合具体的教学内容进行选择。

1) 缓冲区大小对数据库性能的影响。

数据缓冲区是在内存中设置的一块区域,为事务处理提供共享数据,引入缓冲区希望达到的一个主要目标就是减少对磁盘等二级存储的物理存取,事务在内存中读取数据的命中率很大程度上取决于缓冲区的大小,所以缓冲区大小是数据库系统的一个重要参数,是需要在应用系统运行中重点考虑的因素之一。在数据库实例运行的不同时期,数据缓冲区对物理内存的需求是不同的,当工作负载较大时,较小的数据缓冲区会造成频繁的I/O换页操作;当工作负载较小时,较大的数据缓冲区会造成物理内存的闲置,因此合理设置缓冲区大小,对数据库性能有较大影响。这个实验的目的是让学生充分理解缓冲区的概念和原理,并学会如何在实际应用中选择合理的缓冲区大小。

要求设计多组数据库应用,分别模拟高、低负载等多种情况,测试这些应用在不同大小缓冲区下的性能变化,性能指标可以选取吞吐量和响应时间。最好的策略是不断增加缓冲区大小,直到性能不再随缓冲区的增大而提高,从而找出最佳的缓冲区大小。实验可以采用Oracle、SQL Server或MySQL等数据库管理系统,这些数据库都提供了调整缓冲区大小的功能。

2) 规范化对查询性能的影响。

在数据库表设计中,要综合考虑应用需求、规范化、存储空间、事务处理性能等因素,一个良好的设计是多种因素的平衡。在表设计中规范化的要求一般是要达到3NF或BCNF,但有时逆规范化会带来性能的提升,例如以下两种表设计(表来自于TPC-C基准测试,做适当简化),设计1符合BCNF要求,占用存储空间少,但对于“查询在某城市购买的所有零件”,设计2在性能上要优于设计1。

模式设计1:

Customer(C_ID, C_NAME, C_CITY)

Order(O_ID, C_ID, O_DATE)

Order_Line(O_ID, ITEM_NAME, ITEM_QUANTITY, ITEM_AMOUT)

模式设计2:

Customer_Order(C_ID, C_NAME, C_CITY, O_ID, O_DATE, ITEM_NAME, ITEM_QUANTITY, ITEM_AMOUT)

实验的要求是针对不同的表设计,包括采用逆规范化、垂直划分等方法,考察在不同应用需求环境下,存储空间、性能等的差别,并在实践基础上总结出应用开发中表设计应该遵循的一些基本原则和方法。

3) 索引对查询性能的影响。

索引是提升数据库查询性能的重要手段。实验中,要求学生设计多种不同的索引场景来研究索引对数据库查询性能的影响:(1)没有索引的场景;(2)在查询属性上建立单属性索引的场景;(3)在查询语句涉及的多个属性上建立复合属性索引的场景。

学生可以通过数据库管理系统工具,考察在不同索引场景中的查询执行计划,并探究针对某个特定查询的优化索引方案。

3讨论分析

我们在数据库系统原理课程教学中进行了性能调优实验的实践,学生反映普遍很好,取得了预期的效果。根据在具体教学过程中反馈的意见,选择性能调优实验还需注意以下一些问题:

1) 性能调优实验较适合于计算机相关专业的本科生,尤其是开展探究型教学改革的课程。性能调优是数据库系统的一项复杂工作,涉及到多方面的知识,学生除掌握数据库基础知识外,还需对操作系统、硬件等有一定的了解,另外还要求学生有较高的实验方案设计能力,综合的计算机实践能力,不适合初学者。

2) 要结合学生的具体情况设计合适的性能优化实验,这需要教师对性能调优实验的难易程度有较高的掌控,充分了解学生的实际情况,包括已学习过的其他课程情况。性能调优实验有难有易,可以针对不同的学习层次和要求进行选择,做到循序渐进,既不能让学生感到问题太难而无所适从,又要有一定的难度,让学生通过实际操作提高计算机实践能力。

3) 教师在进行实验评分时要根据实验小组内每个成员的情况区分对待。由于性能调优实验需要发挥学生的综合能力,比较适合于2~4人的小组协作完成,同时还可以培养团队精神,但在评分时也要考虑到一个小组内不同人的贡献是不一样的,甚至还会出现有些小组的成员完全不出力的情况,防止这种情况的比较好的方法是教师在实验过程中要与学生密切沟通,了解真实情况。另外在实验过程中还要设置演示答辩环节,每个小组进行20分钟的汇报,讲解设计方案和结论,汇报分工和合作情况,教师进行质询和点评等,可以指定小组内某个成员回答,这样一方面通过反馈意见促进学生进一步完善实验成果,另一方面也减少抄袭、出工不出力的情况。

4结语

以前的数据库系统原理实验中,都较多地采用小型数据库管理系统实现、应用开发、SQL语言等实验,我们采用性能调优作为数据库课程实验,结合探究型教学方法,在实验过程中,学生在教师的指导下,独立设计实验方案,自主分析和解决问题,有效地提高了学生的综合动手能力,在实践教学中取得了很好的效果。进一步的工作包括优化实验过程、设计更多更完善的实验素材等。

参考文献:

[1] 王珊. 数据库课程教学改革:面向21世纪课程教材与国家精品课程[J]. 中国大学教学,2006(4):14-17.

[2] Dennis Shasha,Philippe Bonnet. Database Tuning Principles, Experiments, and Troubleshooting Techniques[M]. San Fransisco:Morgan Kaufmann Publishers Inc.,2002:1-8.

Design and Practice of Performance Tuning Experiments in the

Course of Database System Principles

LIN Huai-zhong, SUN Jian-ling, ZHOU Bo, CHEN ling

(College of Computer Science and Technology, Zhejiang University, Hangzhou 310027, China)

数据库课程设计报告范文第5篇

Abstract: Through the analysis of student course lab report submission system, using MYSQL as the database development environment and PHP as the development language, the B/S system integrating teacher management, curriculum management, student lab report compiling, submission, query, correction and performance management, and other functions is realized. This paper describes the function module design and system architecture of the curriculum lab report submission system in detail.

关键词: 实验报告;在线提交;批改

Key words: lab report;online submission;correcting

中图分类号:TP393.0 文献标识码:A 文章编号:1006-4311(2016)21-0065-03

0 引言

随着高等学校教学向网络化发展,学生撰写实验报告以及教师批改实验报告的自动化也变得越来越有必要。实验报告提交系统为高校师生提供了一个实验报告网上提交和批改平台,它既方便了老师布置和批改实验报告,也可以使学生在上机的时候就能够在线提交实验报告,对实验结果进行保存。本文根据实验教学的特点,构建一个在线实验报告系统。

1 系统框架

本系统采用zend studio作为开发环境和工具,PHP作为开发语言,Mysql作为数据库, Web 服务器采用Linux系统,Apache作为服务器架构,实现信息的管理和。系统框架结构如图1所示。

LAMP所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,与微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。

2 系统功能设计

2.1 功能总体设计

本系统使用者角色有管理员,教师和学生,所以系统分为三个子模块:为学生用户提供的学生系统模块、为教师用户提供的教师系统模块、为管理员用户提供的系统管理员模块。每个用户登录有自己相应的权限,系统功能结构图如图2所示。

2.2 学生系统模块

学生进入实验报告提交系统前,必须先通过身份验证,验证成功,才能进行其他操作。系统设置的权限的限制设置可以保证系统的安全性,用户可以根据自己的权限得到相应的操作界面,得到权限内的数据,如图3所示。

①未完成实验报告提交:老师布置实验作业后,学生查看实验报告必须要在老师限定时间内,提供实验报告,这样老师才能通过系统查看学生提交实验报告,并提交成绩,学生才能查看自己的成绩。实验报告提交期限过后,系统自动设置为不可提交。

②超时实验报告查询:在老师限定时间内没完成的报告作业会在此处显示,并且不能提交。

③已完成实验报告查询:老师批改完成的实验报告会在此处显示,学生可以查看分数并且能导出实验报告。

④个人信息管理:学生可以在此处修改密码。

2.3 教师系统模块

教师进入系统后,可以布置实验报告,查看实验报告、批改实验报告并登录成绩,如图 4所示。

①布置实验任务:老师布置实验作业,学生在需要在截止日期前完成。②批改实验报告:学生提交实验报告后,老师批改作业,打分并写下评语。③查询并导出学生成绩:老师批改完成作业后,可以查看实验报告,将成绩导出成excel表保存。④导入学生信息:老师能将存储在excel表中的学生信息导入到数据库。⑤导出学生信息:老师能将数据库中批改的报告导出成excel表。

2.4 系统管理员模块

系统管理员进入系统后,可以进行学生管理、教师管理、课程管理、个人信息管理数据库管理等权限,如图5所示。

①课程管理:管理员能够添加课程,删除课程。②学生管理:管理员能够添加学生,删除学生。③教师管理:管理员能够增加老师,删除老师。④个人信息管理:管理员能修改自己的密码。⑤数据库管理:管理员能维护数据库。

3 关键技术

3.1 基于 B /S的架构

该系统是一个典型的基于 Web的应用,所以采用了流行的 B/S架构来实现。在 B/S架构中,用户界面、应用程序和数据管理分开,有利于充分发挥各端的优势,客户端只需安装能够浏览网页的 Web浏览器即可访问服务器,运行应用程序,与其主机的体系结构无关,当应用程序改变时,不需要对客户端进行更新或重新安装,整个体系结构灵活、 便于扩展、伸缩性好 。

3.2 实验报告提交时限的设置

本系统规定了学生提交实验报告的最后时限,如果学生超过教师规定提交实验报告的最后时限,则不能提交,但可以看到教师给出的评语和分数。本系统在releaseassignment表中设置了最后时限的字段,当学生访问时,取到作业时,将最后时限字段的值与服务器时间比较,如果超过时限,则将写实验报告的放置到超时作业中;若未超过时限,学生可以点击未完成作业上交,系统查询出学生未提交的报告显示,其功能界面如图6所示。

3.3 导入导出文档

通过phpexcel和phpword开源框架,老师可以导入学生的信息,导出学生的成绩。方便了老师统计学生的成绩。

4 结束语

通过使用本系统,学生提交实验报告的时间由原来的一周缩短到两小时,同时还避免了催交实验报告的现象(因为在规定的时间内不提交,系统就会自动停止本次实验报告的提交);教师批改是实验报告的时间由原来的一周缩短为两小时,而且还不受地点的影响(只要有网络就可以随时批改);学生知道实验报告的评价情况由原来的两周甚至更长时间缩短到四小时。另外该系统能将学生实验报告存储和留档,方便统计和分析,也便于随时查询实验报告,为全面评价学生对实验知识的掌握提供一个客观依据。

参考文献:

[1]顾韵华, 李含光.数据库基础教程[M].电子工业出版社, 2014.

[2]软件开发技术联盟.PHP+MySQL开发实战[M].清华大学出版社,2013.

[3]黄凤良,徐明,吴文婷,夏春梅,冯丽,吴菲.实验报告自动生成系统设计[J].实验科学与技术,2011,9(1).

[4]贾梦瑶.基于 WEB 的开放式实验室管理系统的设计与实现[D].(硕士论文).电子科技大学,2014.