收藏 分销(赏)

大型数据库课程设计火车站票务管理系统.doc

上传人:人****来 文档编号:3529954 上传时间:2024-07-08 格式:DOC 页数:25 大小:464.50KB
下载 相关 举报
大型数据库课程设计火车站票务管理系统.doc_第1页
第1页 / 共25页
大型数据库课程设计火车站票务管理系统.doc_第2页
第2页 / 共25页
大型数据库课程设计火车站票务管理系统.doc_第3页
第3页 / 共25页
大型数据库课程设计火车站票务管理系统.doc_第4页
第4页 / 共25页
大型数据库课程设计火车站票务管理系统.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、大型数据库课程设计设计报告题 目:火车站票务管理系统后台数据库学 号: gggg 学生姓名: ddd 指导教师: fgg 提交时间: 2013-11-23 目录第1章需求分析21.1需求调查21.2系统功能分析21.3面对用户需求分析3第2章面向对象分析和设计4类和对象设计如下:4第3章逻辑结构设计63.1类和对象向关系模式转换9第4章数据库物理结构设计94.1存取方法设计94.2存储结构设计94.3物理设计9第5章数据库完整性设计95.1主键及唯一性索引125.2参照完整性设计125.3Check约束135.4Default约束135.5触发器设计13第6章 数据库视图设计13第7章 数据库

2、存储过程设计15第8章 权限设计17总结19参考文献:20教务管理系统后台数据库第1章需求分析通过对火车站客运量、旅客和业务员的调查,该火车站票务管理系统有如下需求:1) 系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码, 数据备份,数据还原,注销等功能。2) 票务管理:实现对火车运行站点及时间的管理、对业务员的管理、对余票的更新及退票的管理。3) 基本信息:实现显示火车及业务员的基本信息。4) 售票:在有剩余座位的情况下自动更新剩余的座位数,控制不超员。5) 查询:包括实现车次查询,业务员查询。可以查询火车的车种、编号、车厢数等;查询售票员工作的车站名,及其年龄、性别等;6

3、) 服务器配置:对它进行配置可以使得在其他电脑上也照常使用。这样不必每次都到数据库中去更改。7) 帮助系统:帮助系统为用户指明方向。1.2系统功能分析1、车次管理:用于对火车基本信息的录入、查询、修改、维护、删除等常用功能。2、车次及价格管理(含到各站的价格):可以按照车次或始发站、终点站两种方式进行查询,只需要输入关键信息即可查到所需的车次的有关信息,包括车的类型、所剩票的类型、数量、票价等。3、实现业务员管理:用于对业务员基本信息的录入、查询、修改、维护、删除等常用功能,并提供工作地点变动、奖惩登记等功能。4、实现车票销售管理:车票销售时不能超员,并自动修改剩余的座位数(用触发器实现);5

4、、创建存储过程统计指定车次指定发车时间的车票销售情况;6、创建存储过程统计指定日期各业务员车票的销售收入; 7、实现退票管理:由于一些原因,可能造成客户要求退票,系统根据具体 的情况判定是否可以退票,进行退票。退票时自动修改相应车次的剩余座位数。1.3面对用户需求分析在火车站票务管理系统中,最主要的功能就是进行一系列的查询和各类数据的管理。因此,可以将火车站票务管理系统分为管理系统(有数据变化)和查询系统两个子系统。而在所设计的火车站票务管理系统中,主要有三类用户,即旅客用户、业务员用户、系统管理员。各类用户在该系统中的需求不同,权限也不同。因此,为了更明确,更系统的了解用户需求,我们还可以将

5、管理系统再细分为旅客管理系统,业务员管理系统,系统管理员管理系统。同样,将查询系统也按用户职能进行细分。这样细分后,看似把系统需求繁杂化了。其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。下面从细分后的各个子系统分析子系统的需求: 火车站票务管理系统车次管理子系统车次及价格管理子系统业务员管理子系统车票销售管理子系统退票管理子系统1) 车次管理系统,旅客可以通过该系统查询相关车次的基本信息,火车途经站点、出发时间、车的种类等。2) 车次及价格管理系统,旅客可以按照相关车次及车站查询相对票价及时间。3)业务员管理系统,该系统中,主要显示业务员的各项基本信息以及对业务员信息的管理

6、。 4)车票销售管理系统,该系统主要是可以自动更新各个车次的剩余票数。 5) 退票管理系统,对由于各种原因需要退票的旅客提供退票服务,系统根据具体的情况判定是否可以退票,进行退票。退票时自动修改相应车次的剩余座位数。第2章 面向对象分析和设计类和对象设计如下: 第3章逻辑结构设计局部ER图1、 车次管理终点站终点站车次号开车时间到达时间始发站终点站 车站经过火车始发站1n 途径车站座位数发车时间相对距离2、售票员管理业务员始发站工作姓名业务员车站性别员工编号n1年龄途径车站号终点站3、 车票销售系统售票日期座位种类票价车票退票售票业务员性别年龄员工编号姓名车次号nm座位号发车时间nm退票日期车

7、票编号4、车票销售超员管理车票编号号车次号座位剩余数终点站 座位种类票价发车时间对应座位号号车票火车1n车次号发车时间始发站时座位数车种座位号车厢号号总体ER图车种车次号到达时间开车时间始发站终点站 终点站车站经过火车m始发站1 途径车站名座位数1发车时间相对距离1车厢号对应工作座位剩余数座位号 n售票日期n票价车票编号员工编号售票姓名车次号号 n车票业务员mn座位号退票性别 m n座位种类年龄发时退票日期3.1类和对象向关系模式转换车次信息(车次号、座位数、发时、车种)业务员信息(员工编号、姓名、性别、年龄)员工奖励表(员工编号、工作站点、奖励等级)车站信息(车次号、始发站、途径车站、途径车

8、站、终点站)车票信息(车票编号、车次号、座位号、价格、发车时间、座位种类)退票信息(车票编号、车次号、退票日期)售票信息(员工编号、车次号、车票编号、售票日期)余票信息(车次号、发车时间、剩余票数)第4章数据库物理结构设计4.1 存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于火车站票务管理系统来说,为了提高某些属性(如:车票编号、车次号、座位号、座位类型等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。这样在查询时就会大大提高查询速度。因此,该系统中选择聚簇存取方法。4.2存储结构设计火车站

9、票务管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设教务管理系统。数据库管理系统采用Microsoft 公司推出的SQL Server 2000 或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。4.3物理设计实现该设计的环境为Windows XP Professional + MS SQL Server 2005 或以上版本。一:建立火车站车票管理数据库create database 火车站车票管理数据库-1、创建管理员表:create table 管理员( 管理员编号char(6) not nul

10、l primary key, 姓名char(8) , 级别char(10)-2、创建乘客表:create table 乘客表( 身份证号char(18) not null primary key, 姓名char(8) , 车票编号char(5), )-3、建立业务员表:create table 业务员( 员工编号char(6) not null primary key, 姓名char(8) , 性别bit, 年龄int,)-4、创建员工奖励表create table 员工奖励表(员工编号char(6) not null references 业务员(员工编号),工作站点char(20),奖励等

11、级char(10),primary key (员工编号)-5、建立车次表:create table 车次表(车次号char(5) not null primary key,座位数int,发车时间char(5) null , 车种 char (4) )-6、建立车站表:Create table 车站表(车次号char(5) not null references 车次表(车次号),始发站char(20) not null,途径车站char(20) not null,途径车站char(20) not null,途径车站char(20) null,途径车站char(20) null,途径车站char

12、(20) null,终点站char(20) not null,primary key (车次号)-7、建立车票表:CREATE TABLE 车票表( 车票编号char(5) not null primary key ,车次号char(5) not null references 车次表(车次号),发车时间datetime not null,座位编号char(5) not null,价格float not null,座位种类char(4)-8、建立售票表:create table 售票表( 员工编号char(6) not null references 业务员(员工编号),车票编号char(5)

13、 not null references 车票表(车票编号),车次号char(5) not null references 车次表(车次号),售票日期datetime ,primary key (员工编号,车票编号) )-9、建立退票表:create table 退票表 ( 车票编号char(5) not null primary key,车次号char(5) not null references 车次表(车次号),退票时间datetime null , foreign key (车票编号) references 车票表(车票编号) )-10、建立余票表:create table 余票表(车

14、次号char(5) not null primary key,剩余票数int not null,发车时间datetime,foreign key (车次号) references 车次表(车次号)第5章数据库完整性设计5.1主键及唯一性索引表名主键建立唯一性索引车次表(车次号)create unique index 车次表on 车次表(车次号 asc)业务员(员工编号)create unique index 业务员on 业务员(员工编号 asc)车站表(车站号)create unique index 车站表on 车站表(车站号 asc)售票表(车票号)create unique index 售

15、票表on 售票表(车票号 asc)车票表(车票编号,车次号)create unique index 车票表on 车票表(车票编号 asc,车次号 asc)退票表(车票号)create unique index 退票表on 退票表 (车票号 asc)余票表(车次号)create unique index 余票表on 余票表(车次号 asc)5.2 参照完整性设计5.3Check约束1、 业务员表中将性别进行check约束:alter table 业务员add constraint sex check(性别in(1,0)2、 车票表中将座位编号进行check约束:alter table 车票表ad

16、d constraint zum check (座位编号=12000 and 座位编号=2print退票成功elseprint不能退票end-触发检验:insert into 退票表 values(20116,S213,2013-11-19 12:00) 第6章 数据库视图设计-1、创建业务员表视图create view 业务员表视图with encryptionas select 业务员.员工编号,姓名,工作站点,奖励等级from 业务员,员工奖励表where 业务员.员工编号=员工奖励表.员工编号with check option-2、创建车次管理视图create view 车次管理视图a

17、sselect 车次表.车次号,座位数,发车时间 ,车种,始发站,终点站from 车次表,车站表where 车次表.车次号=车站表.车次号-、创建车票表视图create view 车票表视图asselect 车票编号,车次号,发车时间,座位编号,价格,座位种类from 车票表-4、创建车票销售视图create view 创建车票销售视图asselect 车次管理视图.车次号, 车次管理视图.发车时间 ,车种,始发站,终点站,价格,座位种类,剩余票数from 车次管理视图, 车票表,余票表where 余票表.车次号=车票表.车次号and 车次管理视图.车次号=余票表.车次号-5、创建车票销售视图

18、create view 车票销售视图asselect 员工编号,售票表.车票编号,价格,售票日期from 车票表,售票表where 售票表.车票编号=车票表.车票编号-6、创建售票表视图create view 售票表视图asselect 员工编号,车票编号,车次号,售票日期from 售票表-7、创建退票表视图create view 退票表视图asselect 车票编号,车次号,退票时间from 退票表-8、创建余票表视图create view 余票表视图asselect 车次号,剩余票数,发车时间from 余票表-9、创建余票情况视图1create view 余票情况视图1asselect 余

19、票表.车次号,发车时间from 余票表,售票表where 余票表.车次号=售票表.车次号-10、创建余票情况视图2create view 余票情况视图2asselect 售票表.车次号,发车时间from 余票表,售票表where 余票表.车次号=售票表.车次号第7章 数据库存储过程设计-1、指定始发站和终点站查询车次号、车种、价格、座位种类、剩余票数等信息create procedure btend 始发站char(20),终点站char(20)asbeginset nocount onselect * from 车票销售视图where 始发站=始发站and 终点站=终点站end-执行存储过程

20、exec btend 郑州,北京-2、指定车次查询始发站、终点站、车种、价格、座位种类、剩余票数等信息create procedure 按车次查询车次号char(5)asbeginset nocount onselect * from 车票销售视图where 车次号=车次号Endexec 按车次查询 T146-3、指定车次指定发车时间的车票销售情况create procedure p_selld t_num_in char(5),d_time_in datetime,sum_ticket char(6) outputasselect 车次号,count(*) as sum_ticketfrom

21、 余票情况视图where 余票情况视图.车次号=t_num_in and 发车时间=d_time_ingroup by 车次号go-执行存储过程exec p_selld G574, 2013/11/19 15:53:00,count(*)-4、指定日期各业务员车票的销售收入create procedure rp_selled y_num_in char(6) output,d_time_in datetime,money char(6) outputasselect 员工编号,sum(价格) as moneyfrom 车票销售视图where 员工编号=y_num_in and 售票日期=d_t

22、ime_ingroup by 员工编号go-执行存储过程exec rp_selled 111002,2013/2/10 0:00:00,sum(价格)-5、指定员工编号查询售出票数create procedure 编号查询员工编号char(6) output,售出票数char(6) outputasselect 员工编号,count(车票编号) as 售出票数from 售票表where 员工编号=员工编号group by 员工编号goexec 编号查询111002,count(车票编号)-6、改变指定员工的工作站点create procedure 工作站点变更员工编号char(6),工作站点c

23、har(20) asupdate 员工奖励表set 工作站点=工作站点where 员工编号=员工编号goexec 工作站点变更 111002,北京-7、根据身份证号码查询乘客的车票信息create procedure s_tri1 id char(18)asselect 身份证号,姓名,乘客表.车票编号,车次管理视图.车次号,车种,始发站,终点站,车票表.发车时间,座位编号,价格,座位种类from 乘客表,车次管理视图,车票表where 车票表.车次号=车次管理视图.车次号and 车票表.车票编号=乘客表.车票编号and 身份证号=idgo-执行存储过程exec s_tri1 41108219

24、9210020018第8章 权限设计-1、创建一级管理员的登录名及用户,并给一级管理员授权create login 一级管理员with password=123456,default_database=火车站票务管理数据库create role 一级管理员authorization dbocreate user 一级管理员for login 一级管理员with default_schema=dbogrant insert ,update,delete on 退票表to 一级管理员grant insert ,update,delete on 车次表to 一级管理员grant insert ,up

25、date,delete on 车站表to 一级管理员-2、创建二级管理员的登录名及用户,并给二级管理员授权create login 二级管理员with password=123456,default_database=火车站票务管理数据库create role 二级管理员authorization dbocreate user 二级管理员for login 二级管理员with default_schema=dbogrant insert ,update,delete on 退票表to 二级管理员grant insert ,update,delete on 车站表to 二级管理员-3、创建数据库

26、角色业务员并给业务员授权create role 业务员authorization dbogrant select on 车票表to 业务员grant select on 车次表to 业务员grant insert ,update,delete on 售票表to 业务员grant insert ,update,delete on 退票表to 业务员-4、创建数据库角色乘客并给乘客授权create role 乘客authorization dbogrant select on 车票表to 乘客grant select on 车次表to 乘客grant select on 车站表to 乘客 总结通过

27、这么多天的数据库课程设计的学习,我受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。并且对sql server这一门课程有了更深一步的理解。在做课程设计中,我们可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。同样通过对SQL的应用,也使我们熟练和巩固了对SQL的理解。这样我们对开发系统的整个过程也有了一个系统的了解。这次课程设计,我选择的课题是火车站票务管理系统,在火车站票务管理管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,再到物理结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。

28、在这次课程设计中我明白了理论和实践要想充分地结合,需要非常扎实的基本功。这就说明学好基础知识是理论付诸实践的前提。在设计火车站票务管理系统中我学到了很多,希望在以后能充分利用所学的理论知识去实践,在实践中又要努力去巩固理论知识。只有这样,才能把一门课程甚至一门学科学精、学透。 在数据库课程设计过程中,我觉得最重要的是,我们应该先认真设计好所需要的结构,以免中间很小的改动却造成不必要的麻烦。参考文献:1. 王珊,萨师煊 .数据库系统概论M. 高等教育出版社,20052. 郑阿奇等. SQLserver实用教程(第3版)M . 电子工业出版社,20093. 赵乃真等. 信息系统设计与应用. 清华大

29、学出版社,2005 大型数据库课程设计报告评分标准选题及功能设计选题合理,功能简单 (D)有一定的工作量和实用价值 (C)功能设计丰富,有一定的难度系数 (B)功能设计合理全面,能体现数据库的存储和整理数据的功能 (A)数据表和数据量具备基本的数据表,数据量较少,但能够实现系统基本需要 (D)具备基本的数据表,数据量适中,实现了一定的数据完整性 (C) 有多个数据表,数据量适中,有完善的数据完整性(B) 有多个数据表,数据量充足,具有较强的数据安全性和数据完整性 (A)数据库对象具备基本的数据表,有主外键约束 (D)创建了若干种的数据库对象,并加以利用 (C) 在实际应用中合理利用了各类数据库对象 (B)具有身份验证、数据备份等较复杂的数据管理功能(A)功能实现利用存储过程实现了各种查询功能 (D)除查询功能,还实现了各种数据操作功能 (C)在上一条基础上,还实现了数据统计汇总功能 (B)合理利用函数、存储过程、触发器实现各种数据查询、操作、管理功能 (A)设计报告完成设计报告,阐述了系统功能,结构较完整 (D)开题报告反映设计思路,结构完整,格式较规范 (C)报告内容完整,图表使用准确,格式清晰,功能描述详尽 (B)报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程 (A)教师签字:总评成绩:

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

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

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服