资源描述
仓库管理系统数据库设计
14
2020年4月19日
文档仅供参考,不当之处,请联系改正。
仓库管理系统数据库设计
班级:
学号、姓名:
学号、姓名:
学号、姓名:
1. 需求分析
(1) 需求描述:
仓库管理主要用来管理客户、供应商、仓库及货物,其中的商品进货、销售和库存管理复杂繁琐,需要耗费大量的时间和人力对这些数据进行统计和分析,这是一项相当大的工程。特别在当商品种类繁多的情况下,传统的人工管理方式存在基本资料保存与维护困难,管理者需要加强成本管理和收入管理,经过提高服务水平来提升企业形象。她们对仓库管理程序进行了详细的分析和策划,提出了利用计算机管理信息系统对仓库进行管理,从而进行仓库管理系统的开发,以适应今天高速运转的全球经济化的竞争。
高效方便的仓库管理系统主要提供一个仓储业务及其作业管理的信息存储和检索系统。经过仓库管理、供应商管理、入库管理、出库管理、客户管理及货物管理等功能模块来实现仓库的综合管理。它极大的满足了商品销售行业的电子化管理,其主要功能是实现物品发放、物品出库、货物管理,具体为:插入功能、查询功能。这更能便于公司管理层了解实时的信息。同时它以数据库内存最小化,运行速度最大化为目标,使得管理者能够更高效得进行管理。
基于上述阐述,现对此仓库管理系统初步功能归纳如下:
① 系统性质:
② 系统使用着:操作员、各部门经理(如:货物部门经理、客户部门经理等)
③ 系统运行环境
④ 系统主要功能
表1 仓库管理主要功能表
序号
功能名称
功能说明
1
仓库管理
登记仓库信息(仓库编号、仓库名称)
2
供应商管理
登记供应商信息(供应商编号、供应商名称)
3
入库管理
登记入库信息(货物编号、供应商编号、仓库编号、入库编号、入库价格、入库数量、入库日期)
4
出库管理
登记出库信息(货物编号、客户编号、仓库编号、出库编号、出货价格、出货数量、出货日期)
5
客户管理
登记客户信息(客户编号、客户名称)
6
货物管理
登记货物信息(货物编号、货物名称、货物数量、货物类别、备注)
(2)分析设计顶层数据流图
由于在搜寻指定货物时会因货物量大而加重任务量,在对一些货物及人员就行更新时也会因为复杂而手忙脚乱。这样在交易活动中不断地产生新数据,使得信息量逐渐加大。但使用本系统能够很方便的对所需信息进行查询,也可适时的利用插入功能对相关数据进行更新,这样及时、便捷、高效的得到查询统计结果。因此,设计顶层数据流图如图1所示:
操作员
D1
代码信息
D2
客户信息
D3
供应商信息
D5
出库情况
D6
货物信息
D44441
入库情况
0
仓库管理系统
图1 仓库管理0层数据流图
(3)逐步细化数据流图
根据表1列出的的仓库管理的主要功能,将仓库管理加工细化分解为仓库管理、供应商管理、入库管理、出库管理、客户管理和货物管理等子加工。在图1所示的顶层数据流图的基础之上,进行分解细化,得到如图2所示仓库管理的1层数据流图。
操作员
6
货物
5
客户管理
1
仓库管理
2
供应商
3
入库
4
出库
D2
客户信息
D3
供应商信息
D6
仓库存储信息
D4
进货信息
D5
出货信息
图2 仓库管理1层数据流图
根据实际业务,细化数据流图如下图3所示:
货物部门经理
操作员
6.2
货物出库
6.3
货物统计
6.1
货物入库
入库部门经理
出库部门经理
D41
进货信息
D51
出货信息
图3 货物管理数据流图
(4)制定整理数据字典
数据流图反应了数据和处理之间的关系,数据字典是系统中各类数据描述的集合。一般包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
数据项
数据项含义
数据类型
宽度
与其它数据项的逻辑关系
可否为空值
是否为主(P)/外(F)键
货物编号
char
8
NO
YES(P)
货物名称
char
8
NO
货物类别
char
8
NO
货物数量
int
8
NO
备注
char
12
客户编号
char
8
NO
客户名称
char
4
NO
编号
char
18
NO
货物价格
int
12
NO
入库数量
int
2
NO
入库日期
date
30
NO
出库数量
int
15
NO
出库日期
date
30
NO
客户编号
char
10
NO
客户名称
char
10
NO
仓库编号
char
8
NO
YES(P)
仓库名称
char
8
NO
2. 概念结构设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合用户之间的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。简而言之,数据库就是信息的集合。关系数据库中包含了多个数据表的信息。因此可分一下步骤进行设计:
(1) 数据抽象,确定实体及其属性与码
货物实体的属性为:(货物编号、货物名称、货物类别、货物数量),其中货物编号为主码。
供应商实体的属性为:(供应商编号、供应商名称)
客户实体属性为:(客户编号、客户名称)
仓库实体属性为:(仓库编号、仓库名称)
以下图4为所画实体属性图
货物编号
货物
货物名称
货物类别
货物数量
入库单
供应商
出库单
客户信息
供应商信息
供应商编号
客户信息
客户编号
仓库
仓库编号
仓库名称
图4 实体属性图
(2) 使用PowerDesigner设计CDM
图5 仓库管理CDM图
3、逻辑结构与物理结构设计
(1)数据模型
① 将实体转换成关系模型
根据图5所示的仓库管理E-R图,将其中的实体转换成如下关系,且关系码用下划线标出:
● 将货物实体转换成货物关系(货物编号,货物名称,货物数量,货物类别)
● 将供应商实体转换成供应商关系(供应商编号,供应商名称)
● 将客户实体转换成客户关系(客户编号,客户名称)
● 将仓库实体转换成仓库关系(仓库编号,仓库名称)
②将联系转换成关系模型
● 入库单联系转换成入库单关系(编号,货物编号,仓库编号,供应商编号,货物价格,入库数量,入库日期)
● 出库单联系转换为出库单关系(编号,货物编号,仓库编号,客户编号,货物价格,出库数量,出库日期)
(2)将CDM转换成PDM
利用PowerDesigner的“Generate Physical Data Model”工具将CDM转换成PDM,如图6所示。
图6 仓库管理PDM图
4、数据库实施与维护
(1)仓库管理
及时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,仓库管理员要经常与入库经理、出库经理和货物经理核实货物库存信息,也应该经常提供库存报警数据。
CREATE TABLE 表名
(2)入库管理
各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。
(3)出库管理
仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出克,以便及时登记相应的产品出库流水帐。
5、可行性分析
(1)技术可行性:
根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本仓库管理系统是一个基于查询和插入功能的系统。虽然此系统设计较为简单,但考虑日后的开发设计,预计系统具有充分的技术扩展。
(2)经济可行性:
在当前设计来说,系统投入运行后能够使仓库管理实现科学化、规范化。增强了操作员对仓库管理能力,并提高了工作效率。
(3)运行可行性:
此系统可满足用户的基本需求,运行初步能够实现。
6、系统功能描述
(1)本系统主要功能为物品发放、物品出库、货物管理。具体实施功能有:插入功能、查询功能。
(2)次系统删除不必要的管理冗余,实现管理规范化、科学化。
(3)界面尽量简单化,实用、方便。
7.相关代码摘要:
(1)当入库单中插入数据时,如果是新货物则加入到货物信息中,如果是现有的货物则追加到货物信息表中,货物的数量则相应改变。相关代码如下:
CREATE trigger sinsert
on 入库单
after insert
as
declare @num int
declare @no char(6)
declare @cno char(6)
declare insert_ru cursor for select 货物编号,入库数量,仓库编号 from inserted
open insert_ru
fetch next from insert_ru into @no,@num,@cno
update 货物信息 set 货物数量=货物数量+@num where 货物编号=@no
(2)当出库单中插入数据时,是现有的货物则追加到货物信息表中,货物的数量则相应改变。如果是新货物则会因货物不存在而出错。相关代码如下:
CREATE trigger cinsert
on 出库单
after insert
as
declare @num int
declare @no char(6)
declare @cno char(6)
declare insert_ru cursor for select 货物编号,出货数量,仓库编号 from inserted
open insert_ru
fetch next from insert_ru into @no,@num,@cno
update 货物信息 set 货物数量=货物数量-@num where 货物编号=@no
展开阅读全文