企业仓库管理系统数据库设计Word文档下载推荐.docx

上传人:b****6 文档编号:20365874 上传时间:2023-01-22 格式:DOCX 页数:28 大小:346.88KB
下载 相关 举报
企业仓库管理系统数据库设计Word文档下载推荐.docx_第1页
第1页 / 共28页
企业仓库管理系统数据库设计Word文档下载推荐.docx_第2页
第2页 / 共28页
企业仓库管理系统数据库设计Word文档下载推荐.docx_第3页
第3页 / 共28页
企业仓库管理系统数据库设计Word文档下载推荐.docx_第4页
第4页 / 共28页
企业仓库管理系统数据库设计Word文档下载推荐.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

企业仓库管理系统数据库设计Word文档下载推荐.docx

《企业仓库管理系统数据库设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《企业仓库管理系统数据库设计Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。

企业仓库管理系统数据库设计Word文档下载推荐.docx

指导教师(签字):

教研室主任(签字):

1.系统概述

本作品完成的是企业仓库管理系统,前期主要是需求分析,包括数据与处理,并对有关企业仓库管理系统的管理员需求进行了综合、归纳和抽象,形成了一个独立于DBMS的概念模型,画出了E—R图,然后本组在数据库中将概念模型转换成了数据模型,建了客户信息表Users,用到了仓库基本信息表Storage,仓库库存信息表Repertory,然后本小组分工实现了用户登录、采购管理、提货管理、入库管理、出库管理。

本人实现的:

(企业仓库管理系统设计—提货管理及用户登录模块)

1.未注册的客户先进行注册,注册后登录,注册的客户可直接登录系统。

2.当客户提出提货请求时,产生一个提货单

3.首先根据数据库客户信息表审核提货单中客户是否存在。

4.若客户存在,则审核货物,查看货物数量是否充足。

5.审核成功后进行货物出库登记,登记的内容有货物号、客户号、货物数量、日期。

在OutS表中插入登记的此条出库记录。

2.需求分析

现要开发企业仓库管理系统。

经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能:

(1)用户的注册,登录。

(2)货物采购管理

(3)仓库入库管理。

(4)仓库提货管理。

(5)仓库出库管理。

2.1、数据流图:

图2.1企业仓库管理系统顶层数据流图

图2.2企业仓库管理系统0层数据流图

图2.3用户登录注册数据流图

图2.4仓库提货管理数据流图

2.2、数据字典

2.2.1数据项

表2.1数据项表

数据项名称

含义说明

类型

长度

货物号

唯一标识一个货物

字符型

20

货物名

货物的名称

货物数量

货物的总数量

整型

货物价格

货物的价钱

供应商号

唯一标识一个供应商

供应商名

供应商的名字

客户号

唯一标识一个客户

客户密码

客户的密码

仓库号

唯一标识仓库信息

仓库总容量

仓库的总容量信息

仓库剩余容量

出库编号

用于记录货物出库

出库日期

用于记录货物何时出库

管理员账号

唯一标示管理员信息

管理员密码

管理员管理员的密码

2.2.2数据结构

(1)名称:

客户

含义说明:

定义了一个客户有关的信息

组成结构:

客户号+客户密码

 

(2)名称:

货物

定义了一个货物有关的信息

  组成结构:

货物号+货物名+货物价格+货物型号+货物类别

(3)名称:

仓库

定义了一个仓库的有关信息

仓库号+仓库总容量+仓库剩余容量

2.2.3数据流

(1)数据流名称:

入库单

含义:

客户入库时需要填写的信息

来源:

去向:

审核客户

数据流量:

50份/天

组成:

客户号+货物名+货物数量

(2)数据流名称:

出库单

客户出库时需要填写的信息

(3)数据流名称:

提货单

客户提货时需要填写的信息

客户号+货物号+货物数量

(4)数据流名称:

违规单

如果无法提出所需货物,会给出一个反馈

系统管理员

反馈给客户

无法提货原因

2.2.4数据存储

(1)数据存储名称:

管理员信息表

含义说明:

存放管理员的注册信息

组成结构:

管理员账号+管理员密码

说明:

用来存储管理员信息,管理员账号号是管理员的主属性

(2)数据存储名称:

客户信息表

存放客户的注册信息

用来存储客户信息,客户号是客户的主属性

(3)数据存储名称:

货物信息表

存放货物的注册信息

货物号+货物名+货物价格

货物号为其主属性,货物价格为当前该货物的入库价格

(4)数据存储名称:

仓库信息表

存放仓库的相关信息

仓库号为其主码,要求能根据审核仓库的剩余容量查询货物的存放与否。

(5)数据存储名称:

出库信息表

存放货物出库信息

出库编号+货物号+客户号+货物数量+货物价格+仓库号+出库日期

出库编号为其主码

(6)数据存储名称:

仓库库存信息表

用来存储当前仓库存储信息

仓库号+货物号+客户号+货物数量

仓库号,货物号,客户号是其主码,货物数量为当前仓库中该客户的该货物的数量。

(7)数据存储名称:

提货单信息表

存放客户提货时所需的提货单

客户号+货物号+货物量

2.2.5处理过程

处理过程名称

输入

输出

加工逻辑

货物入库

核对正确后的入库信息表

将货物按照入库单清点正确后,审核通过,否则不通过

货物出货

出货单

核对正确后的出库信息表

将货物按照出库单清点正确后,审核通过,否则不通过

订货单

核对正确后的订货单

按照客户的订货情况进行核对

发货单

核对正确后的发货单

按照客户的订货情况进行核对然后发货

3.数据库概念结构设计

3.1、标识仓库管理系统中的实体和属性

参照数据字典中对数据存储的描述,可初步确定实体和属性为:

管理员{管理员账号,管理员密码}

货物{货物号,货物名,货物价格,货物型号,货物类别}

客户{客户号,客户密码}

供应商{供应商编号,供应商名}

仓库{仓库号,仓库的总容量,仓库的剩余容量}

入库信息{入库编号,货物号,客户号,货物数量,仓库号,入库日期}

出库信息{货物号,客户号,货物数量,出库日期}

仓库存信息{仓库号,货物号,客户号,货物数量}

提货单信息{货物号,客户号,货物数量}

其中有下划线的属性为实体的码。

3.2、确定实体间的联系

图3.1企业仓库管理系统总E-R图

图3.2仓库提货管理E-R图

4.数据库逻辑结构设计

4.1、关系模型

表4.1关系模式表

将在概念结构阶段得到的基本E-R图转换成关系模型,如下表所示:

关系名

属性及码

其他约束条件

货物号,货物名,货物价格

货物号为主码

货物名不允许为空

客户号,客户密码

客户号为主码

客户密码不允许为空

仓库号,总容量,剩余容量

仓库号为主码

总容量、剩余容量不允许为空

入库信息

入库编号,货物号,客户号,货物数量,仓库号,入库日期

入库编号为主码

货物号,客户号不允许为空

出库信息

货物号,客户号,货物数量,出库日期

货物号,客户号为主码,并且为外码。

仓库库存信息

仓库号,货物号,客户号,货物数量量

仓库号,货物号,客户号为主码,并且为外码。

管理员信息

管理员账号,管理员密码

管理员账号为主码

密码不允许为空

4.2、表与视图的设计

表4.2Users(客户表)

字段名

字段含义

字段类型

小数

是否为空

列级约束

Uid

VARCHAR

NOTNULL

Primarykey

Upassword

函数依赖有:

Uid→Upassword

可以看出非主属性Upassword完全函数依赖于Uid,并且此表绝不会存在传递函数依赖和部分函数依赖问题,所以Users属于3NF甚至于更高的级别。

表4.3Goods(货物表)

Gid

Gname

Gprice

INT

Gmodel

货物型号

Gsort

货物类别

Gid→Gname,Gid→Gprice,Gid→Gmodel,Gid→Gsort

可以看出非主属性Gname,Gprice,Gmodel,Gsort完全函数依赖于Gid,并且此表绝不会存在传递函数依赖和部分函数依赖问题,所以Users属于3NF甚至于更高的级别。

表4.4Storage(仓库信息表)

Sid

Sstocks

Ssstock

剩余容量

Sid→Sstocks,Sid→Ssstock

可以看出非主属性Sstocks、Ssstock完全函数依赖于Sid,并且Storage表中没有传递函数依赖,即每一个非主属性既不部分依赖于码也不传递依赖于码,所以Storage属于3NF。

表4.5Lading(提货单信息表)

ForeignkeyreferencesUsers(Uid)

ForeignkeyreferencesGoods(Gid)

Lnumber

提货数量

NULL

(Uid,Gid)→Lnumber

可以看出非主属性Lnumber完全函数依赖于(Uid,Gid),并且Lading表中没有传递函数依赖,即每一个非主属性既不部分依赖于码也不传递依赖于码,所以Lading属于3NF。

表4.6OutS(出库信息表)

Gnumber

MODIFYDATE

出货日期

datatime

表级约束

Primarykey(Gid,Uid)

(Gid,Uid)→Gnumber,MODIFYDATE

非主属性Gnumber,MODIFYDATE完全函数依赖于(Gid,Uid),且不存在传递函数依赖,即属于3NF。

表4.7Repertory(仓库库存信息表)

10

ForeignkeyreferencesStorate(sid)

ForeignkeyreferencesCargo(gid)

Primarykey(Sid,Gid)

(Sid,Gid)→Gnumber

可以看出非主属性Gnumber对(Sid,Gid)是完全函数依赖,并且不存在传递依赖,即每一个非主属性既不部分依赖于码也不传递依赖于码,所以Repertory属于3NF。

5.数据库物理设计及实施

5.1创建数据库

createdatabase企业仓库系统;

5.2创建表

创建Users表:

createtableUsers

(Uidvarchar(20)notnullprimarykey,

Upasswordvarchar(20)notnull

);

创建Goods表:

createtableGoods

(Gidvarchar(20)notnullprimarykey,

Gnamevarchar(20)notnull,

Gpriceintnotnull,

Gmodelvarchar(20)notnull,

Gsortvarchar(20)notnull

创建Storage表:

createtableStorage

(Sidvarchar(20)notnullprimarykey,

Sstocksintnotnull,

Ssstockintnotnull

创建Lading表:

createtableLading

(Lidvarchar(20)primarykey,

Uidvarchar(20),

Gidvarchar(20),

Lnumberint

创建Reterpory表:

createtableReterpory(

Sidvarchar(20)notnull,

Gidvarchar(20)notnull,

Gnumberintnotnull,

primarykey(Sid,Gid),

foreignkey(Sid)referencesStorage(Sid),

foreignkey(Gid)referencesGoods(Gid),

创建OutS表:

createtableOutS(

Gnumberint,

MODIFYDATEdatetime,

foreignkey(Gid)referencesgoods(Gid),

foreignkey(Uid)referencesusers(Uid)

向Users表中插入数据:

insertintoUsers(Uid,Upassword)values('

U1'

'

aaa'

U2'

bbb'

U3'

ccc'

U4'

ddd'

U5'

eee'

U6'

fff'

U7'

ggg'

U8'

hhh'

U9'

jjj'

U10'

kkk'

select*fromUsers;

向Goods表中插入数据:

insertintoGoods(Gid,Gname,Gprice,Gmodel,Gsort)values('

G1'

a'

20,'

A'

一级'

G2'

b'

10,'

B'

二级'

G3'

c'

50,'

C'

G4'

d'

70,'

D'

三级'

G5'

e'

E'

G6'

f'

100,'

F'

G7'

g'

140,'

G'

G8'

h'

60,'

H'

G9'

i'

80,'

I'

G10'

j'

90,'

J'

select*fromGoods;

向Reterpory表中插入数据:

insertintoReterporyvalues('

S1'

600);

S2'

800);

S3'

1000);

S4'

900);

S5'

S6'

700);

S7'

S8'

950);

S9'

500);

S10'

1100);

select*fromReterpory;

6.功能实现

6.1用户注册登录功能模块

1.用户注册时,输出客户号和密码,如果客户号不存在则注册成功,若客户号已存在则用户存在,不能注册。

--用户注册存储过程

createprocedureinsertUsers

@uidvarchar(20),

@upasswordvarchar(20),

@returnnamevarchar(20)output

as

ifexists(selectUidfromUserswhereUid=@uid)

begin

set@returnname='

用户存在'

end

else

insertintoUsersvalues(@uid,@upassword)

注册成功'

go

2.用户登录时,输出客户号和密码,与数据库中客户表匹配数据,如果客户号和密码都相同则登录成功,否则登录失败。

--用户登录存储过程

createprocedureloginUsers

ifexists(selectUid,Upassword--判断登录信息是否正确

fromUsers

whereUid=@uidandUpassword=@upassword)

begin

set@returnname='

登陆成功'

登录失败'

6.2仓库提货功能模块

1.当客户提出提货请求时,产生一个提货单。

(运用insert语句将提货单信息插入到提货信息表Lading)

insertintoLadingvalues('

L1'

L2'

G9

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

当前位置:首页 > 工程科技 > 建筑土木

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

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