车辆管理系统数据库设计.docx

上传人:b****7 文档编号:11190469 上传时间:2023-02-25 格式:DOCX 页数:19 大小:135.21KB
下载 相关 举报
车辆管理系统数据库设计.docx_第1页
第1页 / 共19页
车辆管理系统数据库设计.docx_第2页
第2页 / 共19页
车辆管理系统数据库设计.docx_第3页
第3页 / 共19页
车辆管理系统数据库设计.docx_第4页
第4页 / 共19页
车辆管理系统数据库设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

车辆管理系统数据库设计.docx

《车辆管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《车辆管理系统数据库设计.docx(19页珍藏版)》请在冰豆网上搜索。

车辆管理系统数据库设计.docx

车辆管理系统数据库设计

 

学年论文

(课程论文、课程设计)

 

题  目:

 车辆管理系统

作  者:

  

所在学院:

信息科学与工程学院

专业年级:

信息安全09-1

指导教师:

  

职  称:

     讲师 

 

2012年5月25日

 

一、概述

随着经济的日益增长,信息化时代已经到来,生活中各种信息趋向数字化、清晰化。

车辆管理系统就是在这样的一个环境中诞生的,交通的日益发达,使得一个单位不再是简单的一辆商务车,而是有很多辆车组成,而且车型也不再单一,这使得单位车辆信息复杂化。

因此我们将发挥计算机的庞大的存储空间,高性能的处理能力,高度可靠的数据安全,清晰的可视化数据等这些优势来辅助单位对车辆进行管理,加强对本单位使用车辆的管理,实现了计算机资源的合理利用,真正实现了减少劳动力提高劳动质量的目的

车辆管理系统要求有如下管理功能:

(1)用车申请

(2)派车登记

(3)车辆支出的登记

(4)查看功能:

可随时查看车辆基本信息、驾驶员基本信息、车辆使用记录、违章记录、车辆费用管理、事故记录;

(5)根据车号查看当前车的使用情况

(6)统计功能:

统计各车辆的违章记录、事故记录等;在某一时间内各车辆的油料使用情况

本人在系统开发中承担用户登录,账户管理,登陆密码加密等相关功能

二、需求分析

1、数据流图:

 

图1第一层数据流图

 

图2第二层数据流图

图3第三层数据流图

 

2、数字字典:

1)数据项:

表1数据项

数据项名

类型

字节长度

取值范围

数据项含义说明

单位职工

字符型

20

任意

车辆申请人

部门

字符型

20

任意

车辆申请人所在部门

外出目的地

字符型

20

任意

申请人外出目的地

外出时间

字符型

20

任意

申请人外出时间

外出事由

字符型

20

任意

申请人外出原因

车牌号

字符型

20

任意

标识车辆车牌号

出车时间

整型

20

任意

车辆借出时间

返回时间

整型

20

任意

车辆返还时间

驾驶员驾照号

字符型

20

任意

司机的驾照编号

事故记录单

字符型

20

任意

车辆外出违章、事故的记录

车辆费用单

字符型

20

任意

车辆外出花费费用

事故记录

字符型

20

任意

车辆外出违章记录

编号

整型

20

任意

对单位员工的标识

汽车编号

整型

20

任意

单位车辆的编号

驾驶员编号

整型

20

任意

对单位驾驶员的标识

2)数据处理:

表2数据处理

处理过程名

说明

输入

输出

处理

添加

添加借出归/还信息

车辆信息表

车辆信息表

执行添加操作

查询

查询借出归/还信息

车辆信息表

车辆信息表

执行查询操作

修改

修改借出归/还信息

车辆信息表

车辆信息表

执行修改操作

删除

删除借出归/还信息

车辆信息表

车辆信息表

执行删除操作

统计

统计车辆借出归还信息

车辆信息表

车辆信息表

执行统计操作

 

3)数据流:

表3数据流

数据流名

说明

数据流来源

数据流去向

组成

用车申请

员工对借车原由的描述

员工

车辆管理系统

申请人、所在部门、外出目的地,外出时间、外出事由

派车登记表

对借出车辆的登记

内部车队

车辆管理系统

车牌号、车辆型号、燃油种类、司机信息

违归处罚

对违归使用的处罚明细

车辆管理系统

员工(司机)

违章记录、事故记录、过期

还车

还车信息登记

员工

车辆管理系统

车辆信息、司机信息

借车凭证

借车信息登记

车辆管理系统

员工

车辆信息、司机信息

提交记录

司机对外出使用车辆的记录信息

司机

车辆管理系统

事故、燃油、维修等状况的记录

检查异常(正常)

对归还车辆的检查看是否超期等(正常)

申请单据

车辆管理系统

检查归还汽车是否被损坏、超期等

结算

费用结算

车辆管理系统

员工(司机)

对违规、超期罚款结算

更新

对表数据的增删修改等

车辆管理系统

各个信息表格

对各个数据的变动统计

4)数据存储:

表4数据存储

数据存储名

说明

编号

输入数据流

输出数据流

组成

存取方式

频率

司机信息统计表

对司机的统计信息

01

司机信息

车辆管理系统

司机姓名、住址、所在部门、联系电话

随机

更新

借还统计表

车辆借出归还统计信息

02

借出/归还信息

车辆管理系统

车辆车牌号、车辆借出时间、车辆归还时间

随机

更新

车辆信息统计表

对车辆目前情况的统计

03

汽车的借还信息

车辆管理系统

车辆忙闲维修以及外出使用记录与统计

随机

更新

三、概要分析

1、分析

实体:

职工、车辆、驾驶员、出车、事故、维修、油耗、变动

实体属性:

职工:

编号、姓名、性别、籍贯、生日、政治面貌、住址、身份证号、电话、部门、工龄

车辆:

汽车编号、车牌号、车型、忙闲、车名、车龄、变动

驾驶员:

驾驶员编号、忙闲、驾照号

事故:

时间、地点、类型、费用

维修:

时间、地点、类型、费用

油耗:

时间、地点、燃油类型、费用

变动:

变动单号、汽车编号、变动时间、原因

出车:

时间

 

2、E—R图:

四、逻辑结构设计

1、关系模式:

R1、车辆(汽车编号,车名,车型,车牌号,忙/闲,车龄)

R2、职工(编号,姓名,性别,部门,籍贯,生日,政治面貌,住址,身份证号,工龄,电话,部门)

R3、申请(编号,汽车编号,地点,事由,时间)

R4、驾驶员(驾驶员编号,驾照号,忙闲)

R5、事故(汽车编号,时间,地点,费用,类型)

R6、维修(汽车编号,时间,地点,费用,类型)

R7、油耗(汽车编号,时间,地点,费用,燃油类型)

R8、变动(变动单号,汽车编号、变动时间、原因)

2、关系模式规范化:

R1、车辆(汽车编号,车名,车型,车牌号,忙/闲,车龄)

R2、职工(编号,姓名,性别,部门,籍贯,生日,政治面貌,住址,身份证号,工龄,电话,部门)

R3、申请(编号,汽车编号,地点,事由,时间)

编号,汽车编号为外码

R4、驾驶员(驾驶员编号,驾照号,忙闲)

R5、事故(汽车编号,时间,地点,费用,类型)

R6、维修(汽车编号,时间,地点,费用,类型)

R7、油耗(汽车编号,时间,地点,费用,燃油类型)

上述关系中的每个属性都是不可再分的,所以满足第一范式。

上述关系中的每个属性都完全依赖于关系主码,所以满足第二范式。

上述关系都不存在传递依赖关系,所以满足第三范式。

 

3、最后确定的关系定义:

1)职工信息表:

staffs

表5职工信息表

含义

属性名

数据类型

长度

完整性约束

备注

编号

staff_ID

Int

pk

员工统一号

姓名

staff_name

varchar

20

Notnull

性别

Sex

varchar

20

Notnull

籍贯

Nationality

varchar

20

Notnull

生日

birth

varchar

20

Notnull

政治面貌

Political_Party

varchar

20

Notnull

家庭住址

Family_Place

varchar

20

Notnull

身份证号

Id_Card

varchar

20

NotNull

证件号

BadgeID

varchar

20

Notnull

电话

Home_phone

varchar

20

Notnull

邮编

Postcode

varchar

20

Notnull

工龄

InDate

varchar

20

Notnull

2)维修信息表:

reparis

表6维修信息表

含义

属性名

数据类型

长度

完整性约束

备注

汽车编号

carId

Int

pk

执行单

exeID

int

时间

haptime

Varchar

20

地点

location

Varchar

20

费用

fee

Int

类型

haptype

Varchar

20

3)事故信息表:

accidents

表7事故信息表

含义

属性名

数据类型

长度

完整性约束

备注

汽车编号

carId

Int

Pk

执行单

exeID

int

时间

atime

Varchar

20

地点

location

Varchar

20

费用

fee

Int

类型

haptype

Varchar

20

4)油耗信息表:

fuels

表8油耗信息表

含义

属性名

数据类型

长度

完整性约束

备注

汽车编号

carId

Int

pk

执行单

exeID

int

时间

atime

Varchar

20

地点

location

Varchar

20

费用

fee

Int

燃油种类

haptype

Varchar

20

汽车燃油的类型

5)车辆信息表:

carinfo

表9车辆信息表

含义

属性名

数据类型

长度

完整性约束

备注

汽车编号

carId

Int

Pk

车名

carname

varchar

20

车型

ctype

varchar

20

车牌号

number

varchar

20

车龄

age

varchar

20

汽车使用的时长

忙/闲

bof

varchar

20

当前车辆状态

 

6)驾驶员信息表:

driverinfo

表10驾驶员信息表

含义

属性名

数据类型

长度

完整性约束

备注

驾驶员编号

driId

Int

pk

驾照号

licence

varchar

20

notnull

忙/闲

busy_free

varchar

20

notnull

当前驾驶员状态

7)申请信息表:

applicants

表11申请信息表

含义

属性名

数据类型

长度

完整性约束

备注

编号

staff_ID

Int

pk

员工编号号

汽车编号

carId

Int

notnull

地点

location

Varchar

20

notnull

事由

aplwhy

varchar

20

notnull

申请汽车的原因及用途

时间

apltime

Int

notnull

申请时间及时长

五、物理设计

索引说明

用主键索引,即利用数据库默认索引。

六、系统实现

采用的工具有:

visualbasic6.0

SQLServer2005

完成的功能:

用户登录账户管理等相关方面的功能

部分功能代码如下:

1、用户登录功能代码如下:

1.1数据有效性检查

IftxtUser=""Then

MsgBox"请输入用户名"

txtUser.SetFocus

ExitSub

EndIf

IftxtPwd=""Then

MsgBox"请输入密码"

txtPwd.SetFocus

ExitSub

EndIf

1.2将用户输入赋值到变量中

NameKey=MakeStr(txtUser)

PasswordKey=MakeStr(txtPwd)

1.3判断用户是否存在

IfMyUser.In_DB(NameKey)=FalseThen

MsgBox"用户名不存在"

Try_times=Try_times+1

IfTry_times>=3Then

MsgBox"您已经三次尝试进入本系统,均不成功,系统将关闭"

DBapi_Disconnect

End

Else

ExitSub

EndIf

EndIf

1.4判断密码是否正确

MyUser.GetInfo(NameKey)

IfMyUser.Pwd<>PasswordKeyThen

MsgBox"密码错误"

Try_times=Try_times+1

IfTry_times>=3Then

MsgBox"您已经三次尝试进入本系统,均不成功,系统将关闭"

DBapi_Disconnect

End

Else

ExitSub

EndIf

EndIf

2、账户管理功能代码如下

2.1'启动窗体FrmUserEdit

.Show1

EndWith

2.2'刷新用户名列表框

AdoUserList.Refresh

DataList1_Click

EndSub

2.3'读取当前用户数据

MyUser.GetInfo(DataList1.Text)

2.4'设置用户名

lblUserName=MyUser.username

2.5'设置用户类型

IfFormat(MyUser.username,"<")="admin"Then

lblUserType="系统管理员"

 

2.6'确认删除

IfMsgBox("是否删除当前用户",vbYesNo,"请确认")=vbYesThen

'删除当前用户

MyUser.Delete(DataList1.Text)

'刷新用户名列表框内容

AdoUserList.Refresh

DataList1_Click

EndIf

EndSub

2.7把当前用户的数据赋值到FrmUserEdit窗体的相关位置

WithFrmUserEdit

.OriUser=MyUser.username

.txtUserName=MyUser.username

.txtPass=MyUser.Pwd

.txtPass2=MyUser.Pwd

.modify=True

'如果当前用户为Admin,则不能修改用户名

IfFormat(MyUser.username,"<")="admin"Then

.txtUserName.Enabled=False

EndIf

'将变量Modify设置为True,表示当前状态为修改已有数据

2.8'启动窗体FrmUserEdit

.Show1

EndWith

2.9'刷新用户名列表框

AdoUserList.Refresh

DataList1_Click

EndSub

2.10'读取当前用户数据

MyUser.GetInfo(DataList1.Text)

2.11'设置用户名

lblUserName=MyUser.username

2.12设置用户类型

IfFormat(MyUser.username,"<")="admin"Then

lblUserType="系统管理员"

3用户登录密码加密功能代码如下:

PrivateFunctionEncryption(ByValstrEncAsString)AsString

DimiAsInteger'for循环用

DimstrTmpAsString'临时字符存储

Encryption=""

If(Len(strEnc)<1)Then

Encryption=""

Else

Fori=1ToLen(strEnc)

IfAsc(Mid(strEnc,i,1))<-6000AndMid(strEnc,i,1)<>"?

"Then

strTmp=Chr(Asc(Mid(strEnc,i,1))-5)'对gbk的汉字进行加密

ElseIfAsc(Mid(strEnc,i,1))<=126AndAsc(Mid(strEnc,i,1))>=80Then

strTmp=Chr(Asc(Mid(strEnc,i,1))-47)'对大于79的asc进行加密

ElseIfAsc(Mid(strEnc,i,1))<=79AndAsc(Mid(strEnc,i,1))>=33Then

strTmp=Chr(Asc(Mid(strEnc,i,1))+47)'对小于80的asc进行加密

Else

strTmp=Mid(strEnc,i,1)'其它的字符不去转化,但是要显示的

EndIf

Encryption=Encryption&strTmp'加密后的字符

Next

EndIf

EndFunction

七、总结

在将近一学期的课程设计中,我们用vb语言以及SQLServer2005做了一个车辆管理系统,分别实现了对车辆管理系统的添加车辆信息、删除车辆信息、修改车辆信息退出等几大功能。

在这次项目中,我们都很用心去做,但是,在项目中也出现了很多的问题,最大的问题就是对VistaBasic6.0软件的不了解,在实现与数据库的连接时经常会出现各种不同的错误,在实现一些功能时系统常常会报错。

在将近一学期的课程设计中,我们学到了很多东西,也发现了很多的问题,以前都没遇见过的,收获很大,在对不同的功能代码是不一定可以完整的执行的,不过大概都是一样的,只有一些小的细节。

在整个设计过程中,通过怎样对把各个管理信息连接起来的分析,锻炼了我们对事情的分析能力,通过怎样解决过程中出现的问题,提高了我们查找文献的能力、对网络资源的利用能力和和其他同学的交流沟通能力。

而且,经历这次的课程设计,我们也学会了自学和分工协作。

我们觉得每一次的课程设计,都是让我们对原有的知识从了解表面到深入本质,从个体学习到整体把握的跳跃,对新知识的汲取,更是让我们把课本的知识应用到实际中,让我们了解了我们的学习有什么用,能够解决什么样的问题,增加我们的自信和学习的动力。

总之,通过这次的课程设计,我们收获匪浅。

 

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

当前位置:首页 > 经管营销 > 经济市场

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

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