数据库分析与设计报告车辆管理系统.docx
- 文档编号:4319893
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:23
- 大小:87.06KB
数据库分析与设计报告车辆管理系统.docx
《数据库分析与设计报告车辆管理系统.docx》由会员分享,可在线阅读,更多相关《数据库分析与设计报告车辆管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
数据库分析与设计报告车辆管理系统
1.需求分析
2.概念结构设计
3.逻辑结构设计
4.物理结构设计
5.数据库的建立和测试
6.数据库运行和维护
《车辆管理系统》数据库设计
班级:
11计算机转
学号:
1116939040
姓名:
王湘萍
一.需求分析
1.1可行性分析现在随着企业规模的扩大以及车辆作为最为普遍的交通工具,在企业中已经不
是单一的存在,由于单位车辆数目的急剧增加,与之相对应的问题随之而生,比如车辆的使用权问题,车辆的费用问题等,不再是简单的少量的数据。
为了解决这一系列的问题,我们必须借助于电脑的强大的数据处理能力和存储能力,如此可以减少人力财力来维护这些数据,可以用更少的投入来换取更佳的数据管理。
因此,在这样的情况下,开发单位车辆管理系统是可行的,是必要的。
如今,MIS开发已经慢慢的驱向成熟,车辆管理系统也有部分开发,但是都还不是十分完善。
现今已经开发的车辆管理系统都是针对以运营为主的具有盈利目的的单位。
比如,公交管理、出租车管理、运输公司管理、汽车站点的管理,而这些管理最主要是针对盈利的管理,很少有针对各种汽车使用权、车辆调配等各种普通单位,不是以车辆运营为盈利手段的车辆管理,针对这点,此系统就是适合如今大多数企业管理的车辆管理系统。
通过计算机系统对学校进行全面的管理,满足了学校的现代化管理的要求。
1)经济性
1系统建设不需要很大的投入;
2可缩减人员编制,减少人力费用;
3人员利用率的改进;
2)技术性
1处理速度快,准确;
2通过权限的设置,数据的安全性好;
3方便查询;
4控制精度或生产能力的提高
3)社会性
1可降低工作人员工作强度,提高效率,会得到上下员工的一致同意的;
2可引进先进的管理系统开发方案,从而达到充分利用现有资源
1.2需求分析
现代信息技术特别是计算机网络技术的飞速发展,使我们的管理模式产生了质的飞跃,网络化管理将成为信息时代的重要标志和组成部分。
探索、研究并构建适宜于在计算机网络环境下的管理模式,是我们责无旁贷的使命。
通过调查,要求系统需要具有以下功能:
1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面。
2)由于该系统的使用对象多,要求有较好的权限管理。
3)方便的数据查询,支持多条件查询。
4)基础信息管理与查询(包括车辆信息、用车记录、部门信息)。
5)通过计算机,能够直接“透视”仓库存储情况。
6)数据计算自动完成,尽量减少人工干预。
7)系统退出。
1.3系统的模型结构
该系统的模型结构如图2.1所示:
图2.1系统的模型结构
1.4业务流程分析
4车辆上下限
用户登
陆
T车辆统
计
统计报表
用户信息
车辆基本信息
驾驶员信息
基本信息
费用信息
出车信息
回车信息
■用户权限信息
驾驶员类别
息
出车信息
回车信息
出车时间到期报警信
《车辆管理系统》软件的数据流图是比较清晰的,对各功能模块来说都比较有规律。
但完整的图比较繁琐。
车辆管理系统顶层图
车辆管理系统0层图
1.5数据字典
数据字典是描述数据流图中数据的信息的集合。
它对数据流图上每一个成分:
数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。
从上面数据流图可知,本系统包含以下数据流、数据存储、数据加工。
1、数据流数据流名称:
出车单别名:
无简述:
指驾驶员出车的清单。
来源:
管理部
去向:
加工“车辆出库信息”组成:
出车单编号+车辆类别编号
+出车日期+库位编
数据流名称:
车辆入库单
别名:
无简述:
指车辆入库的清单。
来源:
管理部
去向:
加工“添加入库信息”
组成:
入库单编号+车辆类别编号+计量单位+数量+
入库日期+库位编号
数据流名称:
费用单别名:
无简述:
车辆产生费用的清单。
来源:
驾驶员去向:
加工“添加费用信息”组成:
费用单编号+费用类别编号二、概念设计
2.2系统局部E-R图
+计量单位+数量+
费用日期+费用原因
下圈星车辆视羽E-R图土
卜宰也车实低E-R;唤
卜-誓是车胡汩耗対3暫:
乍辆细殘
2.3系统全局E-R图
5谊耗
N逗亘心〉Teal:
士三
宕空頑Wdpi》Eimlw
<7ndt;t!
wd?
fzir.tiYLTrl".pi》
主砖爲习
BllftunbiF
ii?
=tifis^l /*DBMSname: MicrosoftSQLServer2005*/ /*Createdon: 2012/6/1223: 16: 03*/ifexists(select1 fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidand o.type='F') wherer.fkeyid=object_id('出车')ando.name='FK_出车—承担_驾驶员') altertable出车 dropconstraintFK_出车—承担_驾驶员 go ifexists(select1 fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidand o.type='F') wherer.fkeyid=object_id(' 出车')ando.name='FK_出车_指派_车辆') altertable出车 dropconstraintFK_出车_指派_车辆 go ifexists(select1 fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidand o.type='F') wherer.fkeyid=object_id('车辆事故')ando.name='FK_车辆事故_发生_ 车辆') altertable车辆事故 dropconstraintFK_车辆事故_发生_车辆 go ifexists(select1 fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidand o.type='F') wherer.fkeyid=object_id('车辆保险')ando.name='FK_车辆保险_授权_ 车辆') altertable车辆保险 dropconstraintFK_车辆保险_授权_车辆 go ifexists(select1fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidand o.type='F') wherer.fkeyid=object_id('车辆油耗')ando.name='FK_车辆油耗_缴纳_ 车辆') altertable车辆油耗 dropconstraintFK_车辆油耗_缴纳_车辆 go ifexists(select1 fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidand o.type='F') wherer.fkeyid=object_id('车辆维修')ando.name='FK_车辆维修_加油_ 车辆') altertable车辆维修 dropconstraintFK_车辆维修_加油_车辆 go ifexists(select1fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidand o.type='F') wherer.fkeyid=object_id('车辆费用')ando.name='FK_车辆费用_发车_ 车辆') altertable车辆费用 dropconstraintFK_车辆费用_发车_车辆 go ifexists(select1 fromsysindexes whereid=object_id('出车') andname='指派_FK'andindid>0andindid<255) dropindex出车.指派_FK go ifexists(select1 fromsysindexeswhereid=object_id('出车') andname='承担_FK' andindid>0 andindid<255) dropindex出车.承担_FK go ifexists(select1 fromsysobjects whereid=object_id('出车') andtype='U') droptable出车 go ifexists(select1 fromsysobjects whereid=object_id('车辆') andtype='U') droptable车辆 go ifexists(select1 fromsysindexes whereid=object_id('车辆事故') andname='发生_FK'andindid>0 andindid<255) dropindex车辆事故.发生_FK go ifexists(select1 fromsysobjects whereid=object_id('车辆事故') andtype='U') droptable车辆事故 go ifexists(select1 fromsysindexeswhereid=object_id('andname='授权andindid>0 车辆保险') FK' andindid<255) dropindex车辆保险.授权_FK go ifexists(select1 fromsysobjectswhereid=object_id('andtype='U') droptable车辆保险 车辆保险') go ifexists(select1 fromsysindexeswhereid=object_id('andname='缴纳 车辆油耗') FK' andindid>0andindid<255) dropindex车辆油耗.缴纳_FK go ifexists(select1 fromsysobjectswhereid=object_id('andtype='U') 车辆油耗') droptable车辆油耗 go ifexists(select1 fromsysindexeswhereid=object_id('andname='加油andindid>0 车辆维修') FK' andindid<255) dropindex车辆维修.加油_FK go ifexists(select1 fromsysobjectswhereid=object_id('andtype='U')droptable车辆维修 车辆维修') go ifexists(select1 fromsysindexeswhereid=object_id('andname='发车 车辆费用') FK' andindid>0andindid<255) dropindex车辆费用.发车_FK go ifexists(select1 fromsysobjectswhereid=object_id('andtype='U') 车辆费用') droptable车辆费用 go ifexists(select1 fromsysobjects whereid=object_id('驾驶员') andtype='U') droptable驾驶员 go /*======== /*Table: 出车 */ /*========createtable 出车( 时间 datetime notnull, 编号 numeric null, 车牌 numeric null, constraintPK_出车primarykeynonclustered(时间) ) go/*Index: 承担_FK*/createindex承担_FKon出车(编号ASC ) go */ */ /*Index: 指派_FK */createindex指派_FKon出车( 车牌ASC ) go/*==============================================================*//*Table: 车辆*/ /*==============================================================*/createtable车辆( 车牌numericnotnull, 信号textnotnull, constraintPK_车辆primarykeynonclustered(车牌)go /*Table: 车辆事故 */ /*=========== ====*/ createtable 车辆事故( 事故地点 text notnull, 车牌 numeric null, 事故时间 text null, constraintPK _车辆事故 primarykeynonclustered( 事故地点) )go /*=========================== ===========*/ /*Index: 发生_FK */ /*=========================== ===========*/ createindex发生_FKon车辆事故(车牌ASC ) createtable 车辆保险( 保险名称 text notnull, 车牌 numeric null, 保险日期 datetime null, 金额 text null, go /*Table: 车辆保险*/ */ constraintPK_车辆保险primarykeynonclustered(保险名称))go /*================================== /*Index: 授权_FK */ /*==================================createindex授权_FKon车辆保险(车牌ASC ) go/*Table: 车辆油耗*/ /*==============================================================*/createtable车辆油耗( 用油量textnotnull, 车牌numericnull, constraintPK_车辆油耗primarykeynonclustered(用油量)) go /*===================================== /*Index: 缴纳_FK */ /*==============================================================createindex缴纳_FKon车辆油耗( 车牌ASC ) go /*===================================== /*Table: 车辆维修 */ /*============================================= createtable车辆维修( 维修账号numericnotnull, 车牌numericnull, 维修站点char(10)null, constraintPK_车辆维修primarykeynonclustered( ) go 维修账号) /*===================================== /*Index: 加油_FK */ /*==============================================================createindex加油_FKon车辆维修( 车牌ASC ) go /*===================================== /*Table: 车辆费用 /*===================================== */ createtable车辆费用( 金额 text notnull, 车牌 numeric null, 牌照 numeric null, constraintPK_ 车辆费用 primarykeynonclustered( 金额) ) go /*============ /*Index: 发车 _FK */ /*============ createindex发车_FKon车辆费用(车牌ASC ) go/*Table: 驾驶员*/ /*==============================================================*/createtable驾驶员( 编号numericnotnull, 信息textnull, constraintPK_驾驶员primarykeynonclustered(编号) )goaltertable出车addconstraintFK_出车_承担_驾驶员foreignkey(编号) references驾驶员(编号)goaltertable出车 车牌) addconstraintFK_出车_指派_车辆foreignkey( references 车辆(车牌) goaltertable车辆事故 addconstraintFK_车辆事故_发生_车辆foreignkey(车牌) references车辆(车牌) go altertable车辆保险 addconstraintFK_车辆保险_授权_车辆foreignkey(车牌) references车辆(车牌) go altertable车辆油耗 addconstraintFK_车辆油耗_缴纳_车辆foreignkey(车牌) references车辆(车牌) go altertable车辆维修 addconstraintFK_车辆维修_加油_车辆foreignkey(车牌) references车辆(车牌) go altertable车辆费用 addconstraintFK_车辆费用_发车_车辆foreignkey(车牌) references车辆(车牌) go 三、逻辑设计逻辑设计就是把E-R图转换成关系模式,并对其进行优化。 3.1E-R图向关系模型的转换 原则: (1)一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键; (2)一个联系转换为一个关系模式,和该联系相连的每个实体型的键及联系的属性都转换为关系的属性。 这个关系的键分为以下三种不同的情况: 若联系为1: 1,则相连的每个实体型的键均是该关系模式的侯选键。 若联系为1: n,贝U联系对应的关系模式的键取n端实体型的键。 若联系为m: n,贝U联系对应的联模式的键为参加联系的诸实体型的键的组合。 例如: 根据E-R图,将图中所示的实例转化为如下关系模型⑹: 司机(工号,所属部门,姓名,出生年月,性别,电话,地址)车辆(车牌号,所属部门,负责人,型号,颜色) 终端(SIM卡号,SOS号,按键1,按键2,按键3,按键4,起始时间,结束时间,上报频次,定位频次) GPS信息(SIM卡号,纬度,经度,上报时间) 绑定信息(车牌号,司机工号,SIM卡号) 3.2各个数据表的表结构设计 在上述经由E-R模型得到关系模式并且得到适当的调整后,我们可以结合在需求表述中数据字典包含的数据项信息,得到数据库的表结构(具体设计各个数据表的表结构,包括表名,表中各列的字段名、数据类型、数据长度和表的主键和外键;还要考虑应该建立哪些索引以及索引的类型)。 需要指出的是,考虑到系统的统一兼顾如对数据库管理员和后续软件开发中对数据库管理以及编程引用的便利,表名和字段名的命名应该由表名的英文含义的词语为主或以其缩写字母构成;同时要为各个表名和字段名作出完整的中文文档说明。 ①用户信息表 用户信息表(此表主要用于普通用户基础信息和管理员基础信息)中包括有: 用户ID(id)、用户名(name)账户名(username)帐户密码(userpwd)、所属部门(part)、用户权限(userrule)E-mail(emai)等。 具体设置如下: 表3.1用户信息表 名称 字段类型 字段长度 说明 主键 Id char 4 编号 主键 name
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 分析 设计 报告 车辆 管理 系统