汽车厂商管理系统数据库设计

一、需求分析

1. 引言

1.1 项目问题

汽车厂商管理系统是一个用于管理汽车厂商相关信息的系统,包括汽车生产、销售、库存管理等方面。当前汽车厂商管理存在信息不够集中、管理不够规范、效率不够高等问题,需要一个专门的系统来解决这些问题。 该系统旨在提高汽车厂商的生产效率和管理水平,为汽车厂商提供便捷的管理工具。

1.2 项目背景

随着社会的不断进步,汽车销售行业的竞争也愈来愈激烈,要想在竞争中取得优势,必须在经营管理、产品服务等方面提高管理意识。如何利用先进的管理手段,提高销售信息的管理水平,是每一个汽车厂商管理者所面临的重大问题。传统手工的汽车厂商管理记录,管理过于繁琐而复杂,执行效率低,并且易于出错。通过汽车厂商管理系统,我们可以做到信息的规范管理和快速查询,实现了汽车信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。

2. 概述

2.1 目标

该系统的目标是提高汽车厂商的生产效率和管理水平,降低成本,提高竞争力。要完成对汽车生产、销售、库存的管理,并完成相关的查询功能。

2.2 意义

汽车厂商管理系统是汽车厂商经营管理中不可缺少的部分,使用计算机作为管理的核心,能有效的提高管理效率,具有手工操作无法比拟的性能,查询方便、对汽车的情况一目了然、对客户信息能够长期的保存。这些优点正是开发本系统的意义所在,因此它的内容对于经营的决策者和管理者来说都至关重要。该系统的设计将为汽车厂商提供便捷的管理工具,帮助其提高管理水平和竞争力。

3. 功能性需求

3.1 功能需求

汽车厂商希望能够对汽车生产、销售、库存等进行集中管理。

(1)系统登录模块

管理员要登录系统,通过管理员ID,密码登录,管理员ID和密码都不能为空,ID为整型,密码为字符串型。要有ID和密码判断才能登录。

(2)汽车信息管理模块

汽车信息的录入,修改,删除以及查询功能。录入汽车汽车编号、汽车品牌、发动机型、车辆尺寸等信息。修改功能按汽车编号进行修改,汽车编号不能修改,其他皆可修改。删除功能要按汽车编号进行删除,查找该汽车编号的车辆信息,然后删除,查询也是按汽车编号查询。

(3)汽车生产管理模块

汽车生产信息的录入,修改,删除以及查询功能。汽车生产管理员要录入厂商编号、厂商名称、厂商地址等信息。修改功能按生产编号进行修改,生产编号不能修改,其他皆可修改。删除功能要按生产编号进行删除,查找该生产编号的生产信息,然后删除,查询也是按生产编号查询。

(4)汽车销售管理模块

汽车销售信息的录入,修改,删除以及查询功能。汽车销售管理员要录入汽车编号、客户编号、客户姓名、客户性别、客户年龄、联系方式、销售数量等信息。修改功能按汽车编号进行修改,汽车编号不能修改,其他皆可修改。删除功能要按汽车编号进行删除,查找该汽车编号的销售信息,然后删除,查询也是按汽车编号查询。

(5)汽车库存管理模块

汽车库存信息的录入,修改,删除以及查询功能。汽车库存管理员要录入仓库编号、汽车编号、入库日期、出库日期、库存状态等信息。修改功能按仓库编号进行修改,仓库编号不能修改,其他皆可修改。删除功能要按仓库编号进行删除,查找该仓库编号的库存信息,然后删除,查询也是按仓库编号查询。

3.2 系统安全需求

(1)数据备份:定期对系统数据进行备份,保证数据安全。

(2)权限管理:严格控制用户权限,保证信息安全。

(3)防火墙:设置防火墙,防止未经授权的访问。

4. 非功能性需求

指软件产品满足用户业务需求而必须具有且除功能需求以外的特性,包括安全性、可靠性、互操作性、健壮性等。

4.1 用户界面

界面包括登录查询删除修改等界面接口,要求简洁大方,追求布局合理清晰。

4.2 开发环境

软件开发环境(Software Development Environment,SDE)是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。

表 1 开发环境

名称

支持软件

操作系统

Windows

数据库管理软件

Microsoft SQL Server

数据库设计软件

Microsoft Office Visio

5. 数据字典

需求分析过程中对数据的描述,记录在数据字典中,数据字典如下:

表 2 数据项规格定义-汽车

属性

规格描述

类型

汽车编号

汽车内部标识,字符串编码,不能为空值

char

汽车品牌

汽车外部标识,字符串编码,不能为空值

char

发动机型

汽车外部标识,字符串编码,不能为空值

char

车辆尺寸

汽车外部标识,字符串编码,不能为空值

char

说明:主码:汽车编号

表 3 数据项规格定义-厂商

属性

规格描述

类型

厂商编号

厂商内部标识,字符串编码,不能为空值

char

厂商名称

厂商外部标识,字符串编码,不能为空值

char

厂商地址

厂商外部标识,字符串编码,不能为空值

char

说明:主码:厂商编号

表 4 数据项规格定义-客户

属性

规格描述

类型

客户编号

客户内部标识,字符串编码,不能为空值

char

客户姓名

客户外部标识,字符串编码

char

客户性别

客户外部标识,字符串编码

char

客户年龄

客户外部标识,整型编码

int

联系方式

客户外部标识,字符串编码,不能为空值

char

说明:主码:客户编号

表 5 数据项规格定义-仓库

属性

规格描述

类型

仓库编号

仓库内部标识,字符串编码,不能为空值

char

库存数量

库存外部标识,整型编码,不能为空值

int

库存状态

库存外部标识,字符串编码,不能为空值

char

入库日期

库存外部标识,字符串编码

datetime

出库日期

库存外部标识,字符串编码

datetime

说明:主码:仓库编号

表 6 数据结构

名称

属性

汽车

汽车编号、汽车品牌、发动机型、车辆尺寸

厂商

厂商编号、厂商名称、厂商地址

客户

客户编号、客户姓名、客户性别、客户年龄、联系方式

仓库

仓库编号、库存数量、入库日期、出库日期、库存状态

表 7 数据流

名称

描述

输入

输出

厂商信息

厂商的信息

厂商

生产管理

汽车信息

汽车的信息

生产管理

汽车信息

仓库信息

仓库的信息

仓库

仓库信息

客户信息

客户的信息

客户

销售管理

订单信息

订单的信息

销售管理

订单

生产计划

汽车的生产计划信息

生产管理

汽车

订购信息

订购产品的信息

订单

订购信息

销售信息

汽车销售的信息

销售管理

订单

表 8 数据存储

数据存储

说明

提供

获取

汽车信息表

存储汽车信息

汽车

汽车信息管理系统

厂商信息表

存储厂商信息

厂商

生产管理系统

仓库信息表

存储仓库信息

仓库管理系统

仓库

客户信息表

存储客户信息

客户

销售管理系统

订单信息表

存储订单信息

订单管理系统

订单

表 9 数据处理

数据处理

作用

输入

输出

生产管理系统

管理生产信息

厂商信息

生产计划

销售管理系统

管理销售信息

汽车信息、客户信息

销售信息

库存管理系统

管理库存信息

汽车信息

仓库信息

汽车信息管理系统

管理汽车信息

汽车信息

汽车信息

6. 功能模块图

图 1 功能模块图

7. 数据流图

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

7.1 顶层数据流图

图 2 顶层数据流图

7.2 第一层数据流图

图 3 第一层数据流图

7.3 第二层数据流图

图 4 细化的汽车信息管理数据流图

图 5 细化的汽车生产管理数据流图

图 6 细化的汽车销售管理数据流图

图 7 细化的汽车库存管理数据流图

二、概念模型设计

1. 实体与联系

设计汽车厂商系统中的涉及到的实体及实体之间的联系。

实体主要有:

汽车:属性有汽车编号、厂商编号、汽车品牌、发动机型、车辆尺寸;

厂商:属性有厂商编号、厂商名称、厂商地址;

客户:属性有客户编号、客户姓名、客户性别、客户年龄、联系方式;

仓库:属性有仓库编号、库存数量、入库日期、出库日期、库存状态。

联系主要有:

供应:一个厂商可以生产多种汽车,一种汽车也可由多家厂商生产。(汽车与厂商之间的多对多联系);

销售:一个客户可购买多辆汽车,一种汽车可由多客户购买。(客户与汽车之间的多对多联系);

库存:一个仓库可存放多辆汽车,一辆汽车同一时间只能存放在一个仓库。(汽车与仓库之间的多对一联系)。

2. 实体属性图

图 8 厂商实体属性图

图 9 汽车实体属性图

图 10 仓库实体属性图

11 客户实体属性图

3. 联系属性图

12 供应联系属性图

13 库存联系属性图

图 14 销售联系属性图

4. 实体联系总图

图 15 实体联系总图

三、逻辑模型设计

逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

设计逻辑结构时一般要分3步进行:

(1)将概念结构转换为一般的关系、网状、层次模型;

(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

(3)对数据模型进行优化。

1. E-R图向关系模型的转换

SQL Server支持关系模型转换,参照书书本数据库系统概论(第五版)7.4内容如下:

将E-R图转换为关系模型就是要将实体型、实体的属性和实体型之间的联系转换为关系模型,要遵循以下原则:一个实体型转换为一个关系模型。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系有以下不同的情况:

(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。

(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(5)具有相同码的关系模式可合并。

2.汽车厂商管理系统逻辑模型

将E-R图转换成关系模型。

(1)汽车关系模型:R∈3NF

<属性名:(汽车编号, 厂商编号, 汽车品牌, 发动机型, 车辆尺寸);

关系依赖:汽车编号→(厂商编号, 汽车品牌, 发动机型, 车辆尺寸)>

(2)厂商关系模型:R∈3NF

<属性名:(厂商编号, 厂商名称, 厂商地址);

关系依赖:厂商编号→(厂商名称, 厂商地址)>

(3)客户关系模型:R∈3NF

<属性名:(客户编号, 客户姓名, 客户性别, 客户年龄, 联系方式);

关系依赖:客户编号→(客户姓名, 客户性别, 客户年龄, 联系方式)>

(5)仓库关系模型:R∈3NF

<属性名:(仓库编号, 汽车编号, 入库日期, 出库日期, 库存状态);

关系依赖:仓库编号→(汽车编号, 入库日期, 出库日期, 库存状态)>

(6)供应关系模型:R∈3NF

<属性名:(厂商编号, 汽车编号, 供应量);

关系依赖:(厂商编号,汽车编号)→供应量>

(7)销售关系模型:R∈3NF

<属性名:(客户编号, 汽车编号, 销售量);

关系依赖:(客户编号,汽车编号)→销售量>

(8)库存关系模型:R∈3NF

<属性名:(仓库编号, 汽车编号, 库存量);

关系依赖:(仓库编号,汽车编号)→库存量>

四、数据库物理模型设计

1. 数据库物理设计准则

数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的逻辑数据模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用比较少的存储空间,另一个对数据库的操作具有尽可能高的速度。

2. 数据库物理结构分析

数据库的物理结构主要指存储结构和存取方法,存储结构主要指确定数据的存放位置和存储结构,包括关系、索引、日志、备份等的存储安排及存储结构,以及确定系统参数的配置。设计优化的物理数据库结构,使得在数据库上运行的各种事物响应时间小,存储空间利用率高,事物吞吐率大,为此:

2.1 对运行的事物进行详细分析。

(1)查询事务

①查询厂商信息。条件是厂商编号,输入厂商编号,查询厂商信息。

②查询汽车信息。条件是汽车编号,输入汽车编号,查询汽车信息。

③查询仓库信息,条件是仓库编号,输入仓库编号,查询仓库信息。

④查询客户信息。条件是客户编号,输入客户编号,查询客户信息。

⑤查询供应信息。条件是厂商编号、汽车编号,输入厂商编号、汽车编号,查询供应信息。

⑥查询销售信息。条件是汽车编号、客户编号,输入汽车编号、客户编号,查询销售信息。

⑦查询库存信息。条件是仓库编号、汽车编号,输入仓库编号、汽车编号,查询库存信息。

2.2 更新事务

①厂商信息修改。更新条件是厂商编号,涉及厂商信息所有属性。修改所涉及的属性是除厂商编号后的所有属性。

②汽车信息修改。更新条件是汽车编号,涉及汽车信息所有属性。修改所涉及的属性是除汽车编号后的所有属性。

③仓库信息修改。更新条件是仓库编号,涉及仓库信息所有属性。修改所涉及的属性是除仓库编号后的所有属性。

④客户信息修改,更新条件是客户编号,涉及客户信息所有属性。修改所涉及的属性是除客户编号后的所有属性。

⑤供应信息修改,更新条件是厂商编号、汽车编号,涉及供应信息所有属性。修改所涉及的属性是除厂商编号、汽车编号后的所有属性。

⑥销售信息修改,更新条件是汽车编号、客户编号,涉及销售信息所有属性。修改所涉及的属性是除汽车编号、客户编号后的所有属性。

⑦库存信息修改,更新条件是仓库编号、汽车编号,涉及客户信息所有属性。修改所涉及的属性是除仓库编号、汽车编号后的所有属性。

2.3 关系模式存取方法

建立索引

A.对表汽车在属性列所属汽车编号上建立非聚集索引

B.对表厂商在属性列所属厂商编号上建立非聚集索引

C.对表仓库在属性列所属仓库编号上建立非聚集索引

D.对表客户在属性列所属客户编号上建立非聚集索引

E.对表供应在属性列所属厂商编号、汽车编号建立非聚集索引

F.对表库存在属性列所属仓库编号、汽车编号上建立非聚集索引

G.对表销售在属性列所属客户编号、汽车编号上建立非聚集索引

3. 物理模型设计

表 10 汽车Vehicle表

数据项名

数据类型

是否为空

长度

说明

Vno

char

10

汽车编号(主码)

Mno

char

10

厂商编号(外码)

Vbrand

char

10

汽车品牌

Vengine

char

10

发动机型

Vsize

char

10

车辆尺寸

表 11 厂商Manufacturer表

数据项名

数据类型

是否为空

长度

说明

Mno

char

10

厂商编号(主码)

Mname

char

20

厂商名称

Maddress

char

20

厂商地址

表 12 仓库Warehouse表

数据项名

数据类型

是否为空

长度

说明

Wno

char

10

仓库编号(主码)

Vno

char

10

汽车编号(外码)

Wstatus

char

10

库存状态

Win

datetime

入库日期

Wout

datetime

出库日期

表 13 客户Client表

数据项名

数据类型

是否为空

长度

说明

Cno

char

10

客户编号(主码)

Cname

char

10

客户姓名

Csex

char

1

客户性别

Cage

Int

客户年龄

Cphonenumber

char

11

联系方式

表 14 供应Supply表

数据项名

数据类型

是否为空

长度

说明

Mno

char

10

厂商编号(主码)

Vno

char

10

汽车编号(主码)

Snumber

int

供应量

表 15 库存Inventory表

数据项名

数据类型

是否为空

长度

说明

Wno

char

10

仓库编号(主码)

Vno

char

10

汽车编号(主码)

Inumber

int

库存量

表 16 销售Sale表

数据项名

数据类型

是否为空

长度

说明

Cno

char

10

客户编号(主码)

Vno

char

10

汽车编号(主码)

Sanumber

int

销售量

4. 外模式设计

外模式(external schema)。用户所使用的数据库,是一个或几个特定用户所使用的数据集合(外部模型),是用户与数据库系统的接口,是概念模型的逻辑子集。外模式面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备。设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就必须做相应改动。

使用更符合用户习惯的命名;对不同级别的用户定义不同的视图,以保证系统的安全性;简化用户对系统的使用。

建立视图:

生产部门:

汽车(汽车编号, 厂商编号, 汽车品牌, 发动机型, 车辆尺寸);

厂商(厂商编号, 厂商名称, 厂商地址);

供应(厂商编号, 汽车编号, 供应量)

销售部门:

汽车(汽车编号, 厂商编号, 汽车品牌, 发动机型, 车辆尺寸);

厂商(厂商编号, 厂商名称, 厂商地址);

客户(客户编号, 客户姓名, 客户性别, 客户年龄, 联系方式);

销售(客户编号, 汽车编号, 销售量)

库存部门:

汽车(汽车编号, 厂商编号, 汽车品牌, 发动机型, 车辆尺寸);

厂商(厂商编号, 厂商名称, 厂商地址);

仓库(仓库编号, 汽车编号, 入库日期, 出库日期, 库存状态);

库存(仓库编号, 汽车编号, 库存量)

五、数据库的实施

1. 建立数据库

CREATE DATEBASE VMM;

图 16 建立数据库

2. 数据库建表SQL语言

2.1 创建汽车Vehicle表

CREATE TABLE Vehicle

(

Vno CHAR(10) NOT NULL,

VMno CHAR(10) NOT NULL,

Vbrand CHAR(10) NOT NULL,

Vengine CHAR(10) NOT NULL,

Vsize CHAR(10) NOT NULL,

PRIMARY KEY(Vno) ,

FOREIGN KEY(VMno) REFERENCES Manufacturer(Mno),

);

2.2 创建厂商Manufacturer表

CREATE TABLE Manufacturer

(

Mno CHAR(10) NOT NULL,

Mname CHAR(20) NOT NULL,

Maddress CHAR(20) NOT NULL,

PRIMARY KEY(Mno),

);

2.3 创建仓库Warehouse表

CREATE TABLE Warehouse

(

Wno CHAR(10) NOT NULL,

WVno CHAR(10) NOT NULL,

Wstatus CHAR(10) NOT NULL,

Win DATETIME NOT NULL,

Wout DATETIME NOT NULL,

PRIMARY KEY(Wno),

FOREIGN KEY(WVno) REFERENCES Vehicle(Vno),

);

2.4 创建客户Client表

CREATE TABLE Client

(

Cno CHAR(10) NOT NULL,

Cname CHAR(10) NOT NULL,

Csex CHAR(1) NOT NULL,

Cage INT NOT NULL,

Cphonenumber CHAR(11) NOT NULL,

PRIMARY KEY(Cno),

);

2.5 创建供应Supply表

CREATE TABLE Supply

(

SMno CHAR(10) NOT NULL,

SVno CHAR(10) NOT NULL,

Snumber int NOT NULL,

PRIMARY KEY(SMno,SVno),

);

2.6 创建库存Inventory表

CREATE TABLE dept

(

IWno CHAR(10) NOT NULL,

IVno CHAR(10) NOT NULL,

Inumber int NOT NULL,

PRIMARY KEY(IWno,IVno),

);

2.7 创建销售Sale表

CREATE TABLE Sale

(

SaCno CHAR(10) NOT NULL,

SaVno CHAR(10) NOT NULL,

Sanumber int NOT NULL,

PRIMARY KEY(SaCno,SaVno),

);

图 17 建立表

3. 数据库建立索引SQL语言

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。简而言之,数据库索引是排好序的数据结构

索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。

对表汽车在属性列所属汽车品牌上建立非聚集索引:

CREATE UNIQUE INDEX V_brand ON Vehicle(Vbrand);

对表厂商在属性列所属厂商名称上建立非聚集索引:

CREATE UNIQUE INDEX M_name ON Manufacturer(Mname);

对表仓库在属性列所属库存状态上建立非聚集索引:

CREATE UNIQUE INDEX W_status ON Warehouse(Wstatus);

对表客户在属性列所属客户名称上建立非聚集索引:

CREATE UNIQUE INDEX C_name ON Client(Cname);

对表供应在属性列所属供应量建立非聚集索引:

CREATE UNIQUE INDEX S_no ON Supply(Snumber);

对表库存在属性列所属库存量上建立非聚集索引:

CREATE UNIQUE INDEX I_no ON Inventory(Inumber);

对表销售在属性列所属销售量上建立非聚集索引:

CREATE UNIQUE INDEX Sa_no ON Sale(Sanumber);

​​​​​​​4. 数据备份

为避免系统故障或事物故障等故障给数据库带来的破坏,保证数据的一致性,完整性,对数据进行完整备份。

图 18 数据备份

​​​​​​​5. 操作界面

图 19 登录界面

图 20 汽车信息管理界面

图 21 厂商信息管理界面

图 22 仓库信息管理界面

图 23 客户信息管理界面

图 24 库存信息管理界面

图 25 销售信息管理界面

图 26 供应信息管理界面

图 27 个人信息

图 28 修改密码

  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值