收藏 分销(赏)

车站与火车站车票售票系统数据库课程设计.docx

上传人:天**** 文档编号:3674855 上传时间:2024-07-13 格式:DOCX 页数:22 大小:990.89KB 下载积分:10 金币
下载 相关 举报
车站与火车站车票售票系统数据库课程设计.docx_第1页
第1页 / 共22页
车站与火车站车票售票系统数据库课程设计.docx_第2页
第2页 / 共22页


点击查看更多>>
资源描述
目录 一.概述 3 二 .系统需求分析 4 2.1业务需求分析 4 2.2功能需求 4 2.3数据字典 5 三. 概念模型设计 8 3.1 概念结构设计的方法与步骤 8 3.1.1 概念结构设计的方法 8 3.1.2 概念结构设计的步骤 8 3.2 数据抽象与局部视图设计 8 3.3 视图的集成 10 四。逻辑模型设计 11 4.1 E-R图向关系模型的转化 11 4.2 数据模型的优化 12 4.3 数据库表格设计 12 五。物理模型设计 14 六.关键业务逻辑的存储过程实现 15 6.1 创建数据库 15 6.2 在数据库‘火车站车票售票系统0301’下建表 16 6.3 存储过程的实现 18 6.3.1 按站站查询: 18 6.3.2 查询旅客购票信息: 19 6.3.3 增加一趟列车: 19 6.3.4 关键业务逻辑的实现 21 七。课程设计总结 24 概述 随着国民经济快速发展, 人们出行、交通越来越频繁, 对服务的快捷、便利性要求也越来越高。从而对客运行业的建设与管理提出了更高的要求。为适应和推动客运行业的发展, 各种交通公司和部门开始广泛采用使用日趋成熟的计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。这些优点能够极大地提高信息管理和业务管理的效率。 本火车站售票系统正是通过数据库存储信息实现高效率管理。该实验设计首先进行需求分析,然后在需求文档的指导下实现系统的功能,如操作员的信息管理功能及旅客的火车信息查询、订票、退票等功能,最终实现的是旅客购得一张自己满意的票券,同时力求通过数据库系统及计算机在其中的运用达到提高工作效率,节约人力资源的效果。 系统需求分析 在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统,使整个系统的功能更加详细易于理解,同时易于实现系统的整体设计。本系统所能实现的功能: 1、 实现对车次的删除和车次基本信息的添加。 2、 实现售票的基本管理。 3、 实现对车次基本信息的查询。 2.1业务需求分析 从实际角度出发,对于用户要提供方便快捷的车票查询和购票服务,对于车站工作人员,则是要能够方便明朗的对车次信息进行增删修改操作和售票操作,提高车次的编组效率,使车次资源得到充分利用,并可以提高车票的出售效率,降低工作人员的工作量。 2.2功能需求 在数据操作界面需要有售票员登录窗口和车次信息操作窗口,这需要有实现售票员登录的功能和车次查询、添加、车票出售的功能。这是火车站售票系统的基本功能,只有实现了这几个功能一个火车站售票系统才能开始运作,在本系统中实现了售票员的登录和车票的基本信息操作。 表2.1 功能列表 1 编号 功能名称 功能说明 1 售票员登录 售票员输入用户名和密码登录系统 2 列车系统管理 添加车次、删除车次、修改车次 3 旅客购票 订票、购票、退票 4 票务查询 站站查询、车次查询、站名查询 具体需求描述: ① 售票员管理需求 l 授权功能:只有登录账号和密码合格的售票员才能进入售票系统。 l 考勤功能:方便了铁路部门对售票员的考勤。 ② 列车系统管理需求 l 添加功能: 主要用来增加车次及相关信息。 l 修改功能:主要是用来修改列车的发车和到达等相关信息。 l 删除功能:删除已经不用的列车信息。 ③ 旅客购票需求 l 订票功能:旅客可提前10天到各个站点查询并预定所需车票。 l 退票功能:旅客可随时退换所购车票。 l 购票功能:发售的车票按照速度快慢,分为特别快车,直达快车,普通快车。按照乘车的形式分为硬座票,软座票,硬卧票,软卧票等。 ü 票务查询需求 l 站站查询功能:旅客可根据始发站名和终到站名查询到全国任意两站之间的所有车次,并且相应查询出两站的距离公里数、票价、经过的时间和车次类型等各种信息。 l 车次查询功能:旅客可根据具体车次查询到所需的相关信息。 l 站名查询功能:旅客可根据具体站名查询到所需的相关信息。 2.3数据字典 经过可行性分析和初步需求调查,抽象出该火车站车票售票系统的业务流程图,如图2.1所示: 图2.1 售票业务流程图 1 根据功能列表和业务流程图,开始分析用户需求。在此,采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示: 图2.2 火车站车票售票系统总框架图 1 对各子系统进一步细化,如下各图所示: 图2.3 列车管理子系统细化 1 图2.4 列车查询子系统细化 1 图2.5 售票/订票/退票子系统细化 1 将所有子系统全部细化。将所有用户需求分析完毕之后,开始构造数据字典。 经分析,本系统要用到七个基本表:列车信息总表、车票信息表、售票员信息表、旅客信息表、售票信息表、退票信息表和车站信息表。数据结构定义如表2.2所示。 表2.2 数据结构定义 1 数据结构名 含义说明 组成 列车信息总表 定义所有列车的相关信息 列车编号,车种,始发站,终点站,发时,到时,卧铺车厢数,里程,剩余票数,经过车站 车票信息表 定义了供旅客查询的现有列车车次有关信息 车票编号,发站,到站,发时,到时,票价,座位类型,座位号,售票站名 售票员信息表 定义了售票员进入系统填入的登录信息 工作证号,姓名,密码,车站名 售票信息表 定义了已售出及订出车票的有关信息 车票编号,售票站名,售票时间,旅客身份证号 退票信息表 定义旅客因某种原因退掉的车票 车票编号,旅客身份证号 退票金额 车站信息表 定义了各车站站点的有关信息 车站名,城市名,省份 旅客信息表 定义了旅客的基本信息及所购车票信息 旅客姓名,身份证号, 概念模型设计 3.1 概念结构设计的方法与步骤 3.1.1 概念结构设计的方法 本系统采用自底向上的概念结构设计方法。即首先定义各局部应用的概念结构,然后将它们集成起来得到全局概念模式。 3.1.2 概念结构设计的步骤 概念结构设计可分为两个步骤: 1、抽象数据并设计局部视图。就是对需求分析阶段收集到的数据按照E-R模型的要求进行分类、组织,形成实体的属性,标识实体的键,确定实体之间的联系类型,设计分E-R图。 2、集成局部视图,得到全局的概念结构。即将所有的分E-R图综合成一个系统的总E-R图。 3.2 数据抽象与局部视图设计 按照图2.2列车票务管理系统总框架图,设计局部E-R图: 图3.1 列车管理E-R图 1 图3.2 售票E-R图 1 图3.3 退票E-R图 2 图3.4 订票E-R图 图3.5 售票员E-R图 图3.6 旅客E-R图 1 3.3 视图的集成 将局部E-R图集成为全局E-R图并优化,如图3.7所示: 图3.7 总体概念结构E-R图 逻辑模型设计 4.1 E-R图向关系模型的转化 将图3.6总体概念结构E-R图转化成关系模型如下: 列车(列车编号,车种,始发站,终到站,发时,到时,车厢数,卧铺车厢数,剩余票数,里程,经过车站) 车票(车票编号,发站,到站,发时,到时,票价,座位类型,座位号,售票站名) 售票员(工作证号,姓名,密码,车站名) 旅客(身份证号,姓名,车票编号) 车站 (车站名,售票员工作证号,城市名,所在省) 购票 (车票编号,售票站名,购票时间,旅客身份证号) 订票 (车票编号,售票站名,订票时间,旅客身份证号) 退票 (车票编号,旅客身份证号,退票金额) 经过 (列车编号,车站名,到时,发时,里程) 4.2 数据模型的优化 将转化的关系模式进行优化: 列车(列车编号,车种,始发站,终到站,发时,到时,车厢数,卧铺车厢数,剩余票数,里程,经过车站) 车票(车票编号,发站,到站,发时,到时,票价,座位类型,座位号,售票站名) 售票员(工作证号,姓名,密码) 旅客(身份证号,姓名,车票编号) 车站(车站名,城市名,所在省) 工作(车站名,售票员工作证号) 购票 (车票编号,旅客身份证号) 订票 (车票编号,旅客身份证号,订票时间) 退票 (车票编号,旅客身份证号,退票金额) 经过 (列车编号,车站名,到时,发时,里程) 4.3 数据库表格设计 根据优化后的数据模型,设计表格,每个表格表示在数据库中的一个表,如表4.1-表4.7所示。 表4.1 列车信息表 1 字段名 数据类型 长度 约束 列车编号 char 30 主键 车种 char 20 不为空 始发站 varchar 50 不为空 终到站 varchar 50 不为空 发时 time 不为空 到时 time 不为空 车厢数 Integer 4 不为空 卧铺车厢数 integer 4 不为空 剩余票数 Integer 4 不为空 里程 integer 不为空 票价 Decimal 9 不为空 表4.2 车票信息表 1 字段名 数据类型 长度 约束 车票编号 char 8 主键 列车编号 char 30 外键 始发站 varchar 50 不为空 终到站 varchar 50 不为空 发时 time 不为空 到时 time 不为空 票价 decimal 9 不为空 座位类型 char 10 不为空 车票类型 char 10 不为空 座位号 integer 不为空 售票站名 varchar 50 外键 表4.3 车站信息表 1 字段名 数据类型 长度 约束 车站名 varchar 50 主键 城市名 varchar 50 不为空 省份 varchar 12 不为空 表4.4 售票员信息表 2 字段名 数据类型 长度 约束 工作证号 char 50 主键 姓名 varchar 50 不为空 登录密码 varchar 50 不为空 车站名 varchar 50 外键 表4.5 旅客信息表 3 字段名 数据类型 长度 约束 身份证号 char 50 主键 姓名 varchar 50 不为空 车票编号 char 8 外键 表4.6 购票信息表 4 字段名 数据类型 长度 约束 车票编号 char 8 主键 身份证号 char 50 外键 车站名 varchar 50 外键 购票时间 Datetime 不为空 表4.7 退票信息表 5 字段名 数据类型 长度 约束 车票编号 char 8 主键 身份证号 char 50 外键 退票金额 decimal 9 不为空 物理模型设计 因此系统较为简单,故未创建索引,现将表间关系展示如下: 关键业务逻辑的存储过程实现 6.1 创建数据库 6.2 在数据库‘火车站车票售票系统0301’下建表 共七个表:车票信息表0301、车站信息表0301、购票信息表0301、列车信息表0301、旅客信息表0301、售票员信息表0301、退票信息表0301。建表语句及结果如下: 6.3 存储过程的实现 6.3.1 按站站查询: 存储过程: 执行结果: 6.3.2 查询旅客购票信息: 存储过程: 执行结果: 6.3.3 增加一趟列车: 存储过程: 执行结果: 执行存储过程前: 执行存储过程后: 6.3.4 关键业务逻辑的实现 描述:新的旅客(即原系统中未存储该旅客相关信息的)购买一张票后,剩余票数减一,旅客信息表中记录增加一条,购票信息表中记录增加一条。 存储过程: 执行结果: 执行存储过程前该列车票数: 执行存储过程后该列车票数减一: 存储过程执行前的旅客信息表0301: 存储过程执行后的旅客信息表0301: 执行存储过程前的购票信息表0301: 执行存储过程后的购票信息表0301: 课程设计总结 终于完成了这次的数据库课程设计,在课程设计这两周中,感受很深刻。、设计好一个数据库真的不是件容易的事,就这样一个小系统就已经花费了大量的时间和精力在上面了。虽然在网上看了不少类似的设计,也吸取、借鉴了别人的一些东西,但是经过修改和自己设计,最终能够做出一个小型的系统来真的很让我振奋。通过这次课程设计,领悟了很多东西。 首先,整个设计过程中,逻辑思维一定要清晰。做到存储过程的时候,突然发现前面的逻辑结构分析不够合理,于是又倒回去再改,多次反复,弄得自己都晕头转向了,于是把课程设计暂时放了两天。那两天里,重新整理了一下自己的思路,在第二天突然就想到了应该如何修改自己的设计。然后根据自己整理后的思路一步一步修改,最后终于完成了任务。我想应该是我一开始在设计时急于求成,导致很多地方没有考虑到,最后反而带来了更大的工作量。所以除了思路清晰以外,冷静沉着也很重要。 另外,在设计的过程中,发现了很多问题以及缺漏的知识点,通过问同学,自己查资料,最后基本上都解决了。这个过程让我提高了很多东西,包括自己解决问题的能力、和同学交流的能力,还有自身知识的补充。 最后,由于临近期末,时间仓促,课程设计做得不是很好,还有很多需要补充和修改的地方,我会在以后继续积累知识,充实自己,争取能够做出更好的设计来。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服