地铁管理系统_第1页
地铁管理系统_第2页
地铁管理系统_第3页
地铁管理系统_第4页
地铁管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、合 肥 师 范 学 院(本 科)课程设计说明书课 程数据库原理题 目地铁管理系统姓 名桑 虎学 号1110451077专业班级计算机软件一班指导教师程 敏完成日期2013年6月26日- 14 -数据库原理课程设计说明书填写说明:【课程设计说明书是学生对本次课程设计的全面总结,应能反映每个设计阶段的设计思路和设计内容,同时,也是本次课程设计成绩的书面依据和存档材料,提醒学生重视课程设计报告的形成,制成电子文档并提交。】课程设计说明书的内容及要求如下:(1)设计任务、要求及所选用的软件环境或工具;(2)数据库设计;(3)系统设计;(4)系统操作说明;(5)程序清单、运行结果;(6)总结;(7)验收

2、情况。本课程设计要求学生掌握一个具体的数据库应用系统的开发过程、方法和技术,需完成的工作如下:(1)需求分析本阶段对应用系统进行全面细致的调研,了解用户的需求,制定系统的设计方案,在方案中应体现用户的:信息需求、处理需求及安全性和完整性需求。(2)数据库概念设计本阶段在需求分析的基础上,设计出数据库的概念模型,要求用ER模型进行数据库的概念模式设计。(3)数据库的逻辑设计本阶段将全局ER图转换成关系模式的集合并对其进行优化。(4)系统设计本阶段,运用结构化的设计思想和方法,完成基本满足本课程设计功能要求的系统总体结构设计、较全面的功能模块设计和相关的接口设计。(5)系统的实现与调试在本阶段中,

3、应完成以下任务:建立数据库、应用系统的编码开发、系统的运行和调试。(6)课程设计后的总结每个学生应该客观地评估自己完成的系统是否达到预定的目标,认真总结在本课程设计中的收获和不足之处。 说明书参考格式如下:(章节可以根据需要自行增加或调整)摘要前言第一章 绪言1.1 XXXXX 1.2 XXXX 第二章 需求分析 2.1 XXXXX2.2 XXXXX第三章 数据库概念设计3.1 XXXXX 3.2 XXXXX第四章 数据库的逻辑设计4.1 XXXXX 4.2 XXXXX 第五章 系统设计5.1 XXXXX 5.2 XXXXX第六章 系统的实现与调试6.1 XXXXX6.2 XXXXX第七章 小

4、结 7.1 系统的功能 7.2 系统的特点 7.3 系统开发过程的特点 7.4 存在的问题与改进方向 7.5 自我体会 第八章 参考文献 第九章 附录 附录1:部分程序源代码 摘要 随着城市经济的不断发展,交通压力也逐渐加大。然而地上空间的有限促使很多城市向地下发展,地铁便是解决交通问题的最好办法。一个城市的地铁给普通民众出行带来的便捷是毋庸置疑的。然而任何便捷的背后都有一套完整体系的支持。地铁能准确,安全,高效的运行其背后离不开地铁管理系统。地铁管理系统其实就是一个记录了跟地铁运行有关的各类数据的数据库。此次的数据库是基于microsoft sql sever 2000设计的。该版本继承了s

5、ql sever 7.0版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成度高等优点。 目 录1. 绪论11.1 系统功能11.2 系统用途11.3 系统特点12. 需求分析22.1 功能分析22.2 实验目的22.3 实验平台23. 数据库概念设计33.1 实体及属性33.2 E-R图 64 数据库逻辑设计74.1 数据库结构 74.2 关系模式105. 数据库物理设计115.1 数据库的建立116 数据库的实现156.1查询语句156.2 触发器166.3 存储过程166.4 游标176.5 函数187 总结207.1 存在问题与改进方向207.2 实验心得

6、201 绪 论1.1系统功能 此系统为地铁管理系统,其主要功能是为了保障地铁能准确,安全,高效的运行。另外还为乘客提供了各种信息的查询以及内部人员信息的管理。例如某乘客在某一站点想要去另一地方,即可通过线路查询获取信息,因为线路中包含各个站点。又例如,地铁内部要获取某位驾驶员所驾驶的列车以及列车所在线路,即可通过驾驶员基本信息表查询。1.2系统用途此系统可为拥有地铁的城市提供运营技术支持。1.3系统特点此系统所涉及的内容大多有列车本身有关,并且提供的服务有限,例如地铁运行中的能源管理,交通信号控制。由于多学内容有限,故不能十分详尽的完成系统的设计2 需求分析1.1 功能分析此次课程设计的题目是

7、:地铁管理系统。此系统的主要功能是为了使地铁能准确,安全,高效的运行。例如,乘客对列车信息的查询,列车的运行区间、时间及停靠站点,列车自身的信息等等。地铁系统是一个非常严谨而又复杂的系统,和其他交通运输工具一样,安全性是其最基本的要求。其实地铁系统还包括交通信号管理,能源管理等其他方面的内容。鉴于目前所学还无法完成这些功能,所以只简单的完成与列车运行相关的部分。1.2 实验目的 此次实验的主要目的是为了对数据库的应用有更深入的了解以及掌握数据库设计的基本知识,为以后的实际设计累积一些经验。同时认真做好此次课程设计也是毕业论文答辩的一次预演,提前熟知毕业答辩相关要求。1.3 实验平台 Sql s

8、ever 2000。 3 数据库概念设计2.1 实体及属性 地铁运行以地铁列车为最主要的实体,其次与列车相关的实体有:驾驶员、地铁站、乘客、制造商、线路。另外还有售票员、地铁运行公司。 每个实体的属性如下图:图2-1 列车属性表图2-2 线路属性图图2-3 驾驶员属性图图2-4 地铁公司属性图 图2-5 车站属性图图2-6 售票员属性图图2-7 制造商属性图也许有人会有疑问,为什么没有乘客的属性,根据本人坐地铁的实际体验,乘客在买票进站,乘车,出站时都没有相关信息的记录。所以乘客基本信息并不包括在内。这一点有别于乘坐普通火车,动车及高铁。2.2 E-R图总E-R如下图: 图2-8 总E-R图4

9、. 数据库逻辑设计4.1 数据库结构表4-1 line表(线路信息表)属性解释备注lno线路编号 char(2) 主码type车型 char(2) A、B、Ccolor线路颜色 char(4)唯一mileage线路里程 char(6) stations车站数 char(4)trains拥有车辆 char(4)runtime运营时间 char(10)usetime建成时间 char(10)invest投资 char(10)表4-2 train表(列车基本信息表)属性解释备注tno列车编号 char(6)主码type车型 char(3)A、B、Cline线路 char(2)唯一color颜色 ch

10、ar(4)唯一runtime运行时间 char(10)manufacturer制造商 char(10) 属性解释备注mno司机编号 char(5)主码name姓名 char(6)age年龄 char(2)sex 性别 char(2)inline所在线路 char(2)home 籍贯 char(4)svrvetime驾龄 char(2)knowledge 文化程度 char(8)salary月薪 char(6)表4-3 metroman表(地铁司机信息表)表4-4 station表(车站信息表) 属性解释备注sno车站编号 char(8)主码name名称 char(10)stopline 停靠线

11、路 char(6)exchangeline 可换乘线路 char(6)runtime运行时间 char(10)usetime使用时间char(5)是指建成使用时间area面积char(8) 表4-5 conductor表(售票员信息表)属性解释备注cno编号 char(5)主码name姓名 char(6)sex性别 char(2)instation所在站点 char(10)worktime上班时间 char(20)severtime工龄 char(4)incampany所在公司 char(10)表4-6 company表(运营公司信息表)属性解释备注name公司名称 char(10)主码hol

12、dline拥有线路 char(6)holdstation拥有站点 char(3)runileage运行里程 char(3)拥有线路总长度staff员工数char(3)createtime创立时间 char(4)chairman公司主席 char(6)表4-7 manufacturer表(制造商表)属性解释备注name制造商名称 char(10)主码city所在城市 char(10)country所在国家 char(10)可能为外资公司output产量 char(5)stime成立时间 char(10)4.2 关系模式列车(编号,车型,线路,颜色,运行时间,制造商);线路(编号,车型,颜色,里程

13、,站数,车辆数,运营时间,使用时间,投资);驾驶员(编号,姓名,年龄,性别,所在线路,籍贯,驾龄,文化程度,月薪);公司(名称,拥有线路,拥有站数,运营里程,员工数,创立时间,主席);车站(编号,名称,停靠线路,换乘线路,运营时间,建成时间,面积);售票员(编号,名称,性别,所在站点,工作时间,工龄,所属公司);制造商(名称,城市,国家,产量,创立时间) 5. 数据库物理设计5.1 数据库的建立 在sql sever 2000中使用查询分析器建立各表并录入数据。如下:(1)列车信息表(train)create table train(tno char(6) primary key ,type

14、char(3),line char(2),runtime char(10),manfavturer char(10)(2)线路信息表(line)create table line(lno char(2) primary key,type char(2),color char(4),mileage cahr(6),stations char(4),trains char(4),runtime char(10),usetime char(10),invest char(10)(3)驾驶员信息表(metroman)create table metroman(mno char(5) primary k

15、ey,name char(6),age char(2),sex char(2),inline char(2),home char(4),severtime char(2),knowledge char(8),salary char(6) (4)地铁公司信息表(company)create table company(name char(10) primary key,holdline char(6),holdstation char(3)runmileage char(3),staff char(3),createtime char(4),chairman char(6)(5)车站信息表(st

16、ation)create table station (tno char(10) primary key,tname char(10),stopline char(6),exchangeline char(6),runtime char(10),usetime char(5),area char(8)(6)售票员信息表(conductor)create table conductor (cno char(5) primary key,name char(6),sex char(2),instation char(10),worktime char(20),severtime char(4),i

17、ncompany char(10)(7)制造商信息表(manufacturer)create table manufacturer (name char(10) primary key ,city char(10),country char(10),output char(5),stime char(10) 6. 数据库的实现6.1查询语句(1)查询1号线的运行里程:select mileagefrom linewhere lno=1(2)查询00001号列车制造商所在城市:select cityfrom train,manufacturerwhere train.manufacturer=m

18、 and train.tno=00001(3)查询驾龄大于2年且年龄大于30岁的驾驶员信息:select *from metromanwhere servetime>2 and age>30.6.2 触发器在train表中所插入的线路必须是已有线路create trigger T1 on trainfor insert as if( select line from inserted)>6begin print' Line must be between 1 and 6!Transaction fail' Rollback tr

19、ansactionEnd6.3存储过程根据列车编号确定其制造商的年产量create procedure output(tno char(8)asselect outputfrom train,manufacturerwhere train.manufacturer=and train.tno=tno exec output('00001')6.4 游标将地铁司机工资小于3500的自动加上500declare mno char(5), salary char(5)declare my_cursor cursor for select mno,sa

20、lary from metromanopen my_cursorfetch next from my_cursor into mno,salarywhile fetch_status=0beginif salary<3500update metroman set salary=salary+500 where mno=mnofetch next from my_cursor into mno,salaryend close my_cursordeallocate my_cursor6.5 函数(1)内联函数(求颜色为红色列车的基本信息)create function fun(color

21、char(4)returns tableas return (select * from train where color=color)select * from fun('红')(2)标量函数(根据列车司编号求其工资)create function funname2(mno int)returns intasbegindeclare xs intset xs=(select salary from metroman where mno=mno)return xsendprint dbo.funname2('0002')- 21 -7. 实验总结7.1 存在问题与改进方向此次课程设计中遇到了诸多问题,比如说如何建立表之间的联系,如何最大程度上减少数据的冗余。这些问题的解决一来要熟悉课本知识,二来也需要对数据库的实际作用有深入的了解。数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论