数据库课程设计-某客运公司的运输管理数据库的设计与实现.doc
- 文档编号:14763279
- 上传时间:2023-06-27
- 格式:DOC
- 页数:21
- 大小:1.64MB
数据库课程设计-某客运公司的运输管理数据库的设计与实现.doc
《数据库课程设计-某客运公司的运输管理数据库的设计与实现.doc》由会员分享,可在线阅读,更多相关《数据库课程设计-某客运公司的运输管理数据库的设计与实现.doc(21页珍藏版)》请在冰点文库上搜索。
大连理工大学网络教育学院毕业论文(设计)模板
数据库课程设计》
题目:
某客运公司的运输管理数据库的设计与实现
院系:
信息工程学院
专业:
信息管理与信息系统
学号:
姓名:
指导教师:
II
1系统概况
1.1系统设计的目的
在信息技术高度发展的今天,传统手工记录客运站信息,已满足不了正常需求。
因此为了降低管理人员的工作量开发一个客运公司的运输管理系统。
旨在为客运信息管理员提供一个可行法案。
通过利用数据库的强大功能,按规范管理运输信息。
方便查询线路车次情况,各个班次的售票情况,以及每个班次的班车信息。
方便管理员的查询,及修改汽车线路信息,汽车信息和车票信息。
将录入操作交给电脑来完成。
这样既能减少管理员工作量还能满足日益增长的需求。
也借以说明计算机技术在当今世界发展中的重要地位和科技创新的重要意义。
1.2系统开发的背景与意义
由于社会的不断发展,技术的不断进步,信息技术和数据处理速度越来越引起人们的重视,因为信息的大量而快速的传递,大批量数据的处理单靠人工是不可靠的,也是不现实的。
各行业都迫切需要高性能的的管理系统。
客运公司的运输管理数据库系统是面向所有汽车,路线车型的数据管理系统,其目的是使乘车有序化,规范化,简单化,易于车站人员的管理,查询。
而客运公司的运输管理系统就是根据车站发展的需要而建立的典型的信息管理系统。
它以处理为中心,其重点是进行查询,打印客户所需信息。
并且从分析用户需求开始,模块划分、建立数据库、代码设计,调试最后完成。
主要针对的使用者时客运信息管理员(负责本客运站的线路加减以及售票)。
开发主要包括数据库的建立和维护。
1.3系统实现的目标
本次数据库设计应实现客运运输管理系统的基本功能。
目标包括实现车型、路线、驾驶员等信息的管理;实现线路车次、线路站点及票价管理;实现售票管理;创建存储过程按线路统计乘坐次数;实现按车次统计某段时间的乘坐次数;实现售票时自动修改相应车次已售座位数;实现查询各线路各车型的数量;建立数据库相关表之间的参照完整性约束的关系图。
2系统需求分析
2.1系统总体需求
系统总体需求主要根据系统功能分析系统设计之前的规划工作,包括分析系统元素的种类、功能、各数据项以及系统整体性能模式。
另外,也包括系统各实体之间的联系,系统各模块功能的分析,软硬件平台的介绍等。
2.1.1设计内容
本系统设计的是一个客运站运输管理系统,该系统的由管理员组成进行管理。
用sqlserver2008创建后台数据库按照要求完成所有的功能和模块。
1.客运运输管理信息系统主要功能
(1)汽车信息管理
管理员可以在汽车信息管理模块对汽车信息进行管理,管理员可以添加,修改,和删除本客运站的汽车信息。
该模块还可以查看现有汽车信息。
(2)班次信息管理
管理员可以在班次信息管理模块对班次信息进行管理,管理员可以添加,修改,和删除本客运站运营的班次及线路。
班次信息包括:
班次号、出发地、目的地、出发时间、到站时间、乘坐次数。
(3)车票信息管理
该模块记录各个各个线路的售票情况。
主要包括票价的管理,已售票,余票的管理。
(4)司机信息管理
管理员可以在司机信息管理模块对司机信息进行管理,管理员可以添加,修改,和删除本客运站所有的司机。
司机信息包括:
司机名、驾驶证号、性别、手机、出生日期。
(5)乘客信息管理
管理员可以在乘客信息管理模块对乘客信息进行管理。
(6)客运站管理员信息管理
客运站管理员主要对车票,班次进行管理。
2.客运运输管理信息系统数据库表单
(1)系统管理员信息表单,主要字段有:
登录名、密码。
(2)司机信息表单,主要字段有:
司机名(主键),驾驶证号,性别,手机,出生日期。
(3)汽车信息表单,主要字段有:
车牌号(主键)、汽车种类、最大载客量、班次号、司机名
(4)班次信息表单,主要字段有:
班次号(主键)、出发地、目的地、出发时间、到站时间、乘坐次数、管理姓名
(5)车票信息表单,主要字段有:
车票编号(主键)、已售座位、票价、班次号、余票、出发时间、出发地、目的地、管理员姓名
(6)乘客信息表单,主要字段有:
乘客姓名(主键)、车票编号、性别、出生日期
(7)客运站管理员信息表单,主要字段有:
管理员姓名(主键),密码
(8)乘坐表表单,主要字段有:
班次号、出发地、目的地、出发时间、到站时间、车牌号、乘客姓名
2.2系统整体功能介绍
该客运公司运输管理系统整体功能是通过管理员对汽车信息、司机信息、线路信息、乘客信息、车票信息、班次信息,客运站管理员信息 进行管理,主要通过对该该客运公司运输的实际情况做出合适的增、删、改。
整体功能模块如图2-1所示。
图2-1功能模块图
2.3系统元素、实体介绍
系统中有六个实体,分别是客运站管理员,班次,汽车,乘客,车票,司机。
其中客运站管理员主要有两个属性,分别是:
管理员姓名(主键)、密码,其中管理员姓名作为主键,主要是对车票和班次进行管理。
班次主要有7个属性,分别是:
班次号(主键)、出发地、目的地、出发时间、到站时间、乘坐次数、管理员姓名。
汽车主要有5个属性,分别是:
车牌号(主键)、汽车种类、最大载客量、班次号、司机名。
乘客主要有4个属性乘客姓名(主键),车票编号、性别、出生日期。
乘客乘坐汽车时有一个乘坐的动态过程,乘坐表属性主要有:
班次号、出发地、目的地、出发时间、到站时间、车牌号、乘客姓名。
车票主要有9个属性,分别是:
车票编号(主键)、已售座位、票价、班次号、余票、出发时间、出发地、目的地、管理员姓名。
司机主要有5个属性,分别是:
司机名(主键)、驾驶证号、性别、手机、出生日期。
2.3.1数据字典
本系统的数据字典如表2-1所示。
表2-1
数据结构名
含义说明
组成
客运站管理员
描述管理员信息
管理员姓名、密码
司机基本信息表
描述司机信息
司机名、驾驶证号、性别、手机、出生日期
乘客信息表
描述乘客信息
乘客姓名、车票编号、性别、出生日期
乘坐表
描述乘客乘坐汽车这一关系
班次号、出发地、目的地、出发时间、到站时间、车牌号、乘客姓名
汽车基本信息表
描述车辆信息
车牌号、汽车种类、最大载客量、班次号、司机名
车票信息表
描述车票信息
车票编号、已售座位、票价、班次号、余票、出发时间、出发地、目的地、管理员姓名
班次信息表
描述班次信息,以及线路信息
班次号、出发地、目的地、出发时间、到站时间、乘坐次数、管理员姓名
系统管理员
描述系统管理员信息
登录名、密码
2.4数据流程图
本客运站运输管理系统需要对车票管理,乘客管理,汽车管理,司机管理,班次以及线路进行管理,其数据流程图如2-2所示
图2-2数据流程图
2.5软硬件平台介绍
本系统主要在一台装有XP或Windiws系统的电脑,并装有SQLSever2008即可,对硬件无很大要求。
其中SQLServer2008可以组织管理任何数据。
可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
可以对数据进行查询、搜索、同步、报告和分析之类的操作。
数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
21
3概念结构设计
3.1概念设计
3.1.1班次与汽车之间的联系
班次与汽车之间是属于关系:
汽车在哪个班次发车。
如图3-1所示。
图3-1班次与汽车联系图
3.1.2司机与汽车之间的联系
司机与汽车之间是驾驶关系如图3-2所示。
图3-2司机与汽车联系图
3.1.3乘客与车票之间的联系
乘客与车票之间是车票向乘客进行售票,如图3-3所示。
图3-3乘客与车票联系图
3.1.4乘客与汽车之间的联系
乘客与汽车之间的联系是乘客需要乘车去目的地,如图3-4.所示。
图3-4乘客与汽车联系图
3.1.5车票与班次之间的联系
车票与班次之间是属于关系如图3-5所示。
图3-5班次与车票联系图
3.2全局E-R图
系统管理员首先需要对车票,司机,汽车,班次,线路,乘客,客运站管理员等信息的管理。
根据车票和乘客之间的联系ER图,再根据乘客与汽车之间的联系进行连接,车票与班次的联系,最后汽车既与班次有联系连接。
形成以下总体ER图,系统管理员对车票,司机,汽车,线路,乘客等信息的管理,其中客运站管理员管理车票,班次。
车票售给乘客,然后乘客乘坐汽车,司机开车,汽车在线路上行驶去目的地。
如图3-5所示。
图3-5全局E-R图
4逻辑设计
实体型转化关系模式。
实体的属性就是关系的属性,实体间的码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转化为关系的属性。
一个1;n联系可以转化为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性军转换位关系的属性,二关系的码为n端实体的码。
一个1:
1关系可以转换为一个独立的关系模式,也也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为欢喜的属性,二关系的码为各实体码的组合。
具有相同码的关系模式可以合并。
由于本系统7张表,也只有6个实体,客运站管理员与车票之间是管理关系,两者之间的联系是1:
n;乘客与车票之间是售票关系,两者之间的联系是1:
1;
乘客与汽车之间是乘坐关系,两者之间的联系是m:
n;汽车与司机之间是驾驶关系,两者之间的联系是1:
1;汽车与班次之间是属于关系,两者之间的联系是1:
n;班次与车票之间是属于关系,两者之间的联系是1:
n;班次与客运站管理员之间是被管理关系,两者之间的联系是n:
1。
E-R图向关系模型的转化如下:
客运站管理员信息表(管理员姓名,密码)
车票信息表(车票编号,班次号,票价,已售座位,余票,出发地,目的地,管理员姓名,出发时间)。
乘客信息表(乘客姓名,车票编号,性别,出生日期)。
乘坐表(班次号,出发地,目的地,出发时间,到站时间,车牌号,乘客姓名)
汽车基本信息表(车牌号,班次号,汽车种类,最大载客量,司机名)。
司机信息表(司机名,驾驶证号,性别,手机,出生日期)。
班次信息表(班次号,出发地,目的地,出发时间,到站时间,乘坐次数,管理员姓名)
系统管理员信息表(登录名,密码)
5物理结构设计
数据库最终是要存储在屋里设备上的。
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。
为一个给定的逻辑数据模型选取一个最合适应用环境的物理结构的过程,就是数据库的物理设计。
数据库的物理设计主要分两步:
(1)根据逻辑设计确定数据库的物理结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
5.1数据库的物理结构
数据库的物理结构依赖于所选用的DBMS,依赖于计算机硬件环境,在设计时主要考虑以下几方面:
(1)确定数据库的存储结构
确定数据库的存储结构是要综合考虑存取时间、存取空间利用率和维护代价三方面的因素。
为了提高班次,车票,司机,汽车,以及线路之间的查询速度,把所有的存放在一个物理快中,如果存放不下,可以存放到预留的空白区或链接多个物理快。
聚簇功能可以大大提高按聚簇码进行查询的效率,聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇码值不必在每个元组重复存储,只要在一组中存一次就可以了,也因此可以节省一些存储空间。
聚簇功能不但适用于单个关系,也适用于多个关系。
(2)设计数据的存储路径
在关系数据库中,选择存储路径主要是指建立索引。
(3)确定数据的存放位置
为了提高系统性能,数据应该根据应用情况将易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。
(4)确定系统配置
DBMS产品在一般情况下都提供了一些存储分配参数,在初始情况下,系统都为这些变量赋予了合理得缺省值,但是这些值不一定适合每一种应用环境,在进行物理设计时,需要重新对这些变量赋值以改善系统的性能。
6数据库的实施
6.1数据库建库
1 建库
createdatabase客运公司运输管理
2 建表
(1)创建汽车基本信息表
CREATETABLE汽车基本信息表
(
车牌号VARCHAR(50)PRIMARYKEY,
汽车种类VARCHAR(50),
最大载客量VARCHAR(50),
班次VARCHAR(50)
司机名VARCHAR(50)
。
如图6-1所示
图6-1
(2)创建
CREATETABLE车票信息表
(
车票编号VARCHAR(50)PRIMARYKEY,
乘坐次数INT,
票价INT,
班次号VARCHAR(50)
已售座位INT,
余票INT,
出发时间VARCHAR(50)
出发地VARCHAR(50)
目的地VARCHAR(50)
管理姓名VARCHAR(50)
)如图6-2所示。
图6-2
(3)创建班次信息表
CREATETABLE班次信息表
(
班次号VARCHAR(50)PRIMARYKEY,
出发地VARCHAR(50),
目的地VARCHAR(50),
出发时间VARCHAR(50),
到站时间VARCHAR(50)。
乘坐次数INT
管理员姓名VARCHAR(50)
)如图6-3所示
图6-3
(4)创建乘客信息表
CREATETABLE乘客信息表
(乘客姓名VARCHAR(50),PRIMARYKEY,
车票编号VARCHAR(50),
性别VARCHAR(50),
出生日期VARCHAR(50),
)如图6-4所示。
图6-4
(5)创建乘坐表
CREATETABLE乘坐表
(
班次号VARCHAR(50)PRIMARYKEY,
出发地VARCHAR(50),
目的地VARCHAR(50),
出发时间VARCHAR(50),
到站时间VARCHAR(50),
车牌号VARCHAR(50),
乘客姓名VARCHAR(50)。
)如图6-5所示。
图6-5
(6)创建司机基本信息表
CREATETABLE司机信息表
(
司机名VARCHAR(50)PRIMARYKEY,
性别VARCHAR(50),
出生日期VARCHAR(50),
驾驶证号VARCHAR(50),
手机VARCHAR(50).如图6-6所示
图6-6
(7)创建客运站管理员信息表
CREATETABLE客运站管理员
(
管理员姓名VARCHAR(50)
密码NCHAR(10))。
如图6-7所示
图6-7
(8)创建系统管理员表单
CREATETABLE客运站管理员
(
登录名NCHAR(10),
密码NCHAR(10))。
图6-8
6.2数据库关系图的创建
数据库创建的表之间的关系如图6-9所示,该图是基于ER图所创建。
图6-9
6.3数据库视图的创建
在班次信息表与汽车基本信息表和司机基本信息表之间创建视图查询各线路各班次的各车型,以及开车司机,管理人员具体创建代码如下所示
createviewview_
asSELECT
dbo.班次信息表.目的地,dbo.班次信息表.班次号,dbo.班次信息表.出发地,dbo.班次信息表.管理员姓名,dbo.汽车基本信息表.车牌号,dbo.汽车基本信息表.汽车种类,dbo.司机信息表.司机名
FROMdbo.班次信息表INNERJOIN
dbo.汽车基本信息表ONdbo.班次信息表.班次号=dbo.汽车基本信息表.班次号INNERJOIN
dbo.司机信息表ONdbo.汽车基本信息表.司机名=dbo.司机信息表.司机名,测试如图6-10所示
图6-10
6.4触发器的创建
1.在车票信息表单与乘客信息表单之间创建触发器,实现售票时自动修改相应车次已售座位数,余票数。
代码如下:
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERtrigger[dbo].[c]
on[dbo].[乘客信息表]forinsert
as
ifexists(select*fromdbo.乘客信息表,dbo.车票信息表wheredbo.车票信息表.车票编号=dbo.乘客信息表.车票编号)
begin
updatedbo.车票信息表
set已售座位=已售座位+1,余票=余票-1
where车票编号=(select车票编号frominserted)
end
插入一条乘客信息
insertintodbo.乘客信息表
values('陆的','00006','男','1993')
测试如图6-11所示:
图6-11
2.在乘坐信息表单与班次信息表单之间创建触发器,实现乘坐汽车时自动修改相应班次统计的乘坐次数数。
代码如下:
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERtrigger[dbo].[b]
on[dbo].[乘坐表]forinsert
as
ifexists(select*fromdbo.乘坐表,dbo.班次信息表wheredbo.班次信息表.班次号=dbo.乘坐表.班次号)
begin
updatedbo.班次信息表
set乘坐次数=乘坐次数+1
where班次号=(select班次号frominserted)
end
插入一条乘坐信息
insertintodbo.乘坐表
values('0006','洛阳','西安','14;00','19:
00','011','陆平')
测试如图6-12所示:
图6-12
7系统总结
本客运站运输管理系统主要通过管理员对线路信息,班次信息,司机信息,乘客信息,车票信息,汽车信息等管理,其中在班次信息表与汽车基本信息表,司机基本信息之间创建视图查询各线路的各车型所开车的人及管理人员名字,而且在班次信息表创建了存储过程按线路可以实现统计乘坐次数,以及创建了存储过程按班次统计某段时间的乘坐次数,实现了在车票表单与乘客信息表单之间创建触发器,实现了售票时自动修改相应车次已售座位数和余票数,并且实现了在乘坐表单与班次信息表单之间创建触发器,实现了上车时时自动修改相应车次的乘坐次数。
本系统是面向一个西安长途汽车车站的列子,在本系统中还是有不完美的地方,比如,本系统不如真实系统的那样可以直接进入次日计票,局限小。
在经历了此次课程设计,系统的不足需今后再接再厉,努力完善。
8心得与体会
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。
几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践应用过程,增强了课外的动手实践能力。
数据库设计主要讨论数据库设计的方法和步骤应注意的事项。
概念结构设计采用的是实体属性分析法。
实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用E-R图表示。
逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的 DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。
总而言之,这次的课程设计我学到了很多有用很有实践意义的课外知识并体会了一个真理:
实践是检验真理的唯一标准!
在这里感谢老师和同学的帮助!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 客运 公司 运输 管理 设计 实现