数据库课程设计仓库库存管理系统.docx
《数据库课程设计仓库库存管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计仓库库存管理系统.docx(41页珍藏版)》请在冰豆网上搜索。
数据库课程设计仓库库存管理系统
!
《数据库设计》
课程设计报告
、
设计题目:
仓库库存管理系统设计与实现
学院名称:
信息工程学院
\
专业班级:
13计本2
姓名:
刘飞
学号:
43
一.概述3
系统开发背景3
|
系统开发意义3
开发运行环境3
二.需求与功能分析4
基本信息管理4
入库管理4
权限管理功能5
数据流程图5
数据字典6
$
3概要设计9
商场库存管理系统功能图9
对各部分功能的分析9
三.数据库设计10
系统存在的实体与属性10
系统实体间的联系10
画出ER模型图10
把ER模型图转换为关系表10
]
定义主键约束、外键约束13
描述每一个基本表关系,体现规范化设计思想13
数据库创建SQL脚本14
5应用程序设计14
数据库表14
6、系统关键技术实现19
存储过程设计19
触发器设计20
)
视图设计20
7系统测试21
插入测试数据21
.增加操作23
.修改操作23
.删除操作23
查询操作24
8总结26
?
一.概述
1.1系统开发背景
生产力的发展以及人的生活就决定了要有琳琅满目的商品,如果仅仅依靠人工管理好商场里的众多的商品,需要浪费大部分的人力物力,还会造成较高的人工失误。
会出现帐目对不上、商品数量出现差距等等一系列的问题,严重影响运营和工作人员的工作情绪。
这就需要我们开发一个商场资源管理系统来很大程度上减少这些问题的发生,而且还可以减少资源和不必要的浪费。
有计划而合理的经营商城,方便对商场资源人、物进出的记录及其销售审记,实现数字化、科学化、信息化管理,提高管理效率,降低经营成本。
从而更合理的利用各种资源。
处于社会经济技术快速发展的今天各种各样的行业竞争日益激烈。
行业不断寻求自身的优势劣势,扬长避短,加强自己的竞争力,力争在新世纪经济利润的大蛋糕中分得一杯羹。
利用商场库存管理系统可以提高商场的运作力,提高行业的竞争力。
1.2系统开发意义
商场管理作为计算机应用的一个分支有着手工管理无法比拟的优点
(1).使用本系统可以迅速提升商场的库存管理水平,为降低经营成本,大大提高商场的运作效率。
…
(2).提高效益增强商场扩张力提供有效的技术保障。
因此开发一套能够为商场工作人员提提供方便的库存管理系统数据库的设计将是非常必要的。
1.3开发运行环境
数据库系统:
MicrosoftSQLserverManagementStudio
程序编写语言:
Java
程序编辑软件:
Eclipse或MyEclipse
操作系统要求:
Windows8
二.需求与功能分析
1。
2
3
3.1基本信息管理
系统用户资料管理
用户资料即使用该系统的人员基本信息,包括了库长、库工、采购员、仓库清算员。
各种人员信息又包含其工号、密码、性别、年龄、姓名、职位。
使用该数据库系统时提供其工号和密码登录即可自由进行其相应权限内的操作。
当然,也可以凭借自己的工号密码查询自己的信息,而库长则因为有超级用户的权限,可以输入员工的编号查询任意员工的个人基本信息和操作记录,也可对员工的信息进行增、删、改的操作。
供应商资料管理
供应商资料主要包括商场货物的各家供应商的基本信息,包括供应商号码商家名称,商家所提供商品名称及数量,商家地址与供货商信誉度。
在入库时需要提供供应商的信息,用户也可通过输入供应商号码来查询相关供应商的基本信息和它近一年对仓库的供货记录。
仓库信息管理
"
仓库信息管理仓库信息仓库的编号、仓库名称、仓库地点、仓库容量现有库存及所存储商品类别。
商品信息管理
商品信息包括了商品编号、商品类别、名称、生产日期、保质期、价格和余量等信息。
商品信息管理功能模块可以实现以下功能,添加商品类别、修改商品类别、删除商品类别、查看商品类别、添加商品信息、修改商品信息、删除商品信息、查询商品信息。
3.2库存管理功能
库存操作管理模块可以实现入库管理、出库管理和库存盘点等功能。
入库管理
入库管理,库存管理员根据库存情况将采购计划反映给采购员,经批准后采购员将从供应商处订货。
当收到提货通知单后,采购员将入库商品清单交至库存管理员,确定商品准确无误后生成入库记录。
入库记录主要包括相关的产品信息、供应商信息、信息、库存管理员即用户信息、涉及的金额和入库时间等。
出库管理
.
出库管理,库长接到提货通知后,根据出库计划把已批准的提货商品清单交给库工,库工根据商品清单完成商品出库,同时生成出库记录。
出库记录主要包括相关的产品信息、仓库信息、用户信息、涉及金额和出库时间等。
库存提醒
库存警示是指对库存中接近安全库存或超过一定数额的产品进行报警。
在产品信息中,包括产品的合理数量范围和有效期限。
当产品的库存数量小于安全库存时,系统进行缺货提醒,当产品的数量大于系统设定的上限时,系统进行超储提醒。
产品出现缺货、超储、接近或超过有效期限时系统需报警。
库存盘点
由于人为操作等原因,系统中的库存数据与实际数据之间可能会存在误差。
为保证库存数据的准确性,每隔一段时间就需要对库存进行盘点。
通过对库存商品的盘点生成库存台账。
当计划台账与库存台账不匹配时,系统产生库存提示,仓库管理人员经根据提示进行库存检查,并采取相应措施。
3.3权限管理功能
普通用户:
包括采购员,库工,供应商
超级用户:
管理员
3.4}
3.5数据流程图
顶层数据流图
第1层数据流图
3.6~
3.7数据字典
数据流编号:
D1
数据流名称:
发货单
简述:
供货单位开给仓储部门的发货凭证数据流来源供应商
数据流去向:
仓库存储收货部门
数据项组成:
货物代号+商品名称+数量+金额+时间
数据流量:
1张/次数据流编号D2
数据流名称:
退货单
【
简述:
仓储收获部门开给供应商的退货凭证
数据流来源:
仓储收获部门
数据流去向:
供应商
数据项组成:
货物代号+商品名称+数量+时间
数据流量:
1张/次数据流编号D3
数据流名称:
入库单
简述:
仓储收货部开给存储管理部的入库凭证
数据流来源:
仓储收货部
、
数据流去向:
存储部
数据项组成:
货物代号+商品名称+数量+时间
数据流量:
1张/次数据流编号D4
数据流名称:
出库单
简述:
取货单位或个人开给仓库存储部的出库凭证
数据流来源:
取货单位或个人
数据流去向:
仓库存储部门
数据项组成:
货物代号+商品名称+数量+时间
<
数据流量:
1张/次数据流编号D5
数据流名称:
计划单
简述:
取货单位或个人开给仓库部门预期内取货的凭证单据
数据流来源:
取货单位或个人
数据流去向:
仓库存储部门
数据项组成:
货物代号+商品名称+数量+时间
数据流量:
1张/次
处理逻辑编号:
\
处理逻辑名称:
验货处理
简述:
仓库收货单位对收到的货物检验处理
数据流来源:
供货单位
输入的数据流:
发货单、订货单、质量标准
处理:
根据订货单和发货单进行比对,并对实际收到的货物进行比对,对收到的货物质量检验
处理频率:
对每批供货商发来的货物检查一次处理逻辑编号
处理逻辑名称:
库存检查
简述:
仓库管理部门对仓库内存储的货物进行盘点统计
—
输入的数据流:
计划单、当前库存剩余数据及盘点
处理:
对库存货物盘点核对剩余货物比对计划单检查是否缺货如缺货或将要不足,想采购发出通知
输出的数据流:
如果缺货发出缺货通知及对应商品种类信息以及数量大小时间期限。
数据流量:
每次计划单核对一次
处理逻辑编号:
处理逻辑名称:
出入库处理
简述:
仓库管理部门在收到进货单和出货单后的对仓储货物的处理
输入的数据流:
进货单、出货单,并按照相应单据进出货
】
处理:
按照相应单据进行处理
输出的数据流:
实际收到的或者发出的货物代号+商品名称+数量+时间
处理频率:
1批/次
处理逻辑编号:
处理逻辑名称:
库存提示
简述:
仓库管理部门在收到计划单后根据仓库内存储的数据和计划单上数据的比较向采购部门发出提示
输入的数据流:
库存台帐计划台帐
处理:
对输入的库存台帐和计划台帐比对如有不对发出通知
(
数据项组成:
不相符的条目信息包括货物代号+商品名称+数量+时间
数据流量:
每种商品每月处理一次处理逻辑编号
处理逻辑名称:
查询打印
简述:
根据现有数据统计打印输出
输入的数据流:
供应商信息商品信息合同台账计划台账
处理:
根据相关单位或个人的需求打印出相应的信息
输出的数据流:
货物代号+商品名称+数量+时间+供应商信息+批次+合同台账+计划台账
处理频率:
1次/次
`
3概要设计
商场库存管理系统功能图
对各部分功能的分析
信息基本信息管理功能是对系统用户以及商品商品的各种信息的增加、删除、修改和查询,其中商品的查询分为多钟查询,通过查询可以方便的查找出各种商品
库存管理功能是对仓库的商品进行管理,包括入库管理、出库管理、库存盘点和库存提醒,通过对仓库管理能过清楚的坚查各商品。
三.数据库设计
1·
2
3
4
5
5.1系统存在的实体与属性
商品(商品编号商品名称、保质期、价格)
仓库(仓库编号、仓库名称、仓库地点)
供应商(供应商编号、供应商名称、供应商地址、联系方式)
5.2'
5.3系统实体间的联系
供应商供应商品
商品进入仓库
商品运出仓库
5.4画出ER模型图
5.5把ER模型图转换为关系表
1.
2.
3.
4..
5.
5.1.
5.2.
5.3.
5.4.
5.4.1.商品表(products)
字段名称
含义
]
字段类型
约束
Pno
商品编号
Char(5)
Primarykey
Pname
商品名称
【
Varchar(30)
Notnull
Pvaliddate
保质期(单位:
月)
Int
Notnull,>0
Pprive
商品价格
%
numeric
Notnull,>0
5.4.2.仓库表(warehouses)
字段名称
含义
字段类型
约束
?
Wno
仓库编号
Char(5)
Primarykey
Wname
仓库名称
Varchar(30)
Notnull
?
wplace
仓库地点
Varchar(100)
Notnull
5.4.3.供应商表(providers)
字段名称
含义
《
字段类型
约束
Pdno
供应商编号
char(5)
Primarykey
Pdname
供应商名称
!
Varchar(30)
Notnull
Pdplace
供应商地址
Varchar(100)
Notnull
Pdphonenum
联系方式
】
Varchar(11)
Notnull
5.4.4.供应表(supply)
字段名称
含义
字段类型
约束
:
Pdno
供应商编号
Char(5)
外键,引用providers表的pdno字段:
联合主键
Pno
商品编码
Char(5)
外键,引用products表的pno字段。
联合主键
:
Productiondate
生产日期
Date
联合主键
Supplydate
供应日期
Date
Notnull
…
Supplyamount
供应量
Int
Notnull,>0
5.4.5.入库表(storgein)
字段名称
含义
【
字段类型
约束
Pno
商品编号
Char(5)
外键,引用products表的pno字段;联合主键
Wno
仓库编号
<
Char(5)
外键,引用warehouses表的wno字段;联合主键
Productiondate
生产日期
Date
联合主键
Storgeinamount
入库量
[
Int
Notnull
Storgeintime
入库时间
Date
Notnull
5.4.6.出库表(storgeout)
<
字段名称
含义
字段类型
约束
Pno
商品编号
Char(5)·
外键,引用products表的pno字段;联合主键
;
Wno
仓库编号
Char(5)
外键,引用warehouses表的wno字段,联合主键
Productiondate
生产日期
Date
联合主键
】
Storgeoutamount
出库量
Int
Notnull,>0
Storgeouttime
出库时间
Date
Notnull
!
5.4.7.总库存表(totalstorge)
字段名称
含义
字段类型
约束
Pno
商品编号
(
Char(5)
外键,引用products表的pno字段,联合主键
Wno
仓库编号
Char(5)
外键,引用warehouses表的Wno字段,联合主键
Storgeupper
库存上限
…
Int
Notnull,>0
Storgelower
库存下限
Int
Notnull>0
5.4.8.价格变动表
¥
字段名称
含义
字段类型
约束
Pno
商品编号
Char(5)
外键,引用products表的pno字段,联合主键
@
Productiondate
生产日期
Date
联合主键
Oldprice
变动前价格
Int
Notnull>0
!
Newprice
变动后价格
Int
Notnull>0
5.4.9.用户表users)
字段名称
含义
-
字段类型
约束
Uno
用户编号
Char(5)
Primarykey
Uname
用户名称
—
Varchar(30)
Notnull
Uaccount
用户账号
Varchar(30)
Notnull
Upassword
用户密码
|
Varchar(30)
Notnull
5.6定义主键约束、外键约束
4.
4.4.
供应表主键约束、外键约束
入库表主键约束、外键约束
:
出库表主键约束、外键约束
总库存表主键约束、外键约束
价格调整表主键约束、外键约束
5应用程序设计
1
2
3
4!
5
6
数据库表
转化为关系模式:
1).商品(商品编号商品名称、保质期、价格)
2).仓库(仓库编号、仓库名称、仓库地点)
3).供应商(供应商编号、供应商名称、供应商地址、联系方式)
^
4).供应(商品编号、供应商编号、生产日期、供应量)
5).入库(商品编号、仓库编号、生产日期、入库量、入库时间)
6).出库(商品编号、仓库编号、生产日期、出库量、出库时间)
7).商品总库存(商品编号、仓库编号、库存上限、库存下限)
8).商品价格变动表(商品编号、生产日期、变动前价格、变动后价格)
1.
2.
3.
4.…
5.
6.
6.1.
在数据库中创建表,并添加主键和外键约束
--表一商品表
createtableproducts(
pnochar(5)primarykey,
pnamevarchar(30)notnull,
}
pvaliddatetimeintnotnullcheck(pvaliddatetime>0),
ppricenumericnotnullcheck(pprice>0)
);
--表二仓库表
createtablewarehouses(
wnochar(5)primarykey,
wnameVarchar(30)notnull,
:
wplaceVarchar(100)notnull
);
--表三供应商表
createtableproviders(
pdnochar(5)primarykey,
pdnameVarchar(30)notnull,
pdplaceVarchar(100)notnull,
>
pdphonenumVarchar(11)notnull
);
--表四供应表
createtablesupply(
pdnochar(5)notnull,
pnochar(5)notnull,
productiondatetimedatetimenotnull,
>
supplydatetimedatetimenotnull,
supplyamountintnotnullcheck(supplyamount>0)
);
--主键约束
altertablesupplyaddconstraintsupply_pdno_pno_pdatetime_pkprimary
key(pdno,pno,productiondatetime);
>
--外键约束
altertablesupplyaddconstraintsupply_pdno_fkforeign
key(pdno)referencesproviders(pdno);
altertablesupplyaddconstraintsupply_pno_fkforeign
key(pno)referencesproducts(pno);
--表五入库表
createtablestorgein(
>
pnochar(5)notnull,
wnochar(5)notnull,
productiondatetimedatetimenotnull,
storgeinamountintnotnullcheck(storgeinamount>0),
storgeintimedatetimenotnull
);
--主键约束
[
altertablestorgeinaddconstraintstorgein_pno_wno_pdatetime_pkprimary
key(pno,wno,productiondatetime);
--外键约束
altertablestorgeinaddconstraintstorgein_pno_fkforeign
key(pno)referencesproducts(pno);
altertablestorgeinaddconstraintstorgein_wno_fkforeign
key(wno)referenceswarehouses(wno);
;
--表六出库表
createtablestorgeout(
pnochar(5)notnull,
wnochar(5)notnull,
productiondatetimedatetimenotnull,
storgeoutamountintcheck(storgeoutamount>0),
storgeouttimedatetimenotnull
`
);
--主键约束
altertablestorgeoutaddconstraintstorgeout_pno_wno_pdatetime_pkprimary
key(pno,wno,productiondatetime);
--外键约束
altertablestorgeoutaddconstraintstorgeout_pno_fkforeign
…
key(pno)referencesproducts(pno);
altertablestorgeoutaddconstraintstorgeout_wno_fkforeign
key(wno)referenceswarehouses(wno);
--表七总库存表
createtabletotalstorge(
pnochar(5)notnull,
wnochar(5)notnull,
】
totalint,
storgeupperintnotnullcheck(storgeupper>0),
storgelowerintnotnullcheck(storgelower>0)
);
--主键约束
altertabletotalstorgeaddconstrainttotalstorge_pno_wno_pkprimary
key(pno,wno);
#
--外键约束
altertabletotalstorgeaddconstrainttotalstorge_pno_fkforeign
key(pno)referencesproducts(pno);
altertabletotalstorgeaddconstrainttotalstorge_wno_fkforeign
key(wno)referenceswarehouses(wno);
--表八价格调整表
|
createtablepriceadjust(
pnochar(5)notnull,
productiondatetimedatetimenotnull,
oldpriceintnotnullcheck(oldprice>0),
newpriceintnotnullcheck(newprice>0)
);
--主键约束
`
altertablepriceadjustaddconstraintpriceadjust_pdatetime_pkprimarykey
(pno,productiondatetime);
--外键约束
altertablepriceadjustaddconstraintpriceadjust_pno_fkforeign
key(pno)referencesproducts(pno);
--表九用户表
~
createtableusers(
unochar(5)primarykey,
unamevarchar(30)notnull,
uaccountvarchar(30)notnull,
upasswordvarchar(30)notnull,
);
6、系统关键技术实现
1