车站售票管理系统范文Word格式.docx
《车站售票管理系统范文Word格式.docx》由会员分享,可在线阅读,更多相关《车站售票管理系统范文Word格式.docx(32页珍藏版)》请在冰点文库上搜索。
SQLServer2008提供全面的平台,在用户需要的时候提供智能。
第二章数据库设计部分
2.1需求分析
2.1.1需求描述
信息时代已经来临,信息处理的利器——计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。
采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效益。
经分析我认为车站售票管理系统的具体要求为:
(1)售票功能
1.销售车票
任一售票员均可以售权限范围内车次的客票,权限可按班次、车属等属性由管理员设置。
可售全票、半票
2.预订车票
预订票可在任一未停止售票的车次上进行操作,预订数量仅受剩余
位数量限制。
预订的客票售票员不能售出。
预订的客票也可取消预订,取消预订的客票售票员可以售出。
在订票人来取票时,售票员可将预订的客票从电脑上售出
3.退票
退票时由退票员输入客票的编号,计算机将根据退票时的时间,自动确定退票手续费的比例,也可由系统管理员指定手续费比例。
对不合法的客票(如已办理退票手续的客票、超过规定时间的客票、没有售出的客票、已经作废的客票、不属于权限范围内售出的票等),计算机将自动识别,不予退票。
(2)查询功能
1车次查询,可以查询各个班次和票情况。
2时刻表查询:
查询任一时刻的班次和票情况。
3售票情况查询:
查询已售票和剩余票数的情况。
(3)、调度功能
1运价修改:
只有管理员有这一权限,根据各种调整票价。
2车辆修改:
对车辆信息进行调度和增删改功能。
3终点站修改:
对车次终点站的调度和修改。
4车次修改:
对各个车次实施调度和调整
(4)、维护功能
1车票表修改:
管理员针对实际情况对车票表的修改和维护
2预订车票表修改:
管理员根据车票的预定情况对该表进行修改和维护
3退票表修改:
该功能由管理员根据退票情况进行修改
4密码修改:
售票员可以根据个人修改自己的登入密码
(5)、统计功能
1售票统计:
可按车次,售票员对已售出票情况进行统计
2报表打印:
对当天和该月的售票情况及盈利情况做表
2.1.2数据词典
数据元素
数据类型
长度
数据来源
空值情况
汉语
简称
车辆编号
Tnumber
Int
4
车辆表
Train
主关键字
车型
Ttype
Varchar
8
不为空
座位数
Tseat1
smallInt
2
可为空
站名
Ssite
10
目标站名
Station
里程
Smilea
车次
Dnum1
5
发车时刻表
Depart
Dsite
外键
Dnum2
发车时间
Dtime
Datetime
检票口
Dte
Bnum1
途径表
Bw
主关系键
Bsite
票号
Tmark
20
车票表
Ticket
乘车日期
Tdate
Tnum1
Tsite
票价
Tprice
Float
全半价
Thprice
Char
座位号
Tseat2
工号
TJnum
3
退票否
Treturn
1
预定号
Bnum
4
预定表
Book
Bdate
顾客名称
Bcustomer
Bpoll
Rmark
退票表
Rt
退票时间
Rdate
Rprice
CJnum
3
售票员表
Conductor
姓名
Cname
Ftipe
8
运价表
FR
价格
Fprice
2.2数据库概念结构设计
2.2.1E-R图
2.2.2系统实体图
图2.1实体车辆及其属性
图2.2实体目标站名及其属性
图2.3实体发车时刻及其属性
图2.4实体途径及其属性
图2.5实体车票及其属性
图2.6实体预订及其属性
图2.7实体退票及其属性
图2.8实体售票员及其属性
图2.9实体运价及其属性
2.2.3实体及其属性定义
在此系统中实体有:
车辆,目标站名,,车票,售票员
联系有:
预订,车次,发车时刻
表2-1车辆表
属性名
是否为空
表2-2目标站名表
表2-3发车时刻表
SmallInt
表2-4途径表
表2-5车票表
varchar
表2-6预定表
4
表2-7退票表
表2-8售票员表
表2-9运价表
2.3数据库逻辑结构设计
2.3.1初始关系模式
车辆(车辆编号,车型,座位数)
目标站名(站名,里程)
发车时刻(车次,站名,车辆编号,发车时间,检票口)
途径(车次,站名)
车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)
预订(预定号,车次,站名,乘车日期,顾客名称,票号)
退票(票号,退票时间,票价)
售票员(工号,姓名)
运价(车型,价格)
2.3.2规范化处理
经过对初始关系模式的规范化处理一下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。
(代表主码,代表外码)
车辆(车辆编号,车型,座位数)
目标站名(站名,里程)
发车时刻(车次,站名,车辆编号,发车时间,检票口)
途径(车次,站名)
车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)
预订(预订号,车次,站名,乘车日期,顾客名称,票号)
退票(票号,退票时间,票价)
售票员(工号,姓名)
运价(车型,价格)
2.4数据库物理结构设计
2.4.1基于SQLSever的数据表设计
用SQLSever建表
1)建立车辆表
CREATETABLE车辆表
(
车辆编号INTPRIMARYKEY,
车型VARCHAR(8)NOTNULL,
座位数SMALLINT,
FOREIGNKEY(车型)REFERENCES运价表(车型)
)
图2.10用SQLSever建立车辆表截图
2)建立目标站名表
CREATETABLE目标站名表
(
站名VARCHAR(10)PRIMARYKEY,
里程INT
图2.11用SQLSever建立目标站名表截图
3)建立发车时刻表
CREATETABLE发车时刻表
车次VARCHAR(5)PRIMARYKEY,
站名VARCHAR(10)NOTNULL,
车辆编号INTNOTNULL,
发车时间DATETIMENOTNULL,
检票口SMALLINTNOTNULL,
FOREIGNKEY(站名)REFERENCES目标站名表(站名),
FOREIGNKEY(车辆编号)REFERENCES车辆表(车辆编号)
)
图2.12用SQLSever建立发车时刻表截图
4)建立途径表
CREATETABLE途径表
FOREIGNKEY(站名)REFERENCES目标站名表(站名)
图2.13用SQLSever建立途径表截图
5)建立车票表
CREATETABLE车票表
票号INTPRIMARYKEY,
乘车日期DATETIMENOTNULL,
车次VARCHAR(5)NOTNULL,
票价FLOAT(8)NOTNULL,
全半价CHAR
(2)NOTNULL,
座位号SMALLINTNOTNULL,
工号CHAR(3),
退票否CHAR
(1),
FOREIGNKEY(车次)REFERENCES途径表(车次),
FOREIGNKEY(工号)REFERENCES售票员表(工号)
图2.14用SQLSever建立车票表截图
6)建立预定表
CREATETABLE预定表
预定号INTPRIMARYKEY,
顾客名称VARCHAR(20)NOTNULL,
票号INTNOTNULL,
FOREIGNKEY(票号)REFERENCES退票表(票号),
FOREIGNKEY(票号)REFERENCES车票表(票号))
图2.15用SQLSever建立预定表截图
7)建立退票表
CREATETABLE退票表
退票时间DATETIME,
票价FLOAT(8)NOTNULL
图2.16用SQLSever建立退票表截图
8)建立售票员表
CREATETABLE售票员表
(工号CHAR(3)PRIMARYKEY,
姓名CHAR(8)NOTNULL
图2.17用SQLSever建立售票员表截图
9)建立运价表
CREATETABLE运价表
车型VARCHAR(8)PRIMARYKEY,
价格VARCHAR(8)NOTNULL
图2.18用SQLSever建立运价表截图
2.4.2视图
1)查询车票表的基本信息的视图定义如下:
CREATEVIEW车票表_VIEW
ASSELECT*
FROM车票表
WITHCHECKOPTION
2.4.3录入数据
图2-19录入车辆表信息
图2-20录入目标站名表信息
图2-21录入发车时刻表信息
图2-22录入途径表信息
图2-23录入车票表信息
图2-24录入退票表信息
图2-25录入预定表信息
图2-26录入售票员表信息
图2-27录入运价表信息
2.5数据库操作部分
2.5.1数据库插入操作
在售票员表中插入一行数据
INSERT
INTO售票员表(工号,姓名)
VALUES('
12'
'
小宏'
);
图2-28数据库插入
2.5.2数据库修改操作
在售票员表中进行修改操作
UPDATE售票员表
SET姓名='
大宏'
WHERE工号='
01'
图2-29数据修改
2.5.3数据库删除记录操作
在售票员表中删除记录
DELETE
FROM售票员表
15'
图2-30数据删除
2.5.4关系图
图2-31系统关系图
2.6测试
系统测试是管理信息系统开发周期中一个十分重要而漫长的阶段。
其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实施的最后审查。
首先打开SQLserver2008,点击连接,在数据库中找到carstation,打开数据库,找到所要测试的六个表,本系统主要实现售票员对车票的查询、添加、修改和删除,因此系统中的数据库技术原理大致相同,只要适当的改动数据定义项就可以实现不同部分的类似功能。
该系统主要有以下特点:
(1)功能齐全车站管理所能用到的功能,从预定、订购、退订车票信息、用户、售票员、车辆等数据管理、查询、浏览、添加、修改,到数据库的备份、恢复,应有尽有。
(2)、准确可靠其中的各项查询、备份恢复数据功能均经过反复测试,基本没有大的错误,运行更加稳定可靠。
(3)、简单易用不需要经过专门的培训学习,只要读一下帮助文件,也可以不读,就能熟练操作。
用户只需要简单地输入数据或进行选择,一点鼠标,一切OK!
第三章总结
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序,所以提高自己的实际动手能力和独立思考的能力是十分重要的。
在设计的过程中遇到很多的问题,可以说得是困难重重,由于对以前所学过的知识理解得不够深刻,掌握得不够牢固。
导致自己在程序设计过程中经常出错,致使程序无法运行或无法实现要求的步骤。
还有很多是些小问题,这都是由于我粗心大意而造成的,所以我认识到设计程序一定要仔细,容不得丝毫的马虎和粗心大意。
当然还有其他的问题,尤其是关于文件的操作,是我们最大的问题,不过,经
过老师的讲解和改错之后,也开始懂得设计和运用了。
这次课程设计使我巩固了数据库的知识,通过实践,我学到了很多课本上学不到的知识。
在这次车站售票管理系统的开发过程中,我也遇到了许多的问题,例如:
数据库连接错误,学习写存储过程,数据如何绑定等等,经过认真思考并在老师和同学的帮助下我顺利完成了本次设计。
附录
1、参考资料:
《数据库系统概论》第四版王珊、萨师煊
2、源程序代码:
/*建立数据库DB_12*/
CREATEDATABASEDB_12
/*建立车辆表*/
/*建立目标站名表*/
/*建立发车时刻表*/
/*建立途径表*/
/*建立车票表*/
/*建立预定表*/
/*建立退票表*/