列车票务系统数据库课程设计说明书.docx
《列车票务系统数据库课程设计说明书.docx》由会员分享,可在线阅读,更多相关《列车票务系统数据库课程设计说明书.docx(25页珍藏版)》请在冰豆网上搜索。
列车票务系统数据库课程设计说明书
摘要
铁路运输一直都是我国重要的经济命脉,而且由于我国是内陆国家,这铁路运输的意义就显得更加突出了,对于这样重要的一件事,当然需要良好的管理了。
经过几十年的发展,我国拥有总里程超过五万公里的铁路线,是世界上最大的铁路运输网之一。
而铁路客运服务在其中又占有非常重要的地位。
事实早就证明了使用计算机软件来辅助自己比单纯的人工处理手段高明的多,在这样的背景下,研究这样的课题的意义也就不言而明了。
一个大型的计算机管理系统必须有一个正确的设计指导思想,通过合理的选择数据结构,操作系统以及开发环境,构成一个完善的网络系统,才能充分发挥计算机信息管理优势。
在此背景下,本文论述了小型列车票务管理系统的设计与实现。
通过对各种数据库管理系统(DBMS)的模型分析,结合火车站售票查询的实际需求,同时本文还说明了列车订票管理系统的开发过程及各种技术细节。
本系统是适应时代发展的需要,提高管理的效率而开发设计的。
结合所要开发的系统的特点,此列车票务管理系统系统采用SQL语言进行编写,后台数据库在IBMDB2环境下运行。
整个系统力求做到操作简便、界面友好、灵活、实用和安全。
可实现现代化的集预定车票、售票、退票、查询及其他各种服务及功能,车站售票组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助数据库设计来进行现代化的信息管理。
系统运行结果证明,本文所设计的列车票务管理系统可以满足购票者、票务工作人员和票务系统管理员等几方面的需要。
关键词:
SQL语言;IBMDB2;数据库设计;列车票务管理系统
已售出的列车票表信息、列车管理功能、售票员登陆
第一章绪论
1.1课题简介
信息时代已经来临,信息处理的利器——计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。
采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效益。
在此背景下,本文论述了列车票务管理系统(的设计实现。
通过对各种数据库管理系统的模型分析,结合火车站票务销售查询过程的实际需求,同时本文还说明了火车订票管理系统的开发过程及各种技术细节。
本系统是适应时代发展的需要,提高管理的效率而开发设计的。
列车票务管理系统的主要任务,通过实现票务信息的计算机管理,以提高工作效率。
实现计算机管理的最佳技术就是数据库技术。
我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。
一个火车站售票信息管理系统应达到的目标是提供及时、广泛的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
考虑到售票员对售票事务起着直接的作用,所以我们讨论认为系统对售票员来进行管理是非常有必要的,所以在课程设计中加入了售票员登陆这一功能,只有售票员输入唯一的工作证号和正确的密码之后才能进行正常的售票工作,这样也方便了铁路部门对售票员的考勤和统计售票员的工作成绩.售票是以已有的列车资源为基础,在系统中有列车管理功能,可以新增车次,修改车次和撤消车次,这些选择可由已售出的列车票表信息提供参考。
系统根据已售票和已退票进行各种汇总,统计.
1.2设计目的
在当今社会,计算机占据了非常重要的位置,这些大部分都是通过使用软件而提高生产、管理效率来体现的。
本文研究的火车票售票系统正好就是这样性质的一个软件。
铁路运输一直都是我国重要的经济命脉,而且由于我国是内陆国家,这铁路运输的意义就显得更加突出了,对于这样重要的一件事,当然需要良好的管理了。
经过几十年的发展,事实早就证明了使用计算机软件来辅助自己比单纯的人工处理手段高明的多,在这样的背景下,研究这样的课题的意义也就不言而明了。
在以前,像售票这样的事,都是人工处理的,人工处理的缺点是显而易见的,成本大、处理的速度慢、出错的几率比较大,效率是很低的。
现在,在世界各国,火车售票使用的基本上都是员工操作计算机的模式,在这里,计算机主要是借助软件用来存储、更新数据的,并有统计帐目的功能。
严格的说,这并不是智能化,但是,这样的处理模式比已往的人工处理的好处显然还是很明显的,所有的数据都由数据库管理,可以随时动态的提取、存储数据,并可以将修改后的数据覆盖掉原有的数据;使用售票软件,虽然公司需要投入一定的资金,但同时却可以使处理速度成倍、成十倍的增加,使在固有的时间内能让尽量多的旅客办理完手续,增加了销售收入,而且可以减少员工数量,是公司更加精简;由于计算机是一种高精度的机器,所以使用计算机软件辅助后,出错的几率也就变得非常低了。
1.3设计内容
1.需求分析
需求分析的任务是准确了解并分析列车票务管理系统的需要和要求,弄清列车票务管理系统要达到的目标和实现的功能,得到数据字典和数据流图。
2.概念结设计
将需求分析得到的用户需求抽象为信息结构即概念模型(ER图)。
先逐一设计ER图,然后集成得到的ER图,最后通过消除不必要的冗余,设计基本ER图。
3.逻辑设计
逻辑设计的任务就是把概念设计阶段设计好的基本ER图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
首先按照ER图向数据模型转换的规则,将概念结构转换为DBMS所支持的数据模型;然后对数据模型进行优化,得到至少5个关系模式。
4.数据库的实施
(1)表的建立
需要明确数据库需要建立多少表,以及每个表中所要包括的内容。
在建立表的过程中。
要对每个表进行字段属性的设置。
(2)表之间关系的设置
为数据库设置了不同的表之后必须告诉DBMS如何将这些信息合并在一起,因此要定义表之间的关系。
(3)完成相关查询
包括已售出的列车票表信息、预定车票、售票、退票、车次查询、报表、列车管理功能,可以新增车次,修改车次和撤消车次等功能。
第二章需求分析
2.1需求分析的任务
随着旅游业的逐渐的成熟发达,铁路客运量大幅度的提高,各大省市的列车都显著的增加,这些都对列车票务管理系统提出了更高的要求,所以要不断的完善更新列车票务管理系统,提高列车售票系统的工作效率。
随着科学的不断进步,计算机应用已经遍布整个社会的每个角落。
目前社会正处于健保发展方兴未艾的时代,各火车站莫不兢兢业业地改善本身的体制或管理方式,以适应健保越来越严格的规范。
列车在我国的人员流动、物资运输中占据着举足轻重的地位。
全国有大量的人员通过搭乘火车到达目的地。
而与火车的特殊性及可能经过多个城市,每个城市的车站可以出售此火车的车票。
而且同一车站可能有多辆车经过。
许多希望以最快的方式选择自己想来乘坐的那一趟列车。
所以以人工的方式是不可能实现这种功能的。
一种可行的方案是基于客户端服务器的体系结构。
服务器为数据库系统,存储所有必要的信息。
客户端通过连接到服务的应用程序快速、准确地完成相应的工作。
列车票务管理系统的实施,将会在一定程度上促进铁路客运生产力和生产关系的变革,增强市场竞争能力,提高铁路部门的工作效率,提升管理水平,减少劳动强度,方便广大旅客购票,有一定的社会和经济效益。
2.2需求分析的过程
列车票务管理是铁路运输业务管理的一项最基本业务。
表面上看,它只是铁路运输业务的一个简单部分,但是它涉及的业务量大、客户多,还涉及资金管理与客户服务等多方面,因此这项业务关不像看上去那么简单。
过去传统的售票方式已不能满足现代铁路运输业务流量剧增的客观要求,本系统便是利用目前最先进、最新型的开发工具DB2开发一个列车票务管理系统。
它能方便快捷地运用在火车业务的营运之中。
列车在我国的人员流动、物资运输中占据着举足轻重的地位。
全国有大量的人员通过搭乘火车到达目的地。
而与火车的特殊性及可能经过多个城市,每个城市的车站可以出售此火车的车票。
而且同一车站可能有多辆车经过。
许多希望以最快的方式选择自己想来乘坐的那一趟列车。
所以以人工的方式是不可能实现这种功能的。
一种可行的方案是基于客户端服务器的体系结构。
服务器为数据库系统,存储所有必要的信息。
客户端通过连接到服务的应用程序快速、准确地完成相应的工作。
2.3数据字典
以某列车票务管理系统为例,经过可行性分析和初步需求调查,抽象出该列车票务管理系统的业务流程图,如图2.1所示。
下面,结合该实例具体情况,给出对旅客、车票查询,列车管理处和售票员管理的具体需求。
图2.1某校新生入学管理业务流程图
⑴调查用户需求
①旅客购票需求
●订票功能:
旅客可提前10天到各个站点查询并预定所需车票。
●退票功能:
旅客可随时退换所购车票
●售票功能:
发售的车票按照速度快慢,分为特别快车,直达快车,普通快车。
按照乘车的形式分为硬座票,软座票,硬卧票,软卧票等。
②列车系统管理需求
●添加功能:
主要用来增加车次及相关信息。
●修改功能:
主要是用来修改列车的发车和到达等相关信息。
●删除功能:
删除已经不用的列车信息。
●加强客票信息管理与分析,提高座席利用率,为铁路客运组织与管理工作提供辅助决策支持。
③票务查询需求
●站站查询功能:
旅客可根据始发站名和终到站名查询到全国任意两站之间的所有车次,并且相应查询出两站的距离公里数、票价、经过的时间和车次类型等各种信息。
●车次查询功能:
旅客可根据具体车次查询到所需的相关信息。
●站名查询功能:
旅客可根据具体站名查询到所需的相关信息。
④售票员管理需求
●统计功能:
统计售票员的日工作量及工作成绩。
●考勤功能:
方便了铁路部门对售票员的考勤。
⑵分析用户需求
在详细调查了用户需求之后,就要开始分析用户需求。
在此,我们采用自顶向下的结构化分析方法(SA方法)。
首先,定义全局概念结构的框架,如图2.2所示。
图2.2列车票务管理系统总框架图
对各子系统进行进一步细化。
如下各图所示。
图2.3列车管理子系统的细化
图2.4车次查询子系统的细化
图2.5售票/订票/退票子系统的细化
图2.6售票员管理子系统的细化
以其中的售票功能为例进一步细化,如图2.7所示。
图2.7售票功能
依此类推,将所有子系统全部细化。
将所有用户需求分析完毕之后,就要开始构造数据字典了。
经分析之后,本系统要用到六个基本表:
列车信息总表、车票信息表、售票员信息表、售票信息表、退票信息表和车站信息表。
数据结构定义如表2.1所示。
数据结构名
含义说明
组成
列车信息总表
定义了所有列车的有关信息
列车编号,车种,始发站,终到站,发时,到时,车厢数,里程,卧铺车厢数,经过车站
车票信息表
定义了供旅客查询的现有列车车次有关信息
车票编号,发站,到站,发时,到时,票价,车票类型,座位类型,座位号,售票站名
售票员信息表
定义了售票员进入系统是填入的登陆信息
工作证号,姓名,密码,车站名
售票信息表
定义了已售出及订出的车票的有关信息
车票编号,售票站名,售票时间,售票员工作证号
退票信息表
定义了旅客因某种原因退掉的车票
车票编号,售票员工作证号,退票金额
车站信息表
定义了各车站站点的有关信息
车站名,城市名,票数
表2.1数据结构定义
第三章概念结构设计
3.1概念结构设计的方法与步骤
3.1.1概念结构设计的方法
本系统采用自底向上的概念结构设计方法。
即首先定义各局部应用的概念结构,然后将它们集成起来得到全局概念模式。
3.1.3概念结构设计的步骤
概念结构设计可分为两个步骤:
1、抽象数据并设计局部视图。
就是对需求分析阶段收集到的数据按照ER模型的要求进行分类、组织,形成实体的属性,标识实体的键,确定实体之间的联系类型,设计分ER图。
2、集成局部视图,得到全局的概念结构。
就是要将所有的分ER图综合成一个系统的总ER图。
3.2数据抽象与局部视图设计
按照图2.2列车票务管理系统总框架图,设计局部ER图。
3.3视图的集成
描述进行视图集成的具体过程,最后得到图2.8总体概念结构ER图。
图2.8总体概念结构ER图
第四章逻辑结构设计
4.1ER图向关系模型的转换
将图2.8总体概念结构ER图转化成关系模型如下:
列车(列车编号,车种,始发站,终到站,发时,到时,车厢数,卧铺车厢数,里程,经过车站)
车票(车票编号,发站,到站,发时,到时,票价,车票类型,座位类型,座位号,售票站名)
售票员(工作证号,姓名,密码,车站名)
车站(车站名,售票员工作证号,城市名,所在省)
售票(车票编号,售票站名,售票时间,售票员工作证号,)
订票(车票编号,售票站名,订票时间,售票员工作证号,)
退票(车票编号,售票员工作证号,退票金额)
经过(列车编号,车站名,里程,到时,发时)
4.2数据模型的优化
将转化的关系模式进行优化,最终达到第三范式。
列车(列车编号,车种,始发站,终到站,发时,到时,车厢数,卧铺车厢数,里程,经过车站)
车票(车票编号,发站,到站,发时,到时,票价,车票类型,座位类型,座位号,售票站名)
售票员(工作证号,姓名,密码)
车站(车站名,城市名,所在省,售票员工作证号)需分解为:
车站(车站名,城市名,所在省)
工作(车站名,售票员工作证号)
售票(车票编号,售票员工作证号)
订票(车票编号,售票员工作证号,订票时间)
退票(车票编号,售票员工作证号,退票金额)
经过(列车编号,车站名,到时,发时,里程)
4.3数据库的结构
给出数据库基本表总体结构图。
(如下图,下图为DB2实验总体结构图)
图4.1各表的结构
根据总体结构图设计各表的结构。
表41图书信息表的结构
模式:
train
字段名
数据类型
长度
约束
描述
trid
char
30
主键
列车编号
trty
char
20
不为空
车种
trss
varchar
50
不为空
始发站
trsa
varchar
50
不为空
终到站
trst
date
8
不为空
发时
trat
date
8
不为空
到时
trcc
Integer
4
不为空
车厢数
trsc
integer
4
不为空
卧铺车厢数
trkm
integer
8
不为空
里程
sname
varchar
50
外键
经过车站
模式:
ticket
字段名
数据类型
长度
约束
描述
tiid
char
8
主键
车票编号
tiss
varchar
50
不为空
始发站
tias
varchar
50
不为空
终到站
tist
date
8
不为空
发时
tiat
date
8
不为空
到时
tipr
decimal
9
不为空
票价
titp
char
10
不为空
座位类型
tity
char
10
不为空
车票类型
tino
integer
10
不为空
座位号
sname
varchar
50
外键
售票站名
模式:
seller
字段名
数据类型
长度
约束
描述
slid
char
50
主键
工作证号
slna
varchar
50
不为空
售票员姓名
slpa
varchar
50
不为空
登陆密码
sname
varchar
50
外键
经过车站名
模式:
station
字段名
数据类型
长度
约束
描述
sname
varchar
50
主键
车站名
scna
varchar
50
不为空
城市名
spr
varchar
12
不为空
省份
slid
char
50
外键
售票员工作证号
模式:
sale
字段名
数据类型
长度
约束
描述
tiid
char
8
主键
车票编号
slid
char
50
外键
工作证号
sname
varchar
50
外键
车站名
slti
date
8
不为空
售票时间
模式:
return
字段名
数据类型
长度
约束
描述
tiid
char
8
主键
车票编号
slid
char
50
外键
工作证号
returnprice
decimal
9
不为空
退票金额
第五章数据库的实施与运行
5.1数据的载入
录入的结果,抓图,每个表一个图。
5.2数据库的运行
抓一些查询结果的界面,至少五个,对每个查询的图,写出相应得查询语句。
总结
通过这次课程设计,我更加熟练的掌握了使用了数据库应用系统进行系统开发及设计的方法,加深了对数据库课程知识的理解,同时也更加深入的了解了利用SQL语言操纵数据库的知识,并且对数据库里面的存储过程有了比较深入的了解。
经过几天的艰苦奋斗,我终于完成了我的数据库课程设计基于DB2的列车票务管理系统。
进一步提高分析解决问题的综合能力。
由于时间仓促,系统还有很多不足之处,所以开发的系统不是很完善,有一些功能未实现,但是列车票务管理的基本功能均已实现。
以前对数据库的很多知识认识都不深刻,做过这次课程设计之后,我对数据库的知识有了一个比较系统的了解;比如:
对表内一些字段的约束,关系等的运用已经比较熟练。
由于是第一次使用,所以运用的不是很熟练。
刚开始的时候,对于数据库设计方法等一系列知识都不熟悉,但当我基本完成此系统开发的时候,我发现其实也没有那么难,在未做之前我还害怕做不出来。
经过对这个系统的开发,在开发过程中遇到但也解决了很多问题。
这个课程设计使我巩固了数据库的知识。
在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己的不足之处。
参考文献
[1]丁宝康《数据库原理》.经济科学出版社.
[2]王珊,陈红·数据库系统原理教程·清华大学出版社,1998,7
[3]萨师煊,王珊.数据库系统概论[M].北京:
高等教育出版社,2000.05
[4]冯玉才《数据库系统基础》华中科技大学出版社
[5]邝孔武.管理信息系统分析与设计[M].西安:
西安电子科技大学出版社,1995.12
[6]陶宏才《数据库原理及设计》清华大学出版社
[7]施佰康<<数据库教程>>
要求:
按如上格式,至少5个4000字