资源描述
华科学院数据库课程设计 华科学院信息管理与信息系统专业 数据库课程设计报告 (2011/2012学年 第一学期)学生姓名: 学生班级: 信息管理092201H班 学生学号: 指导教师: 2012年 1月 5日22目 录第一章 课程设计的目的与意义11.1 课程设计的目的11.2 课程设计的意义11.3 设计内容21.3.1 需求分析21.3.2 概念结构设计21.3.3 逻辑设计21.3.4 数据库的实施2第二章 需求分析42.1 需求分析的任务42.2 需求分析的过程42.3 数据字典52.3.1 调查用户分析51. 旅客买票需求52. 列车系统管理需求53. 票务查询需求64. 售票员管理需求62.3.2 分析用户需求8第三章 概念结构设计93.1 概念结构设计的方法与步骤93.1.1概念结构设计的方法93.1.2概念结构设计的步骤103.2 数据抽象与局部视图设计103.3 视图的集成12第四章 逻辑结构设计134.1 ER图向关系模型的转换134.2 数据模型的优化134.3 数据库的物理设计14第五章 数据库的实施与运行165.1查询系统165.2 更新系统185.3 购票系统185.4 退票系统19结束语21参考文献22 第一章 课程设计的目的与意义1.1 课程设计的目的 数据库课程设计是数据库系统原理实践环节的及为重要的一部分.其目的 是: (1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER图; (2)培养学生能够应用数据库系统在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型; (3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用事务处理,存储过程,触发器以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突; (4)培养学生理论与实际相结合能力, 培养学生开发创新能力; (5)培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势; (6)提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。1.2 课程设计的意义 目前,我国在计算机应用、计算机软件和电子类相关专业的人才培养方面,取得了长足的发展,但同时也让我们深刻地感觉到缺乏实际开发设计项目的经验,不善与综合运用所学理论,对知识的把握缺乏融会贯通的能力.尤其是我们计算机专业大学生,由于缺乏具体项目经验,毕业之后普遍感到知识不能转化为能力。课程设计可以锻炼我们理论联系实际的能力,为今后工作做铺垫。信息时代已经来临,信息处理的利器计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效益。计算机已经成为人们生活不可却小的一部分。铁路票务管理是一件比较负责但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平及质量的大事情。随着经济的发展,交通运输越来越便捷,为了提高效率,减轻劳动强度,设计开发高效的铁路信息查询系统就显得颇为重要。火车售票管理中包含许多内容,有铁路乘客运输的运力问题,有订票管理问题等等。铁路信息查询系统是企业信息决策和管理的重要的组成部分,是一种典型的信息管理系统(MIS),其开发主要包括后台的数据库的建立、维护以及前端的相应应用程序的开发两个方面的内容,数据库的建立和维护主要要求其管理数据的一致性、完整性、安全性等特点,而前台的应用程序开发则要求做到各项功能要完备、操作要简便、易学易用等特点。本课程设计专门要解决这些问题,由于铁路火车票务管理的复杂性,本设计与开发也仅是一个尝试性的工作,但其中有很多重要的思想和方法,涉及一些重要的程序代码,对于研究开发该类程序的工程人员可以起一个抛砖引玉的作用。1.3 设计内容1.3.1 需求分析 需求分析的任务是准确了解并分析列车票务管理系统的需要和要求,弄清列车票务管理系统要达到的目标和实现的功能,得到数据字典和数据流图。1.3.2 概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模型(ER图)。先逐一设计ER图,然后集成得到的ER图,最后通过消除不必要的冗余,设计基本ER图。1.3.3 逻辑设计 逻辑设计的任务就是把概念设计阶段设计好的基本ER图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。首先按照ER图向数据模型转换的规则,将概念结构转换为DBMS所支持的数据模型;然后对数据模型进行优化,得到至少5个关系模式。1.3.4 数据库的实施 (1)表的建立 需要明确数据库需要建立多少表,以及每个表中所要包括的内容。在建立表的过程中。要对每个表进行字段属性的设置。 (2)表之间的关系的设置为数据库设置了不同的表之后必须告诉DBMS如何将这些信息合并在一起,因此要定义表之间的关系。(3)完成相关查询 包括已售出的列车票表信息,预订车票,售票,退票,车次查询,报表,列车管理功能,可以新增车次,修改车次和撤销车次等功能。 第二章 需求分析2.1. 需求分析的任务 随着旅游业的逐渐的成熟发达,铁路客运量大幅度的提高,各大省市的列车都显著的增加,这些都对列车票务管理系统提出了更高的要求,所以要不断的完善更新列车票务管理系统,提高列车售票系统的工作效率。随着科学的不断进步,计算机应用已经遍布整个社会的每个角落。目前社会正处于健保发展方兴未艾的时代,各火车站莫不兢兢业业地改善本身的体制或管理方式,以适应健保越来越严格的规范。列车在我国的人员流动、物资运输中占据着举足轻重的地位。全国有大量的人员通过搭乘火车到达目的地。而与火车的特殊性及可能经过多个城市,每个城市的车站可以出售此火车的车票。而且同一车站可能有多辆车经过。许多希望以最快的方式选择自己想来乘坐的那一趟列车。所以以人工的方式是不可能实现这种功能的。一种可行的方案是基于客户端服务器的体系结构。服务器为数据库系统,存储所有必要的信息。客户端通过连接到服务的应用程序快速、准确地完成相应的工作,通过网上订购,可以达到高效、便捷的购票。列车票务管理系统的实施,将会在一定程度上促进铁路客运生产力和生产关系的变革,增强市场竞争能力,提高铁路部门的工作效率,提升管理水平,减少劳动强度,方便广大旅客购票,有一定的社会和经济效益。2.2 需求分析的过程 列车票务管理系统是铁路运输业务管理的一项最基本业务。表面上看,它只是铁道运输业务的一个简单部分,但是它涉及的业务量很大,客户多,还涉及资金管理与客户服务等多发面,因此这项业务并不像看上去那么简单。过去传统的售票方式已不能满足现代铁路运输业务流量剧增的客观要求,本系统便是利用目前最先进,最新型的开发工具DB2开发一个列车票务管理系统,他能发片快捷的运用在火车业务的运营之中。列车在我国的人员流动,物资运输中占据举足轻重的地位。我国有大量的人员通过搭乘火车到达目的地。火车的特殊性是在于经过很多个城市,每个城市的车站可以出售此火车的车票。而且同一车站可能有多辆车经过。许多希望以最快的方式的选择出自己想做的那一趟车。所以以人工的方式是不可能实现这种功能。一种可行的方案是基于客户端服务器的体系结构。服务器为数据库系统,存储所有必要的信息。客户端通过连接到服务的应用程序快速准确的完成相应的工作。2.3 数据字典 以某列车票务管理系统为例,经过可行性分析和初步需求调查,抽象出该列车票务管理系统的业务流程图,如图2.1图2.1 业务流程图2.3.1调查用户分析 1. 旅客买票需求 (1)订票功能: 旅客可提前10天到各个站点查询并预定所需车票。 (2)退票功能: 旅客可随时退换所购车票。 (3)售票功能:发售的车票暗战速度快慢,分为特别快车,直达快车,普通快车。按照乘车的形式分为硬座票,软座票,硬卧票,软卧票等。 2. 列车系统管理需求 (1)添加功能:主要用来增加车次及相关信息。 (2)修改功能:主要是用来修改列车的发车和到达等相关信息。 (3)删除功能:删除已经不用的列车信息。 (4)加强客票信息管理与分析,提高坐席利用率,为铁道客运组织与管理工作提供辅助决策支持。 3. 票务查询需求 (1)站站查询功能:旅客根据始发站和终点站名查询到全国任意两站之间的所有车次,并且相应查询两站的距离公里数,票价,经过的时间和车次类型等各种信息。 (2)车次查询功能:旅客可根据具体车次查询到所需的相关信息。 (3)站名查询功能:旅客可根据具体站名查询到所需的相关信息。 4. 售票员管理需求 (1)统计功能: 统计售票员的日工作量及工作成绩。 (2)考勤功能:方便了铁道部门对售票员的考勤。图2.2 系统功能模块图 2.3.2 分析用户需求 经分析之后,本系统要用到六个基本表,列车信息总表,车票信息表,售票员信息表,售票信息表,退票信息表,车站信息表。数据结构定义如表1数据结构名含义说明组成列车信息总表定义所有列车的相关信息列车编号,车种,始发站,终点站,发时,到时,卧铺车厢数,里程,经过车站车票信息表定义了供旅客查询的现有列车车次有关信息车票编号,发站,到站,发时,到时,票价,车票类型座位类型,座位号,售票站名售票员信息表定义了售票员进入系统填入的登录信息工作证号,姓名,密码,车站名售票信息表定义了已售出及订出车票的有关信息车票编号,售票站名,售票时间,售票员工证号退票信息表定义旅客因某种原因退掉得车票车票编号,售票员工证号退票金额车站信息表定义了各车站站点的有关信息车站名,城市名,票数表1 数据结构定义第3章 概念结构设计3.1 概念结构设计的方法与步骤3.1.1概念结构设计的方法 本系统采用自底向上的概念结构设计方法,即首先定义各局部应用的概念结构,然后将他们集成起来得到全面概念模式。 如下为数据流图图3.1 列车票务系统数据流图3.1.2概念结构设计的步骤 概念结构设计可分为两个步骤: .抽象数据并设计局部视图。就是对需求分析阶段收集到的数据按照模型的要求进行分类,组织,形成实体的属性,便是实体的键,确定实体之间的联系类型,设计分ER图。 .集成局部视图,得到全局的概念结构。就是要将所有的分ER图综合成一个系统的总的ER图。3.2 数据抽象与局部视图设计按照列车票务管理系统设计局部ER图 图3.2列车管理的图图3.3 售票的图图3.4 订票的图图3.5 退票的图图3.6 售票员的ER图3.3 视图的集成图3.7 总体概念结构ER图第4章 逻辑结构设计4.1 ER图向关系模型的转换 将图3.5总体概念结构ER图转换成关系模型如下: 列车 (列车编号,车种,始发站,终点站,发时,到时,卧铺车厢数,里程,经过车站) 车票(车票编号,发站,到站,发时,到时,票价,车票类型座位类型,座位号,售票站名) 售票员(工作证号,姓名,密码,车站名) 车站 (车站名,售票员工作证号,城市名,所有省) 售票 (车票编号,售票站名,售票时间,售票员工证号) 订票 (车票编号,售票站名,订票时间,售票员工证号) 退票 (车票编号,售票员工证号,退票金额) 经过 (列车编号,车站名,里程,到时,发时)4.2 数据模型的优化 将转化的关系模式进行优化,最终达到第三范式 列车 (列车编号,车种,始发站,终点站,发时,到时,卧铺车厢数,里程,经过车站) 车票 (车票编号,发站,到站,发时,到时,票价,车票类型座位类型,座位号,售票站名) 售票员(工作证号,姓名,密码) 车站 (车站名,售票员工作证号,城市名,所有省)需分解为: 车站 (车站名,城市名,所有省) 工作 (车站名,售票员工作证号) 售票 (车票编号,售票员工证号) 订票 (车票编号,订票时间,售票员工证号) 退票 (车票编号,售票员工证号,退票金额) 经过 (列车编号,车站名,里程,到时,发时)4.3 数据库的物理设计模式:train字段名数据类型长度约束描述tridchar30主键列车编号trtychar20不为空车种trssvarchar50不为空始发站trsavarchar50不为空终到站trstdate8不为空发时tratdate8不为空到时trccInteger4不为空车厢数trscinteger4不为空卧铺车厢数trkminteger8不为空里程snamevarchar50外键经过车站模式:ticket字段名数据类型长度约束描述tiidchar8主键车票编号tissvarchar50不为空始发站tiasvarchar50不为空终到站tistdate8不为空发时tiatdate8不为空到时tiprdecimal9不为空票价titpchar10不为空座位类型titychar10不为空车票类型tinointeger10不为空座位号snamevarchar50外键售票站名模式:seller字段名数据类型长度约束描述slidchar50 主键工作证号slnavarchar50不为空售票员姓名slpavarchar50不为空登陆密码snamevarchar50外键经过车站名模式:station字段名数据类型长度约束描述snamevarchar50主键车站名scnavarchar50不为空城市名sprvarchar12不为空省份slidchar50外键售票员工作证号模式:sale字段名数据类型长度约束描述tiidchar8主键车票编号slidchar50外键工作证号snamevarchar50外键车站名sltidate8不为空售票时间模式:return字段名数据类型长度约束描述tiidchar8主键车票编号slidchar50外键工作证号returnpricedecimal9不为空退票金额 第5章 数据库的实施与运行5.1查询系统图5.1此为选择乘客后正确跳转到查询的界面图5.2 此为输入长沙到常德的站点查询后正确查询出的信息图5.3 此为输入1374车次后正确查询出的车次信息图5.4此为点击详细查询后正确输出的信息5.2更新系统图5.5此为未更新前显示信息图5.6此为插入1234车次后显示信息图5.7 此为删除1234车次后显示信息5.3购票系统图5.8此为输入站点,车次后过滤出的车次信息图5.9 此为在图十的基础上选择软座后显示的票价及剩余票数信息图5.10 此为点击确定购买后显示的信息,包括对剩余票数的更新信息5.4.退票系统图5.11 此为初始状态。图5.12 此为在输入与购票系统相同信息后输出的退还现 结束语对于此次课程设计我感慨颇多,从理论到实践,在整整两个星期的日子里,学到的很多理论知识,在这次课程设计实习中更具体的体现了出来,在实践过程中,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序,所以提高自己的实际动手能力和独立思考的能力是十分重要的。在设计的过程中遇到很多的问题,可以说得是困难重重,由于对以前所学过的知识理解得不够深刻,掌握得不够牢固。导致自己在程序设计过程中经常出错,致使程序无法运行或无法实现要求的步骤。还有很多是些小问题,这都是由于我粗心大意而造成的,所以我认识到设计程序一定要仔细,容不得丝毫的马虎和粗心大意。当然还有其他的问题,尤其是关于文件的操作,是我们最大的问题,不过,经过老师的讲解和改错之后,也开始懂得设计和运用了。参考文献1黄梯云、李一军.管理信息系统教程M.北京:高等教育出版社,2000(2002重印)2萨师煊,王珊.数据库系统概论教程M.北京:高等教育出版社,2000(2001重印)3孟小峰.开发数据库互连ODBC使用大全M.北京:清华大学出版社,19954沈磊,零售业的网络时代.上海财经大学工商管理学院学报(商业研究) N.2002年第5期5郑人杰、殷人昆.实用软件工程M.清华大学出版社.2003 6李泽建、许亮.浅析多媒体数据库技术的发展和展望N.昆明理工大学学报(理工版).2002年2月
展开阅读全文