车站售票管理系统范文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统原理及应用课程设计报告
车站售票管理系统数据库系统设计
专业__物联网工程__________
班级___1班_______________
学号___ __________
姓名____黄_____________
福建工程学院软件学院
2014年6 月19 日
目录
第一章绪论 ................................................................................................. 错误!未定义书签。

1.1 系统概述................................................................................................ 错误!未定义书签。

1.2 研究的目的和意义................................................................................ 错误!未定义书签。

1.2.1 研究的目的..................................................................................... 错误!未定义书签。

1.2.2 研究意义......................................................................................... 错误!未定义书签。

1.3 开发工具简介 (4)
第二章数据库设计部分 .............................................................................. 错误!未定义书签。

2.1 需求分析................................................................................................ 错误!未定义书签。

2.1.1 需求描述 (5)
2.1.2数据词典 (6)
2.2 数据库概念结构设计 (7)
2.2.1 E-R图 (7)
2.2.2 系统实体图 (9)
2.2.3 实体及其属性定义 (11)
2.3 数据库逻辑结构设计 (13)
2.3.1 初始关系模式 (13)
2.3.2 规范化处理 (13)
2.4 数据库物理结构设计 (14)
2.4.1 基于SQL Sever的数据表设计 (14)
2.4.2 视图 (19)
2.4.3录入数据 (20)
2.5 数据库操作部分 (25)
2.5.1 数据库插入操作 (25)
2.5.2 数据库修改操作 (26)
2.5.3 数据库删除记录操作 (26)
2.5.4 关系图 (27)
2.6 测试 (27)
第三章总结 (27)
附录 (29)
1、参考资料: (29)
《数据库系统原理及应用》课程设计报告
第一章绪论
1.1 系统概述
火车售票管理系统主要用于车站日常的票务处理。

车售票管理系统在正常运行中需要对使用该系统的主要是火车站售票人员、火车站售票工作的管理人员与系统管理员。

为达到操作过程中的直观、方便、实用、安全等要求,我们组在这个系统中采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。

1.2 研究的目的和意义
1.2.1 研究的目的
铁路票务管理是一件比较负责但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平及质量的大事情。

随着经济的发展,交通运输越来越便捷,为了提高效率,减轻劳动强度,设计开发高效的铁路信息查询系统就显得颇为重要。

1.2.2 研究意义
火车售票管理中包含许多内容,有铁路乘客运输的运力问题,有订票管理问题等等。

铁路信息查询系统是企业信息决策和管理的重要的组成部分,是一种典型的信息管理系统,其开发主要包括后台的数据库的建立、维护以及前端的相应应用程序的开发两个方面的内容,数据库的建立和维护主要要求其管理数据的一致性、完整性、安全性等特点,而前台的应用程序开发则要求做到各项功能要完备、操作要简便、易学易用等特点。

1.3 开发工具简介
本次课程设计开发软件为SQL Server 2008,简介如下:
SQL Server:
SQL Server 2008 在 Microsoft 的数据平台上发布,帮助您的组织随时随地管理任何数据。

它可以将结构化、半结构化和非结构化文档的数据(例如图像和音乐)直接存储到数据库中。

SQL Server 2008 提供一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告和分析之类的操作。

数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,您可以控制数据而不用管数据存储在哪里。

SQL Server 2008 的新增功能
可信
SQL Server 为您的业务关键型应用程序提供最高级别的安全性、可靠性和伸缩性。

高效率
为了抓住如今风云变幻的商业机会,公司需要能力来快速创建和部署数据驱动的解决方案。

SQL Server 2008 减少了管理和开发应用程序的时间和成本。

智能
SQL Server 2008 提供全面的平台,在用户需要的时候提供智能。

第二章数据库设计部分
2.1 需求分析
2.1.1 需求描述
《数据库系统原理及应用》课程设计报告
信息时代已经来临,信息处理的利器——计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。

采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效
益和社会效益。

经分析我认为车站售票管理系统的具体要求为:
(1)售票功能
1.销售车票
任一售票员均可以售权限范围内车次的客票,权限可按班
次、车属等属性由管理员设置。

可售全票、半票
2.预订车票
预订票可在任一未停止售票的车次上进行操作,预订数量仅受剩余
位数量限制。

预订的客票售票员不能售出。

预订的客票也可取消预订,取消预订的客票售票员可以售出。

在订票人来取票时,售票员可将预订的客票从电脑上售出
3.退票
退票时由退票员输入客票的编号,计算机将根据退票时的时间,自动确定退票手续费的比例,也可由系统管理员指定
手续费比例。

对不合法的客票(如已办理退票手续的客票、超过规定时间的客票、没有售出的客票、已经作废的客票、不属于权
限范围内售出的票等),计算机将自动识别,不予退票。

(2)查询功能
①车次查询,可以查询各个班次和票情况。

②时刻表查询:查询任一时刻的班次和票情况。

③售票情况查询:查询已售票和剩余票数的情况。

(3)、调度功能
①运价修改:只有管理员有这一权限,根据各种调整票价。

②车辆修改:对车辆信息进行调度和增删改功能。

③终点站修改:对车次终点站的调度和修改。

④车次修改:对各个车次实施调度和调整
(4)、维护功能
①车票表修改:管理员针对实际情况对车票表的修改和维护
②预订车票表修改:管理员根据车票的预定情况对该表进行修改
和维护
③退票表修改:该功能由管理员根据退票情况进行修改
④密码修改:售票员可以根据个人修改自己的登入密码
(5)、统计功能
①售票统计:可按车次,售票员对已售出票情况进行统计
②报表打印:对当天和该月的售票情况及盈利情况做表
2.1.2数据词典
2.2 数据库概念结构设计2.2.1 E-R图
《数据库系统原理及应用》课程设计报告
图2.1 实体车辆及其属性
图2.2 实体目标站名及其属性
图2.3 实体发车时刻及其属性
图2.4 实体途径及其属性
图2.6 实体预订及其属性
《数据库系统原理及应用》课程设计报告
图2.8 实体售票员及其属性
图2.9 实体运价及其属性
2.2.3 实体及其属性定义
在此系统中实体有:车辆,目标站名,,车票,售票员
联系有:预订,车次,发车时刻
表2-1 车辆表
表2-2 目标站名表
表2-4 途径表
表2-6 预定表
《数据库系统原理及应用》课程设计报告
表2-7退票表
表2-8 售票员表
2.3 数据库逻辑结构设计
2.3.1 初始关系模式
车辆(车辆编号,车型,座位数)
目标站名(站名,里程)
发车时刻(车次,站名,车辆编号,发车时间,检票口)
途径(车次,站名)
车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)预订(预定号,车次,站名,乘车日期,顾客名称,票号)
退票(票号,退票时间,票价)
售票员(工号,姓名)
运价(车型,价格)
2.3.2 规范化处理
经过对初始关系模式的规范化处理一下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。

(代表主码,代表外码)
车辆(车辆编号,车型,座位数)
目标站名(站名,里程)
发车时刻(车次,站名,车辆编号,发车时间,检票口)
途径(车次,站名)
车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)
预订(预订号,车次,站名,乘车日期,顾客名称,票号)
退票(票号,退票时间,票价)
售票员(工号,姓名)
运价(车型,价格)
2.4 数据库物理结构设计
2.4.1 基于SQL Sever的数据表设计
用SQL Sever 建表
1)建立车辆表
CREATE TABLE车辆表
(
车辆编号INT PRIMARY KEY,
车型VARCHAR(8)NOT NULL,
座位数SMALLINT,
FOREIGN KEY(车型)REFERENCES运价表(车型)
)
图2.10 用SQL Sever 建立车辆表截图
《数据库系统原理及应用》课程设计报告2)建立目标站名表
CREATE TABLE目标站名表
(
站名VARCHAR(10)PRIMARY KEY,
里程INT
)
图2.11 用SQL Sever 建立目标站名表截图
3)建立发车时刻表
CREATE TABLE发车时刻表
(
车次VARCHAR(5)PRIMARY KEY,
站名VARCHAR(10)NOT NULL,
车辆编号INT NOT NULL,
发车时间DATETIME NOT NULL,
检票口SMALLINT NOT NULL,
FOREIGN KEY(站名)REFERENCES目标站名表(站名), FOREIGN KEY(车辆编号)REFERENCES车辆表(车辆编号)
)
图2.12 用SQL Sever 建立发车时刻表截图
4)建立途径表
CREATE TABLE途径表
(
车次VARCHAR(5)PRIMARY KEY,
站名VARCHAR(10)NOT NULL,
FOREIGN KEY(站名)REFERENCES目标站名表(站名) )
图2.13 用SQL Sever 建立途径表截图
5)建立车票表
CREATE TABLE车票表
(
票号INT PRIMARY KEY,
乘车日期DATETIME NOT NULL,
车次VARCHAR(5)NOT NULL,
站名VARCHAR(10)NOT NULL,
票价FLOAT(8)NOT NULL,
全半价CHAR(2)NOT NULL,
《数据库系统原理及应用》课程设计报告座位号SMALLINT NOT NULL,
工号CHAR(3),
退票否CHAR(1),
FOREIGN KEY(车次)REFERENCES途径表(车次),
FOREIGN KEY(工号)REFERENCES售票员表(工号)
)
图2.14用SQL Sever 建立车票表截图
6)建立预定表
CREATE TABLE预定表
(
预定号INT PRIMARY KEY,
车次VARCHAR(5)NOT NULL,
站名VARCHAR(10)NOT NULL,
乘车日期DATETIME NOT NULL,
顾客名称VARCHAR(20)NOT NULL,
票号INT NOT NULL,
FOREIGN KEY(车次)REFERENCES途径表(车次),
FOREIGN KEY(票号)REFERENCES退票表(票号),
FOREIGN KEY(票号)REFERENCES车票表(票号))
图2.15用SQL Sever 建立预定表截图
7)建立退票表
CREATE TABLE退票表
(
票号INT PRIMARY KEY,
退票时间DATETIME,
票价FLOAT(8)NOT NULL
)
图2.16用SQL Sever 建立退票表截图
8)建立售票员表
CREATE TABLE售票员表
(工号CHAR(3)PRIMARY KEY,
姓名CHAR(8)NOT NULL
)
《数据库系统原理及应用》课程设计报告
图2.17用SQL Sever 建立售票员表截图
9)建立运价表
CREATE TABLE运价表
(
车型VARCHAR(8)PRIMARY KEY,
价格VARCHAR(8)NOT NULL
)
图2.18用SQL Sever 建立运价表截图
2.4.2 视图
1) 查询车票表的基本信息的视图定义如下:
CREATE VIEW 车票表_VIEW
AS SELECT *
FROM 车票表
WITH CHECK OPTION 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售票员表
WHERE工号='15'
图2-30数据删除2.5.4 关系图
《数据库系统原理及应用》课程设计报告
图2-31 系统关系图
2.6 测试
系统测试是管理信息系统开发周期中一个十分重要而漫长的阶段。

其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实施的最后审查。

首先打开SQL server 2008,点击连接,在数据库中找到carstation,打开数据库,找到所要测试的六个表,本系统主要实现售票员对车票的查询、添加、修改和删除,因此系统中的数据库技术原理大致相同,只要适当的改动数据定义项就可以实现不同部分的类似功能。

该系统主要有以下特点:(1)功能齐全车站管理所能用到的功能,从预定、订购、退订车票信息、用户、售票员、车辆等数据管理、查询、浏览、添加、修改,到数据库的备份、恢复,应有尽有。

(2)、准确可靠其中的各项查询、备份恢复数据功能均经过反复测试,基本没
有大的错误,运行更加稳定可靠。

(3)、简单易用不需要经过专门的培训学习,只要读一下帮助文件,也可以不读,就能熟练操作。

用户只需要简单地输入数据或进行选择,一点鼠标,一切OK!
第三章总结
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序,所以提高自己的实际动手能力和独立思考的能力是十分重要的。

在设计的过程中遇到很多的问题,可以说得是困难重重,由于对以前所学过的知识理解得不够深刻,掌握得不够牢固。

导致自己在程序设计过程中经常出错,致使程序无法运行或无法实现要求的步骤。

还有很多是些小问题,这都是由于我粗心大意而造成的,所以我认识到设计程序一定要仔细,容不得丝毫的马虎和粗心大意。

当然还有其他的问题,尤其是关于文件的操作,是我们最大的问题,不过,经
过老师的讲解和改错之后,也开始懂得设计和运用了。

这次课程设计使我巩固了数据库的知识,通过实践,我学到了很多课本上学不到的知识。

在这次车站售票管理系统的开发过程中,我也遇到了许多的问题,例如:数据库连接错误,学习写存储过程,数据如何绑定等等,经过认真思考并在老师和同学的帮助下我顺利完成了本次设计。

《数据库系统原理及应用》课程设计报告
附录
1、参考资料:
《数据库系统概论》第四版王珊、萨师煊
2、源程序代码:
/*建立数据库DB_12*/
CREATE DATABASE DB_12
/*建立车辆表*/
CREATE TABLE 车辆表
(
车辆编号INT PRIMARY KEY,
车型V ARCHAR(8) NOT NULL,
座位数SMALLINT,
FOREIGN KEY(车型) REFERENCES 运价表(车型)
)
/*建立目标站名表*/
CREATE TABLE 目标站名表
(
站名V ARCHAR(10) PRIMARY KEY,
里程INT
)
/*建立发车时刻表*/
CREATE TABLE 发车时刻表
(
车次V ARCHAR(5) PRIMARY KEY,
站名V ARCHAR(10) NOT NULL,
车辆编号INT NOT NULL,
发车时间DA TETIME NOT NULL,
检票口SMALLINT NOT NULL,
FOREIGN KEY(站名) REFERENCES 目标站名表(站名),
FOREIGN KEY(车辆编号) REFERENCES 车辆表(车辆编号) )
/*建立途径表*/
CREATE TABLE 途径表
(
车次V ARCHAR(5) PRIMARY KEY,
站名V ARCHAR(10) NOT NULL,
FOREIGN KEY(站名) REFERENCES 目标站名表(站名)
)
/*建立车票表*/
CREATE TABLE 车票表
(
票号INT PRIMARY KEY,
乘车日期DA TETIME NOT NULL,
车次V ARCHAR(5) NOT NULL,
站名V ARCHAR(10) NOT NULL,
票价FLOAT(8) NOT NULL,
全半价CHAR(2) NOT NULL,
座位号SMALLINT NOT NULL,
工号CHAR(3),
退票否CHAR(1),
FOREIGN KEY(车次) REFERENCES 途径表(车次), FOREIGN KEY(工号) REFERENCES 售票员表(工号)
)
/*建立预定表*/
CREATE TABLE 预定表
(
预定号INT PRIMARY KEY,
车次V ARCHAR(5) NOT NULL,
站名V ARCHAR(10) NOT NULL,
乘车日期DA TETIME NOT NULL,
顾客名称V ARCHAR(20) NOT NULL,
票号INT NOT NULL,
FOREIGN KEY(车次) REFERENCES 途径表(车次), FOREIGN KEY(票号) REFERENCES 退票表(票号), FOREIGN KEY(票号) REFERENCES 车票表(票号))
《数据库系统原理及应用》课程设计报告/*建立退票表*/
CREATE TABLE 退票表
(
票号INT PRIMARY KEY,
退票时间DA TETIME,
票价FLOA T(8) NOT NULL
)
/*建立售票员表*/
CREATE TABLE 售票员表
( 工号CHAR(3) PRIMARY KEY,
姓名CHAR(8) NOT NULL
)
/*建立运价表*/
CREATE TABLE 运价表
(
车型V ARCHAR(8) PRIMARY KEY,
价格V ARCHAR(8) NOT NULL
)。

相关文档
最新文档