运输车辆管理数据库设计短学期报告.docx

上传人:b****1 文档编号:22801836 上传时间:2023-04-28 格式:DOCX 页数:26 大小:286.39KB
下载 相关 举报
运输车辆管理数据库设计短学期报告.docx_第1页
第1页 / 共26页
运输车辆管理数据库设计短学期报告.docx_第2页
第2页 / 共26页
运输车辆管理数据库设计短学期报告.docx_第3页
第3页 / 共26页
运输车辆管理数据库设计短学期报告.docx_第4页
第4页 / 共26页
运输车辆管理数据库设计短学期报告.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

运输车辆管理数据库设计短学期报告.docx

《运输车辆管理数据库设计短学期报告.docx》由会员分享,可在线阅读,更多相关《运输车辆管理数据库设计短学期报告.docx(26页珍藏版)》请在冰豆网上搜索。

运输车辆管理数据库设计短学期报告.docx

运输车辆管理数据库设计短学期报告

运输公司车辆管理数据库设计

一、需求分析

系统目标:

建立车辆管理系统的目标是实现对车辆的综合管理,实现包括对驾驶员信息、车辆信息、运营信息、出车信息、维修信息、事故信息的查询和修改等。

车辆管理的基本要求是:

1.建立车辆信息库,实现车辆基本信息和驾驶员基本信息的统一管理。

2.针对每辆车的出车运营情况进行记录,实现车辆自我调度。

3.对每辆车的事故、违规情况进行记录。

4.针对每辆车的维修情况进行记录。

分析说明:

业务流程分析的主要目的是要弄清楚一个公司的业务工作是如何进行的。

在进行业务流程分析时,需要按照原有信息流动过程,逐步的调查分析所用环节的处理业务、处理内容,处理顺序和对处理时间的要求,弄清楚各个环节需要的信息、信息来源、流径去向、处理方法、计算方法、提供信息的时间和信息形态等。

上图为是运输公司车辆管理业务流程图:

上图为运输公司车辆管理顶层数据流图

上图为运输公司车辆管理运营出车管理二层数据流图

 

数据字典包括数据项、数据结构、数据流、数据存储和处理过程。

a)数据项条目举例

名称:

驾驶员编号

说明:

表示驾驶员的编号

类型:

变长字符串

长度:

6

有关数据结构:

驾驶员信息表

名称:

车辆卡编号

说明:

表示车辆的编号

类型:

变长字符串

长度:

6

有关数据结构:

车辆登记卡信息表

b)数据结构条目举例

名称:

驾驶员信息

 说明:

表示公司驾驶员的信息

结构:

驾驶员编号、姓名、性别、驾驶证号码、身份证号码、联系电话、家庭住址、是否空闲

有关的数据流、数据存储:

驾驶员信息表、车辆运营信息表

名称:

车辆登记卡信息

 说明:

表示公司车辆的信息

结构:

车辆卡编号、牌照号码、车型、载货量、购车费用总额、是否空闲

有关的数据流、数据存储:

车辆登记卡信息表、车辆运营信息表

c)数据流条目举例

名称:

车辆维修信息

 说明:

表示公司车辆维修信息的流向

数据来源:

维修管理部

数据流去向:

高层领导

包含的数据结构:

车辆维修表

(维修单号、车辆卡编号、维修日期、修理厂名称、报修人、报修费用)

名称:

车辆登记卡信息

说明:

表示车辆信息的流向

数据来源:

车辆管理部

数据流去向:

高层领导

包含的数据结构:

车辆登记卡信息表

(车辆卡编号、牌照号码、车型、载货量、购车费用总额、是否空闲)

d)数据存储条目举例

名称:

车辆事故信息表

 说明:

表示记录车辆事故的信息表编号:

D4

结构:

车辆卡编号驾驶证号码、事故发生时间、事故地点

、、、、、、、、有关数据流:

P4—>D4

e)处理过程条目

名称:

车辆信息处理

 说明:

当公司有新的运营任务时

输入:

D4—>P4.2,P4.2—>P3

输出:

P3—>D1

处理:

 查看D1中公司车辆的信息,作相应的处理

 

二、概念设计

1.根据上述需求分析,进行数据库概念设计,得出以下各个E—R模型图:

车辆登记卡信息实体E-R图:

驾驶员信息实体E-R图:

车辆运营信息实体:

出车实体E-R图:

车辆维修信息实体E-R图:

车辆事故信息实体E-R图:

 

以下是总E—R模型图:

该系统设计的实体集有:

驾驶员信息实体集:

具有的属性有驾驶员编号、驾照号码、姓名、性别、身份证号码、家庭住址、联系号码、是否空闲。

出车信息实体集:

具有的属性有出车记录号、出车卡编号、驾驶员编号、出车时间、记录状态。

运营信息实体集:

具有的属性有运营编号、货物重量、客户、日期、价格、客户电话。

车辆登记卡信息实体集:

具有的属性有车辆卡编号、牌照号码、车型、购车费用总额、载货量、是否空闲。

车辆维修实体集:

具有的属性有维修单位、保修费用、报修日期、报修费用、修理厂名称、报修人。

车辆事故实体集:

具有的属性有车辆卡编号、驾驶证编号、事故地点、事故发生的时间。

一个驾驶员可以出车好几次,但是每一次出车只有一个驾驶员驾驶,所以驾驶员和出车之间

的联系为1:

N的联系。

一次运营信息可以有多次出车情况,一次出车也可以是集合多次运营信息,所以运营信息和

出车信息之间的联系为N:

M的联系。

一张车辆登记卡只能记录一次出车,每次出车可以有多个车辆登记卡出车,所以车辆登记卡

和出车信息之间的联系是1:

N的联系。

一张车辆登记卡只能记录维修车辆一次,每次车辆维修可以有多个车辆登记卡一起记录不同

原因的车辆维修,所以车辆登记卡和车辆维修之间的联系是1:

N的联系。

一张车辆登记卡只能记录事故车辆一次,每次车辆事故可以有多个车辆登记卡记录,所以车

辆登记卡和车辆事故之间的联系是1:

N的联系。

以下是总E—R模型图:

三、逻辑设计

车辆登记卡记录表

属性名

数据类型

可否为空

备注

车辆卡编号

varchar(6)

主键

牌照号码

varchar(20)

 

车型

varchar(10)

 

载货量

int(4)

 

购车费用总额

date(13)

 

是否空闲

boolean

(1)

 

 

驾驶员基本信息表

属性名

数据类型

可否为空

备注

驾驶员编号

varchar(6)

主键

姓名

varchar(20)

 

性别

varchar

(2)

 

出生日期

date(8)

 

身份证号码

varchar(20)

 

驾驶证号码

varchar(12)

 

家庭住址

varchar(40)

 

联系电话

varchar(20)

 

是否空闲

boolean

(1)

 

 

运营信息表

属性名

数据类型

可否为空

备注

运营编号

varchar(6)

主键

日期

date(8)

 

客户

varchar(10)

 

货物重量

int(4)

 

价格

char(13)

 

客户电话

char(20)

 

 

出车记录情况表

属性名

数据类型 

可否为空

备注

出车记录号

varchar(6)

主键

出车卡编号

varchar(6)

 

驾驶员编号

varchar(6)

外键

记录状态

varchar(10)

已指派/待指派

出车时间

date(8)

 

 

车辆维修单记录表

属性名

数据类型

可否为空

备注

车辆卡编号

varchar(6)

外键

维修单号

varchar(10)

主键

维修日期

Date(8)

修理厂名称

varchar(40)

报修人

varchar(20)

报修费用

Smallint(13)

车辆事故记录表

属性名

数据类型

可否为空

备注

车辆卡编号

varchar(6)

外键

驾驶证号码

varchar(12)

事故发生时间

datetime(8)

事故地点

varchar(40)

将E-R模型转换为关系模式

经分析,可将E-R模型中的五个实体分别转换为七个关系模式:

驾驶员信息(驾驶员编号、姓名、性别、身份证号码、驾驶证号码、家庭住址、联系电话、是否空闲、出车记录号)

出车信息(出车记录号、出车卡编号、驾驶员编号、记录状态、出车时间)

运营信息(运营编号、货物重量、日期、价格、客户电话、客户)

车辆登记卡信息(车辆卡编号、牌照号码、车辆型号、载货量、购车费用总额、是否空闲、出车记录号)

车辆事故(驾驶员号码、事故发生时间、事故地点、车辆卡编号)

车辆维修(维修单号、修理厂名称、报修人、报修费用、维修日期、车辆卡编号)

依据(出车记录号、运营编号)其中,有下划线的键表示是主键。

四、物理结构设计

数据库的物理设计通常分为两步:

(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构

(2)对物理结构进行评价,评价的重点是时间和空间效率

在我们创建的本车辆运输的数据库中,因为考虑的方面还不是很全面,因此数据库的规模不是很大,属于微型数据库。

一般来说,这样的数据库是不需要进行分区和建立索引的。

如果要象征性地建立索引,就要先统计在这个数据库中,哪些元素使用的频率较高,最后根据较高的频率元素建立索引和分区。

在此实例中,我建议用驾驶员编号和车辆卡编号作为索引,这样可以把多张表格联系起来。

五、数据实施和维护

1.创建表创建表

1.创建车辆登记卡记录表

Createtable创建车辆登记卡记录表(

车辆卡编号varchar(6)primarykey,

牌照号码varchar(20)notnull,

车型varchar(10)null,

载货量int(4)null,

购车费用总额date(13)null,

是否空闲boolean

(1)notnull)

2.创建驾驶员基本情况表

createtable驾驶员基本情况表(

驾驶员编号varchar(6)primarykey,

姓名varchar(20)notnull,

性别varchar

(2)notnull,

身份证号码varchar(20)null,

驾驶证号码varchar(12)null,

家庭住址varchar(40)null,

联系电话varchar(20)null,

是否空闲boolean

(1)notnull)

3.Creattable运营信息表

运营编号varchar(6)notnullprimarykey,

日期date(8)notnull,

客户varchar(10)notnull,

货物重量int(4)notnull,

价格date(13)notnull,

客户电话char(20)notnull

4.创建出车记录表

createtable创建出车记录表(

出车记录号varchar(6)primarykey,

车辆卡编号varchar(6)notnull,

驾驶员编号varchar(6)notnull,foreignkeyreferences驾驶员信息(驾驶员编号),

记录状态varchar(10)notnull,

出车时间date(8)null,

 

5.Createtable车辆维修单记录

车辆卡编号varchar(6)foreignkeyreferences车辆登记卡(车辆卡编号)

维修单号varchar(10)primarykey

维修日期Date(8)notnull

修理厂名称varchar(40)notnull

报修人varchar(20)notnull

报修费用Smallint(13)notnull

6.Createtable车辆事故记录

车辆卡编号varchar(6)foreignkeyreferences车辆登记卡(车辆卡编号)

驾驶证号码varchar(12)notnull

事故地点varchar(40)notnull

事故发生时间datetime(8)notnull

 

在驾驶员基本信息表和出车记录表中插入一定的数据:

Insertinto驾驶员基本信息表(姓名,身份证号码)

Values(‘张三’,’330802************’)

Insertinto出车记录情况表(出车记录号,驾驶员编号)

Values(’235’,’023’)

Insertinto出车记录情况表(出车卡编号,出车时间)

Values(’014’,’15:

30’)

2.创建视图

Createview驾驶员信息与出车记录登记表

Asselect驾驶员编号,驾驶证号码,姓名,出车记录,出车卡编号

From驾驶员基本信息表,出车记录表

Where驾驶员编号=’34’

3.建立索引

CreateuniqueindexIX_车辆卡编号on车辆登记卡记录(车辆卡编号)

CreateuniqueindexIX_牌照号码on车辆登记卡记录(牌照号码)

CreateuniqueindexIX_驾驶员编号on驾驶员基本信息(驾驶员编号)

CreateuniqueindexIX_身份证号码on驾驶员基本信息(身份证号码)

4.表中数据操作

增加:

Insertinto驾驶员基本信息表(驾驶员编号,驾驶证号码)

Values(’34’,’85693’)

删除:

Delete*

Form驾驶员基本信息表

Where姓名=’张三’

修改:

Update出车记录情况表

Set出车记录号=233

Where‘驾驶员编号’=023

5.使用表格操作:

简单查询:

Select出车卡编号,出车时间

Form出车记录情况表

模糊查询

Select姓名

Form驾驶员基本信息表

Where姓名like“王%”

连接查询

Select驾驶员基本信息表.*,出车记录情况表.*

Form驾驶员基本信息表,出车记录情况表

Where驾驶员基本信息表.驾驶员编号=出车记录情况表.驾驶员编号

嵌套查询

Select姓名

Form驾驶员基本信息表

Where驾驶员编号=(select驾驶员编号

Form驾驶员基本信息表

Where驾驶员编号=34)

6.创建触发器,存储过程,实现表间的级联删除或修改

Creattriggerinsert-or-update–sal

Beforeinsertorupdateon运营信息表

Foreachrow

Asbegin

If(货物重量<70000)

New.记录状态:

=已指派

Endif

End

六、总结(心得)

在做报告时,前后遇到很多困难。

首先是选题的困难,在诸多的题目里面,我们选择了比较难的题目————车辆运输管理。

这个题目比较难,需要考虑的因素很多,这是检验我们学习能力的一种考验。

在选择了这个题目之后,我们在网上找了相关的资料,但是经过老师的指点以后,我们发现,网上所找到的资料不在运输问题的重点上,因此,完全没有可参照性,以后的每个步骤都需要自己慢慢地摸索。

因为没有实际的工作经验和逻辑完整性的欠缺,我们想像的与现实中的车辆调度数据库完全不符合,里面产生了很多问题。

比如说考虑问题太片面性,通常忽略某一个重要方面,如车辆、驾驶员是否空闲,车辆遇上意外的处理方法,车辆费用的叠加方法等。

在和图书馆的案例对比了以后,我借鉴了里面的格式,按部就班地建立运输关系数据库的模型。

其中,在画E-R模型图的时候,由于内容较为复杂,在有限的版面里面,不能合理安排,把所有的关系都表示的明白。

因此,我们就分层次把所有的关系结合起来,这样有点难度。

现在,我们所考虑到的所有的问题都解决了,但是我们知道,还是有很多的漏洞还存在着。

这是一个不完整的数据库系统,还有很多的不足,甚至存在着很惊人的漏洞,这有待于加强我们对操作的锻炼。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1