- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
火车站票务管理系统
课程设计报告 (本科) 课程: 数据库系统概念 学号: 1210431098 1210431014 姓名: 班级: 计算机科学与技术系软件(2)班 教师: 时间: 2014.6.7 计算机科学与技术系
设计名称: 火车票票务管理系统 设计内容、目的与要求: 设计一个火车票管理系统,通过对火车站客运量、旅客和业务员的调查,该火车站票务管理系统具有车次管理管理子系统,车次及价格管理子系统,业务员管理子系统,车票销售管理子系统,退票管理子系统的五项基本功能,并用sql语言实现。
计划与进度安排: 第八周~第九周 查找了的相关内容。
第十周~第十二周 根据书本上所学的,同时上网查找了一些相关的程序代码, 开始试着编写火车票票务管理系统的相关代码。
第十三周~第十六周 根据网上的系统代码,找出其中的小错误,并在一些地方插 入自己的代码。
第十七周~第十八周 设计成功。 设计过程、步骤(可加页):
系统各模块说明如下:
(1)车次管理:用于对火车基本信息的录入、查询、修改、维护、删除基本功能。
(2):车次及价格管理:按照车次或始发站、终点站两种方式进行查询,只需要 输入关键信息即可查到所需的车次的有关信息,包括车的类型、所剩票的类型、数量、票价等。
(3)业务员管理:用于对业务员基本信息的录入、查询、修改、维护、删除等常用功能,并提供工作地点变动、奖惩登记等功能。
(4)车票销售管理:车票销售时不能超员,并自动修改剩余的座位数(用触发器实现);
(5)退票管理:由于一些原因,可能造成客户要求退票,系统根据具体 的情况判定是否可以退票,进行退票。退票时自动修改相应车次的剩余座位数。
局部ER图
车次管理
1 n
2、售票员管理业务员
n 1
车票销售系统
4、车票销售超员管理
车次信息(车次号、座位数、发时、车种)
业务员信息(员工编号、姓名、性别、年龄)
车站信息(车次号、始发站、途径车站、途径车站、终点站)
车票信息(车票编号、车次号、座位号、价格、发车时间、座位种类)
退票信息(车票编号、车次号、退票日期)
售票信息(员工编号、车次号、车票编号、售票日期)
余票信息(车次号、发车时间、剩余票数)
实现该设计的环境为Windows l + SQL Server 2000 或以上版本。
试验中遇到的问题:
再创建退票时自动修改相应车次的剩余座位数和删除售票表的相关记录 tri_ticke触发器时,开始没有讲删除售票表的相关记录同步,导致已经退票而售票表中的记录没有更新,引发错误。
解决办法:在触发器中加入相关语句:delete from 售票表where 车票编号=@p_num。
在创建存储过程时开始都从视图中查找导致所对应的列无效,后将视图改为从表中连接查询,结果正确。 结果与分析(可以加页):
开始运行截图:
创建表部分截图:
--1、对触发器 trigger tri_ticket截图,车票销售时自动修改剩余的座位数?
insert into 售票表values(00001,d003,d4,2014/5/19 12:00)
没插入前
插入后
2:对触发器tp_ticket 退票时自动修改相应车次的剩余座位数INSERT INTO 退票表values(p001,p2,2014/5/20 8:00)
插入之后
3:对触发器t_p退票时,根据退票时间判断是否允许退票
指定员工编号查询售出票数
指定车次查询始发站、终点站、车种、价格、座位种类、剩余票数等信息
指定车次指定发车时间的车票销售情况?的存储过程
创建视图部分截图:
创建管理员部分截图:
程序代码如下:
create database 火车站车票管理数据库
create table 管理员
(
管理员编号char(6) not null primary key,
姓名char(8) ,
级别char(10)
)
create table 乘客表
(
身份证号char(18) not null primary key,
姓名char(8) ,
车票编号char(5),
)
create table 业务员
(
员工编号char(6)
文档评论(0)