烟台南山学院商学院管理科学与工程系实训实习报告项目:数据库课程设计姓名:郭静专业:信息管理与信息系统班级:信息系统1201学号:201206011070指导教师:李海梅完成时间:2014-7-11填写说明:1、实训实习报告是学生实践课程的考核依据,类似于理论课程期末考试试卷,必须规范填写,按时上交,妥善保存。2、报告内容必须由学生依据实习内容独立或分组完成。3、实训实习报告采用A4纸张正反面打印,左侧双针装订。4、实训实习报告由指导老师处理完成后,与实训课程成绩表同时上交教学秘书分别存放相应层次档案室,以备检查。实训实习报告课程名称数据库课程设计课程代码实训地点67E401姓名郭静专业班级信息系统1201学号201206011070时间2014年6月30日一、实训目的:数据库课程设计实验是一门独立开设的实验课程。数据库课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。本课程设计实验主要围绕两方面内容:数据库设计和基本数据库编程实践。通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。1.掌握数据库设计的基本方法,熟悉数据库设计的步骤;2.通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;3.学习数据库应用系统开发方法。培养学生初步的软件设计能力,形成良好的编程风格。二、实训内容:(可根据内容增加或另附页)1.系统分析与数据库设计阶段(1)选择一个实际应用数据库系统的课题。建议通过社会调查获得用户需求,(2)进行系统需求分析和系统设计,写出系统分析和设计报告。(3)设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。2.应用程序设计阶段(1)完成数据库定义工作,实现系统数据的数据处理和数据录入。(2)实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性等功能,并针对具体课题问题提出解决方法。3.系统集成调试阶段对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。4.课程设计报告撰写阶段该阶段应完成以下文档资料的撰写:(1)课程设计的题目、系统的总功能和各子模块的功能。(2)系统的总功能和各子模块功能构成和描述。(3)E-R图、主要界面设计图、程序处理流程图等。(4)使用的数据库表结构的详细情况。(5)课程设计的总结,主要包括以下内容。课程设计中遇到的主要问题和解决方法。创新和得意之处。课程设计中存在的不足,需进一步改进的设想。课程设计的感想和心得体会。以上内容要求干净整洁,符合课程设计的要求和规范。实训题目1:长途汽车信息管理系统的设计与实现实训要求:1.需求分析1.1业务流程分析1.2信息要求:指用户需要从数据库中获得信息的内容与性质1.3处理要求:用户需要完成什么处理功能,对处理的响应时间有什么要求。(给出功能模块图)2.概念结构设计2.1基本流程图2.2E-R图3.逻辑结构设计3.1给出由E-R得到的关系模型:并注明转换过程中应用的规则,3.2建表3.3填写具体数据3.4建立视图4.数据库的实施和维护4.1按模块分析所编写的应用程序4.2给出截图(标明图号)做查询,插入,更新,删除功能5.写小结6.写明不足7.总结课程设计报告:1.需求分析1.1业务流程分析长途汽车信息管理系统运用在汽车站和火车站等车站部门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的依据。早期的长途汽车站信息主要是人工记录和人工管理的,不仅不容易记录,而且还不容易保存。随着计算机的不断普及和软件系统的不断发展加上信息系统开发的迫切需求,计算机长途汽车站信息管理系统应运而生了。随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,长途汽车站信息管理系统在人们的日常生活中发挥着越来越重要的作用。本系统实现了汽车线路信息,汽车信息,票务信息的查询和管理,满足人们的需求。1.2信息要求1.2.1用户管理用户以合法身份登入系统后,管理员可以进行系统用户的添加,密码的修改操作1.2.2汽车信息管理管理员可以在汽车信息管理模块实现对汽车信息的管理。管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作。管理员也可以在整个数据库中查寻相关汽车信息。汽车信息:包括汽车的种类及相应的票价、最大载客量等。1.2.3线路信息管理车站管理员可以在线路信息管理模块对车站线路信息进行管理。管理员首先建立汽车线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。管理员也可以通过本模块查询到所有需要查询的线路的详细信息。路信息,包括出发地、目的地、出发时间、所需时间等。1.2.4车票信息管理管理员可以在车票管理模块实现对线路车票信息的管理。管理员根据相应的汽车线路信息来设置相应的车票详细信息。当有新的线路添加的时候,要把相应的车票信息添加到数据库中,管理员还可以对某条线路的车票信息进行修改,删除和查询操作。票价信息:包括售票情况、查询、打印相应的信息。1.3处理要求长途汽车信息管理系统就是针对长途汽车站使用计算机对长途汽车的各种信息进行汇总和管理的一种现代化管理软件,为长途汽车站提供准确,快捷,科学的信息化管理方式,大大提高车站运营效率。根据信息需求分析可知,系统需要处理以下管理模块:,汽车信息管理模块,线路信息管理模块,车票信息管理模块模块功能分析:线路模块:用来管理汽车线路号、出发地、目的地、出发时间、所需时间。汽车模块:用来管理汽车编号、汽车的种类及相应的票价、最大载客量。车票模块:用来管理汽车种类、售票情况、查询、打印。管理员模块:用来管理汽车出发地、目的地。功能模块图总体图长途汽车信息管理系统汽车信息管理线路信息管理车票信息管理管理员信息汽车信息管理添加信息修改信息查询信息删除信息车票信息管理添加信息修改信息查询信息删除信息管理员信息管理添加信息修改信息查询信息删除信息线路信息管理添加信息修改信息查询信息删除信息2.概念结构设计流程图告知目的地开始询问最近一班车是否有票询问票价询问所需时间买票打印车票结束有询问下一班否2.1分E-R图2.1.1汽车信息E-R图2.1.2线路信息E-R图2.1.3车票信息E-R图汽车信息汽车种类票价最大载客量线路信息出发地目的地出发时间所需时间2.1.4管理员信息E-R图2.2总E-R图管理员信息管理员号出发地汽车种类票价车票信息售票情况车票查询打印相应车票3.逻辑结构设计1.1E-R图向关系模型转换线路信息表(出发地,目的地,出发时间,所需时间,汽车种类)汽车信息表(汽车种类,票价,最大载客量)车票信息表(售票情况,车票查询,打印相应车票)管理员信息表(管理员号,出发地,汽车种类,票价)3.2建立表3.2.1基本信息管理员线路信息车票信息汽车信息出发地打印相应的车票车票查询售票情况目的地出发时间所需时间最大载客量票价汽车种类车票信息表管理员信息表汽车信息表线路信息表3.2.2基本数据信息表车票信息表管理员信息表汽车信息表线路信息表3.3建立视图线路信息表(出发地,目的地,出发时间,所需时间,汽车种类)汽车信息表(汽车种类,票价,最大载客量)车票信息表(售票情况,车票查询,打印相应车票)管理员信息表(管理员号,出发地,汽车种类,票价)①创建视图createviewview_1asselect汽车种类,票价,最大载客量from汽车信息表createviewview_2asselect售票情况车票查询,打印相应车票from车票信息表createviewview_3asselect出发地,目的地,出发时间,所需时间,汽车种类from线路信息表createviewview_4asselect管理员号,出发地,汽车种类,票价from管理员信息表②视图的撤消dropviewview_1;③视图的查询select*fromview_3;select*fromview_2;④视图的更新insertintoview_1values(‘A’,’拥挤’’45’’30’);4.数据库的实施和维护4.1查询表4.1.1查询线路信息表select出发地,目的地,出发时间,所需时间,汽车种类from线路信息表where汽车种类=’C’;4.1.2查询汽车信息表select最大载客量,汽车种类,票价from汽车信息表where票价=‘80’;4.1.3查询管理员信息表select管理员号,出发地,汽车种类,票价from管理员信息表where管理员号=‘001’;4.1.4查询车票信息表select售票情况,车票查询,打印相应车票from车票信息表where打印相应车票=‘是’;4.2添加表插入汽车信息表insertinto汽车信息表values(E,65,40)插入线路信息表insertinto线路信息表values(‘龙口‘,’烟台‘,’2:00‘,’2‘,’F‘);插入管理员表insertinto管理员信息表values(006,龙口,F,65)4.3更新表更新车票信息表表update车票信息表set售票情况=售票情况‘无人‘where车票查询='否';更新线路信息表Set出发地='城都'Where所需时间='7';4.4删除表删除管理员信息表deletefrom管理员息表where管理员编号=’001’;删除车票信息表deletefrom车票信息表where售票情况='良好';结论:在此次数据库的实训中,我完成了对于长途汽车管理系统的需求分析,从中感到信息化的必要与不可逆的趋势。并且分出了不同的模块的所需要的不同的功能与完成的不同的任务。并且将需求分析归纳总结,将其转换为概念模型。了解其功能结构。并将概念模型转化为逻辑结构,分析其概念结构并优化将其转化为关系模式,建立数据库的图表,将数据组织入库,从而建立视图。在数据库中运行并通过SQL语句实现其功能。通过对整个程序的设计,让人学会怎样去做一件事情,尽管做得不太好,但是却知道怎样去利用一切可以利用的资源和寻求一切可能得到的帮助去解决问题,并且在解决问题的同时不断增加经验和心得体会,为以后的学习打下坚实的基础。不足:在此次数据库的实训中,虽然完成了一个数据库的建立,但是依然还是有很多的不足,尤其是在关系模式优化与数据库的运行与调试上,在功能的实现上都很很大的不足,程序过于简单,并且这是一个功能实现和数据处理都不完善的系统,与项目的设计要求之间有很大一段距离,只能说仅起到了示例的作用。该系统只完成了基本的需求功能,有一部分较为复杂的功能,在最初的设计阶段考虑过,但迫于自身水平有限等多方面原因,很多都没有实现。只能在以后不断地进行充实和完善。希望能够通过以后的更多的课程的学习,弥补我的不足,能够更加完善数据库的设计,将数据库中的很多功能真正的实现。二.实训总结:通过这两周的课程设计,在老师的精心指导下已经完成了该系统的基本功能,虽然功能设计还有缺陷,但是这是第一次通过自己的劳动获得的,以后随着知识的积累和经验的增长我相信我能设计出更好更符合用户的系统。在课程设计过程中,我们用到SQL2008设计的软件等。这些软件只是课堂上听老师介绍过,而并没有自己真正地接触过。曾经只是认为它们是多么的复杂。经过这次课程设计后,发现它们并不是那么难,而且还很简单。至少,我们的基础有了。我们对它们十分感兴趣。希望还有更多的这样课程设计来提高我们的学习。通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、表。几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识