当前位置:文档之家› 数据库分析与设计报告(车辆管理系统)

数据库分析与设计报告(车辆管理系统)

1.需求分析2.概念结构设计3.逻辑结构设计4.物理结构设计5.数据库的建立和测试6.数据库运行和维护《车辆管理系统》数据库设计班级:11计算机转学号:1116939040姓名:王湘萍一.需求分析1.1可行性分析现在随着企业规模的扩大以及车辆作为最为普遍的交通工具,在企业中已经不是单一的存在,由于单位车辆数目的急剧增加,与之相对应的问题随之而生,比如车辆的使用权问题,车辆的费用问题等,不再是简单的少量的数据。

为了解决这一系列的问题,我们必须借助于电脑的强大的数据处理能力和存储能力,如此可以减少人力财力来维护这些数据,可以用更少的投入来换取更佳的数据管理。

因此,在这样的情况下,开发单位车辆管理系统是可行的,是必要的。

如今,MIS开发已经慢慢的驱向成熟,车辆管理系统也有部分开发,但是都还不是十分完善。

现今已经开发的车辆管理系统都是针对以运营为主的具有盈利目的的单位。

比如,公交管理、出租车管理、运输公司管理、汽车站点的管理,而这些管理最主要是针对盈利的管理,很少有针对各种汽车使用权、车辆调配等各种普通单位,不是以车辆运营为盈利手段的车辆管理,针对这点,此系统就是适合如今大多数企业管理的车辆管理系统。

通过计算机系统对学校进行全面的管理,满足了学校的现代化管理的要求。

1)经济性①系统建设不需要很大的投入;②可缩减人员编制,减少人力费用;③人员利用率的改进;2)技术性①处理速度快,准确;②通过权限的设置,数据的安全性好;③方便查询;④控制精度或生产能力的提高3)社会性①可降低工作人员工作强度,提高效率,会得到上下员工的一致同意的;②可引进先进的管理系统开发方案,从而达到充分利用现有资源1.2需求分析现代信息技术特别是计算机网络技术的飞速发展,使我们的管理模式产生了质的飞跃,网络化管理将成为信息时代的重要标志和组成部分。

探索、研究并构建适宜于在计算机网络环境下的管理模式,是我们责无旁贷的使命。

通过调查,要求系统需要具有以下功能:1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面。

2)由于该系统的使用对象多,要求有较好的权限管理。

3)方便的数据查询,支持多条件查询。

4)基础信息管理与查询(包括车辆信息、用车记录、部门信息)。

5)通过计算机,能够直接“透视”仓库存储情况。

6)数据计算自动完成,尽量减少人工干预。

7)系统退出。

1.3 系统的模型结构该系统的模型结构如图2.1所示:图2.1 系统的模型结构1.4业务流程分析《车辆管理系统》软件的数据流图是比较清晰的,对各功能模块来说都比较有规律。

但完整的图比较繁琐。

车辆管理系统顶层图车辆管理系统0层图1.5数据字典数据字典是描述数据流图中数据的信息的集合。

它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。

从上面数据流图可知,本系统包含以下数据流、数据存储、数据加工。

1、数据流数据流名称:出车单别名:无简述:指驾驶员出车的清单。

来源:管理部去向:加工“车辆出库信息”组成:出车单编号+车辆类别编号+ 出车日期+库位编号数据流名称:车辆入库单别名:无简述:指车辆入库的清单。

来源:管理部去向:加工“添加入库信息”组成:入库单编号+车辆类别编号+ 计量单位+数量+ 入库日期+库位编号数据流名称:费用单别名:无简述:车辆产生费用的清单。

来源:驾驶员去向:加工“添加费用信息”组成:费用单编号+费用类别编号+ 计量单位+数量+ 费用日期+费用原因二、概念设计2.2 系统局部E-R图2.3 系统全局E-R图2.4数据库设计数据库整体的设计如下图所示:/*==============================================================*//* DBMS name: Microsoft SQL Server 2005 *//* Created on: 2012/6/12 23:16:03 *//*==============================================================*/if exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('出车') and = 'FK_出车_承担_驾驶员') alter table 出车drop constraint FK_出车_承担_驾驶员goif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid ando.type = 'F')where r.fkeyid = object_id('出车') and = 'FK_出车_指派_车辆') alter table 出车drop constraint FK_出车_指派_车辆goif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('车辆事故') and = 'FK_车辆事故_发生_车辆')alter table 车辆事故drop constraint FK_车辆事故_发生_车辆goif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('车辆保险') and = 'FK_车辆保险_授权_车辆')alter table 车辆保险drop constraint FK_车辆保险_授权_车辆goif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('车辆油耗') and = 'FK_车辆油耗_缴纳_车辆')alter table 车辆油耗drop constraint FK_车辆油耗_缴纳_车辆goif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('车辆维修') and = 'FK_车辆维修_加油_车辆')alter table 车辆维修drop constraint FK_车辆维修_加油_车辆goif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('车辆费用') and = 'FK_车辆费用_发车_车辆')alter table 车辆费用drop constraint FK_车辆费用_发车_车辆goif exists (select 1from sysindexeswhere id = object_id('出车')and name = '指派_FK'and indid > 0and indid < 255)drop index 出车.指派_FKgoif exists (select 1from sysindexeswhere id = object_id('出车')and name = '承担_FK'and indid > 0and indid < 255)drop index 出车.承担_FKgoif exists (select 1from sysobjectswhere id = object_id('出车')and type = 'U')drop table 出车goif exists (select 1from sysobjectswhere id = object_id('车辆')and type = 'U')drop table 车辆goif exists (select 1from sysindexeswhere id = object_id('车辆事故') and name = '发生_FK'and indid > 0and indid < 255)drop index 车辆事故.发生_FKgoif exists (select 1from sysobjectswhere id = object_id('车辆事故')and type = 'U')goif exists (select 1from sysindexeswhere id = object_id('车辆保险') and name = '授权_FK'and indid > 0and indid < 255)drop index 车辆保险.授权_FKgoif exists (select 1from sysobjectswhere id = object_id('车辆保险')and type = 'U')drop table 车辆保险goif exists (select 1from sysindexeswhere id = object_id('车辆油耗') and name = '缴纳_FK'and indid > 0and indid < 255)drop index 车辆油耗.缴纳_FKgoif exists (select 1from sysobjectswhere id = object_id('车辆油耗')and type = 'U')goif exists (select 1from sysindexeswhere id = object_id('车辆维修') and name = '加油_FK'and indid > 0and indid < 255)drop index 车辆维修.加油_FKgoif exists (select 1from sysobjectswhere id = object_id('车辆维修')and type = 'U')drop table 车辆维修goif exists (select 1from sysindexeswhere id = object_id('车辆费用') and name = '发车_FK'and indid > 0and indid < 255)drop index 车辆费用.发车_FKgoif exists (select 1from sysobjectswhere id = object_id('车辆费用')and type = 'U')goif exists (select 1from sysobjectswhere id = object_id('驾驶员')and type = 'U')drop table 驾驶员go/*==============================================================*/ /* Table: 出车 */ /*==============================================================*/ create table 出车 (时间 datetime not null,编号 numeric null,车牌 numeric null,constraint PK_出车 primary key nonclustered (时间))go/*==============================================================*/ /* Index: 承担_FK */ /*==============================================================*/ create index 承担_FK on 出车 (编号 ASC)go/*==============================================================*/ /* Index: 指派_FK */ /*==============================================================*/create index 指派_FK on 出车 (车牌 ASC)go/*==============================================================*/ /* Table: 车辆 */ /*==============================================================*/ create table 车辆 (车牌 numeric not null,信号 text not null,constraint PK_车辆 primary key nonclustered (车牌))go/*==============================================================*//* Table: 车辆事故 */ /*==============================================================*/ create table 车辆事故 (事故地点 text not null,车牌 numeric null,事故时间 text null,constraint PK_车辆事故 primary key nonclustered (事故地点))go/*==============================================================*//* Index: 发生_FK */ /*==============================================================*/ create index 发生_FK on 车辆事故 (车牌 ASC)go/*==============================================================*//* Table: 车辆保险 */ /*==============================================================*/ create table 车辆保险 (保险名称 text not null,车牌 numeric null,保险日期 datetime null,金额 text null,constraint PK_车辆保险 primary key nonclustered (保险名称))go/*==============================================================*//* Index: 授权_FK */ /*==============================================================*/ create index 授权_FK on 车辆保险 (车牌 ASC)go/*==============================================================*//* Table: 车辆油耗 */ /*==============================================================*/ create table 车辆油耗 (用油量 text not null,车牌 numeric null,constraint PK_车辆油耗 primary key nonclustered (用油量))go/*==============================================================*//* Index: 缴纳_FK */ /*==============================================================*/ create index 缴纳_FK on 车辆油耗 (车牌 ASC)go/*==============================================================*//* Table: 车辆维修 */ /*==============================================================*/ create table 车辆维修 (维修账号 numeric not null,车牌 numeric null,维修站点 char(10) null,constraint PK_车辆维修 primary key nonclustered (维修账号))go/*==============================================================*//* Index: 加油_FK */ /*==============================================================*/ create index 加油_FK on 车辆维修 (车牌 ASC)go/*==============================================================*//* Table: 车辆费用 */ /*==============================================================*/ create table 车辆费用 (金额 text not null,车牌 numeric null,牌照 numeric null,constraint PK_车辆费用 primary key nonclustered (金额))go/*==============================================================*//* Index: 发车_FK */ /*==============================================================*/ create index 发车_FK on 车辆费用 (车牌 ASC)go/*==============================================================*//* Table: 驾驶员 */ /*==============================================================*/ create table 驾驶员 (编号 numeric not null,信息 text null,constraint PK_驾驶员 primary key nonclustered (编号))goalter table 出车add constraint FK_出车_承担_驾驶员 foreign key (编号)references 驾驶员 (编号)goalter table 出车add constraint FK_出车_指派_车辆 foreign key (车牌)references 车辆 (车牌)goalter table 车辆事故add constraint FK_车辆事故_发生_车辆 foreign key (车牌)references 车辆 (车牌)goalter table 车辆保险add constraint FK_车辆保险_授权_车辆 foreign key (车牌)references 车辆 (车牌)goalter table 车辆油耗add constraint FK_车辆油耗_缴纳_车辆 foreign key (车牌)references 车辆 (车牌)goalter table 车辆维修add constraint FK_车辆维修_加油_车辆 foreign key (车牌)references 车辆 (车牌)goalter table 车辆费用add constraint FK_车辆费用_发车_车辆 foreign key (车牌)references 车辆 (车牌)go三、逻辑设计逻辑设计就是把E-R图转换成关系模式,并对其进行优化。

相关主题