数据库课程设计仓库库存管理系统.doc

上传人:牧羊曲112 文档编号:4264377 上传时间:2023-04-12 格式:DOC 页数:35 大小:921KB
返回 下载 相关 举报
数据库课程设计仓库库存管理系统.doc_第1页
第1页 / 共35页
数据库课程设计仓库库存管理系统.doc_第2页
第2页 / 共35页
数据库课程设计仓库库存管理系统.doc_第3页
第3页 / 共35页
数据库课程设计仓库库存管理系统.doc_第4页
第4页 / 共35页
数据库课程设计仓库库存管理系统.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数据库课程设计仓库库存管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计仓库库存管理系统.doc(35页珍藏版)》请在三一办公上搜索。

1、! 数据库设计课程设计报告 、 设计题目:仓库库存管理系统设计与实现 学院名称: 信息工程学院 专业班级: 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脚本145 应用程序设计14数据库表146、系统关键

2、技术实现19存储过程设计19触发器设计20)视图设计207 系统测试21插入测试数据21.增加操作23.修改操作23.删除操作23查询操作248 总结26? 一. 概述1.1 系统开发背景生产力的发展以及人的生活就决定了要有琳琅满目的商品,如果仅仅依靠人工管理好商场里的众多的商品,需要浪费大部分的人力物力,还会造成较高的人工失误。会出现帐目对不上、商品数量出现差距等等一系列的问题,严重影响运营和工作人员的工作情绪。这就需要我们开发一个商场资源管理系统来很大程度上减少这些问题的发生,而且还可以减少资源和不必要的浪费。有计划而合理的经营商城,方便对商场资源人、物进出的记录及其销售审记, 实现数字化

3、、科学化、信息化管理,提高管理效率,降低经营成本。从而更合理的利用各种资源。处于社会经济技术快速发展的今天各种各样的行业竞争日益激烈。行业不断寻求自身的优势劣势,扬长避短,加强自己的竞争力,力争在新世纪经济利润的大蛋糕中分得一杯羹。 利用商场库存管理系统可以提高商场的运作力,提高行业的竞争力。1.2 系统开发意义商场管理作为计算机应用的一个分支有着手工管理无法比拟的优点(1).使用本系统可以迅速提升商场的库存管理水平,为降低经营成本,大大提高商场的运作效率。 (2).提高效益增强商场扩张力提供有效的技术保障。因此开发一套能够为商场工作人员提提供方便的库存管理系统数据库的设计将是非常必要的。1.

4、3 开发运行环境数据库系统:Microsoft SQL server Management Studio 程序编写语言:Java程序编辑软件:Eclipse或My Eclipse操作系统要求: Windows 8二. 需求与功能分析1 。233.1 基本信息管理 系统用户资料管理 用户资料即使用该系统的人员基本信息,包括了库长、库工、采购员、仓库清算员。各种人员信息又包含其工号、密码、性别、年龄、姓名、职位。使用该数据库系统时提供其工号和密码登录即可自由进行其相应权限内的操作。当然,也可以凭借自己的工号密码查询自己的信息,而库长则因为有超级用户的权限,可以输入员工的编号查询任意员工的个人基本信

5、息和操作记录,也可对员工的信息进行增、删、改的操作。 供应商资料管理 供应商资料主要包括商场货物的各家供应商的基本信息,包括供应商号码商家名称,商家所提供商品名称及数量,商家地址与供货商信誉度。在入库时需要提供供应商的信息,用户也可通过输入供应商号码来查询相关供应商的基本信息和它近一年对仓库的供货记录。 仓库信息管理 仓库信息管理仓库信息仓库的编号、仓库名称、仓库地点、仓库容量现有库存及所存储商品类别。 商品信息管理 商品信息包括了商品编号、商品类别、名称、生产日期、保质期、价格和余量等信息。商品信息管理功能模块可以实现以下功能,添加商品类别、修改商品类别、删除商品类别、查看商品类别、添加商品

6、信息、修改商品信息、删除商品信息、查询商品信息。 3.2 库存管理功能库存操作管理模块可以实现入库管理、出库管理和库存盘点等功能。 入库管理 入库管理,库存管理员根据库存情况将采购计划反映给采购员,经批准后采购员将从供应商处订货。当收到提货通知单后,采购员将入库商品清单交至库存管理员,确定商品准确无误后生成入库记录。入库记录主要包括相关的产品信息、供应商信息、信息、库存管理员即用户信息、涉及的金额和入库时间等。 出库管理 .出库管理,库长接到提货通知后,根据出库计划把已批准的提货商品清单交给库工,库工根据商品清单完成商品出库,同时生成出库记录。出库记录主要包括相关的产品信息、仓库信息、用户信息

7、、涉及金额和出库时间等。 库存提醒 库存警示是指对库存中接近安全库存或超过一定数额的产品进行报警。在产品信息中,包括产品的合理数量范围和有效期限。当产品的库存数量小于安全库存时,系统进行缺货提醒,当产品的数量大于系统设定的上限时,系统进行超储提醒。产品出现缺货、超储、接近或超过有效期限时系统需报警。 库存盘点 由于人为操作等原因,系统中的库存数据与实际数据之间可能会存在误差。为保证库存数据的准确性,每隔一段时间就需要对库存进行盘点。通过对库存商品的盘点生成库存台账。当计划台账与库存台账不匹配时,系统产生库存提示,仓库管理人员经根据提示进行库存检查,并采取相应措施。3.3 权限管理功能 普通用户

8、:包括采购员,库工,供应商 超级用户:管理员3.4 3.5 数据流程图顶层数据流图第1层数据流图3.6 3.7 数据字典数据流编号:D1 数据流名称:发货单 简 述:供货单位开给仓储部门的发货凭证数据流来源供应商 数据流去向:仓库存储收货部门 数据项组成:货物代号+商品名称+数量+金额+时间 数据流量:1张/次 数据流编号D2 数据流名称:退货单 【简 述:仓储收获部门开给供应商的退货凭证 数据流来源:仓储收获部门 数据流去向:供应商 数据项组成:货物代号+商品名称+数量+时间 数据流量:1张/次 数据流编号D3 数据流名称:入库单 简 述:仓储收货部开给存储管理部的入库凭证 数据流来源:仓储

9、收货部 、数据流去向:存储部 数据项组成:货物代号+商品名称+数量+时间 数据流量:1张/次 数据流编号D4数据流名称:出库单 简 述:取货单位或个人开给仓库存储部的出库凭证 数据流来源:取货单位或个人 数据流去向:仓库存储部门 数据项组成:货物代号+商品名称+数量+时间 数据流量:1张/次 数据流编号D5 数据流名称:计划单 简 述:取货单位或个人开给仓库部门预期内取货的凭证单据 数据流来源:取货单位或个人 数据流去向:仓库存储部门 数据项组成:货物代号+商品名称+数量+时间 数据流量:1张/次处理逻辑编号: 处理逻辑名称:验货处理 简 述:仓库收货单位对收到的货物检验处理 数据流来源:供货

10、单位 输入的数据流:发货单、订货单、质量标准 处理:根据订货单和发货单进行比对,并对实际收到的货物进行比对,对收到的货物质量检验 处理频率:对每批供货商发来的货物检查一次 处理逻辑编号 处理逻辑名称:库存检查 简 述:仓库管理部门对仓库内存储的货物进行盘点统计 输入的数据流:计划单、当前库存剩余数据及盘点 处理:对库存货物盘点核对剩余货物比对计划单检查是否缺货如缺货或将要不足,想采购发出通知 输出的数据流:如果缺货发出缺货通知及对应商品种类信息以及数量大小时间期限。 数据流量:每次计划单核对一次 处理逻辑编号: 处理逻辑名称:出入库处理 简 述:仓库管理部门在收到进货单和出货单后的对仓储货物的

11、处理 输入的数据流:进货单、出货单,并按照相应单据进出货 】处理:按照相应单据进行处理 输出的数据流:实际收到的或者发出的 货物代号+商品名称+数量+时间 处理频率:1批/次 处理逻辑编号: 处理逻辑名称:库存提示 简 述:仓库管理部门在收到计划单后根据仓库内存储的数据和计划单上数据的比较向采购部门发出提示 输入的数据流:库存台帐计划台帐 处理:对输入的库存台帐和计划台帐比对如有不对发出通知 (数据项组成:不相符的条目信息包括货物代号+商品名称+数量+时间 数据流量:每种商品每月处理一次 处理逻辑编号 处理逻辑名称:查询打印 简 述:根据现有数据统计打印输出 输入的数据流:供应商信息商品信息合

12、同台账计划台账 处理:根据相关单位或个人的需求打印出相应的信息 输出的数据流:货物代号+商品名称+数量+时间+供应商信息+批次+合同台账+计划台账 处理频率:1次/次3概要设计商场库存管理系统功能图对各部分功能的分析信息基本信息管理功能是对系统用户以及商品商品的各种信息的增加、删除、修改和查询,其中商品的查询分为多钟查询,通过查询可以方便的查找出各种商品库存管理功能是对仓库的商品进行管理,包括入库管理、出库管理、库存盘点和库存提醒,通过对仓库管理能过清楚的坚查各商品。三. 数据库设计1 23455.1 系统存在的实体与属性商品(商品编号商品名称、保质期、价格) 仓库(仓库编号、仓库名称、仓库地

13、点) 供应商(供应商编号、供应商名称、供应商地址、联系方式)5.2 5.3 系统实体间的联系供应商供应商品商品进入仓库商品运出仓库5.4 画出ER模型图供应商|商品仓库供应供应商名称联系电话仓库地点仓库编号仓库名称0Pprive商品价格%numericNot null,05.4.2. 仓库表(warehouses)字段名称含义字段类型约束?Wno仓库编号Char(5)Primary keyWname仓库名称Varchar(30)Not null?wplace仓库地点Varchar(100)Not null5.4.3. 供应商表(providers)字段名称含义字段类型约束Pdno供应商编号ch

14、ar(5)Primary keyPdname供应商名称!Varchar(30)Not nullPdplace 供应商地址Varchar(100)Not nullPdphonenum联系方式】Varchar(11)Notnull5.4.4. 供应表(supply)字段名称含义字段类型约束:Pdno供应商编号Char(5)外键,引用providers表的pdno字段:联合主键Pno商品编码Char(5)外键,引用products表的pno字段。联合主键:Productiondate生产日期Date 联合主键Supplydate供应日期DateNot nullSupplyamount供应量IntNo

15、t null ,05.4.5. 入库表(storgein)字段名称含义【字段类型约束Pno商品编号Char(5)外键,引用products表的pno字段;联合主键Wno仓库编号Char(5)外键,引用warehouses表的wno字段;联合主键Productiondate生产日期Date联合主键Storgeinamount入库量IntNot nullStorgeintime入库时间DateNot null5.4.6. 出库表(storgeout)0Storgeouttime出库时间DateNot null!5.4.7. 总库存表(totalstorge)字段名称含义字段类型约束Pno商品编号(

16、Char(5)外键,引用products表的pno字段,联合主键Wno仓库编号Char(5)外键,引用warehouses表的Wno字段,联合主键Storgeupper库存上限IntNot null ,0Storgelower 库存下限IntNot null 05.4.8. 价格变动表¥字段名称含义字段类型约束Pno商品编号Char(5)外键,引用products表的pno字段,联合主键Productiondate生产日期Date联合主键Oldprice变动前价格IntNot null 0!Newprice变动后价格IntNot null 05.4.9. 用户表users)字段名称含义-字段类

17、型约束Uno用户编号Char(5)Primary keyUname用户名称Varchar(30)Not nullUaccount用户账号Varchar(30)Not nullUpassword用户 密码|Varchar(30)Not null5.6 定义主键约束、外键约束4.4.4.供应表 主键约束、外键约束入库表 主键约束、外键约束:出库表 主键约束、外键约束总库存表 主键约束、外键约束价格调整表 主键约束、外键约束5 应用程序设计1234 !56数据库表 转化为关系模式:1).商品(商品编号商品名称、保质期、价格) 2).仓库(仓库编号、仓库名称、仓库地点) 3).供应商(供应商编号、供应

18、商名称、供应商地址、联系方式) 4).供应(商品编号、供应商编号、生产日期、供应量) 5).入库(商品编号、仓库编号、生产日期、入库量、入库时间) 6).出库(商品编号、仓库编号、生产日期、出库量、出库时间) 7).商品总库存(商品编号、仓库编号、库存上限、库存下限) 8).商品价格变动表(商品编号、生产日期、变动前价格、变动后价格)1.2.3.4. 5.6.6.1.在数据库中创建表,并添加主键和外键约束-表一商品表create table products( pno char(5) primary key, pname varchar(30) not null, pvaliddatetime

19、 int not null check(pvaliddatetime0), pprice numeric not null check(pprice0) ); -表二仓库表 create table warehouses( wno char(5) primary key, wname Varchar(30) not null,: wplace Varchar(100) not null ); -表三供应商表 create table providers( pdno char(5) primary key, pdname Varchar(30) not null, pdplace Varchar

20、(100) not null, pdphonenum Varchar(11) not null );-表四供应表 create table supply( pdno char(5) not null, pno char(5) not null, productiondatetime datetime not null, supplydatetime datetime not null, supplyamount int not null check(supplyamount0) ); -主键约束 alter table supply add constraint supply_pdno_pno

21、_pdatetime_pk primary key(pdno,pno,productiondatetime); -外键约束 alter table supply add constraint supply_pdno_fk foreign key(pdno) references providers(pdno); alter table supply add constraint supply_pno_fk foreign key(pno) references products(pno); -表五入库表 create table storgein( pno char(5) not null,

22、wno char(5) not null, productiondatetime datetime not null, storgeinamount int not null check(storgeinamount0), storgeintime datetime not null );-主键约束 alter table storgein add constraint storgein_pno_wno_pdatetime_pk primary key(pno,wno,productiondatetime);-外键约束alter table storgein add constraint st

23、orgein_pno_fk foreign key(pno) references products(pno); alter table storgein add constraint storgein_wno_fk foreignkey(wno) references warehouses(wno); ;-表六出库表 create table storgeout( pno char(5) not null, wno char(5) not null, productiondatetime datetime not null, storgeoutamount int check(storgeo

24、utamount0), storgeouttime datetime not null ); -主键约束alter table storgeout add constraint storgeout_pno_wno_pdatetime_pk primarykey(pno,wno,productiondatetime);-外键约束alter table storgeout add constraint storgeout_pno_fk foreignkey(pno) references products(pno);alter table storgeout add constraint stor

25、geout_wno_fk foreign key(wno) references warehouses(wno); -表七总库存表 create table totalstorge( pno char(5) not null, wno char(5) not null,】 total int, storgeupper int not null check(storgeupper0), storgelower int not null check(storgelower0) ); -主键约束 alter table totalstorge add constraint totalstorge_p

26、no_wno_pk primary key(pno,wno); #-外键约束alter table totalstorge add constraint totalstorge_pno_fk foreign key(pno) references products(pno);alter table totalstorge add constraint totalstorge_wno_fk foreignkey(wno) references warehouses(wno); -表八 价格调整表|create table priceadjust( pno char(5) not null, pr

27、oductiondatetime datetime not null, oldprice int not null check(oldprice0), newprice int not null check(newprice0) ); -主键约束 alter table priceadjust add constraint priceadjust_pdatetime_pk primary key(pno,productiondatetime);-外键约束 alter table priceadjust add constraint priceadjust_pno_fk foreign key(

28、pno) references products(pno);-表九用户表create table users( uno char(5) primary key, uname varchar(30) not null, uaccount varchar(30) not null , upassword varchar(30) not null , );6、系统关键技术实现12 34567存储过程设计1.2.3. !4.5.6.7.7.1.7.1.1. 创建一个存储过程将所有的商品价格都增加一元create procedure pro_adjustprice as& begin update pr

29、oducts set pprice=pprice+1; end; 7.1.2. 创建一个存储过程删除所以的用户信息create procedure pro_delproducts as begin, delete from users; end;7.1.3. 创建一个存储过程修改商品的保质期create procedure pro_ modifydatetime as begin update products set pvaliddate=pvaliddate+3; end;(建立进出仓的存储过程入仓:create procedure material_in_prorudan_no int,

30、supplier_no varchar(10),material_no varchar(10),in_data datetime,ru_qty bigint,(supp_pay bigint,staff_no varchar(10),out varchar(20)=0 outputasDECLAREn1 intselect n1=count(material_no) from materialwhere material_no=material_noif (n1=0)beginselect out=此物料不存在,如果要进仓,请先登记新物料信息returnendelsebegininsert i

31、nto material_in values(rudan_no,supplier_no,material_no,in_data,ru_qty,supp_pay,staff_no)update cunhuo set qty=qty+ru_qty where material_no=material_noselect out=操作成功!return endgo出仓:create proc material_out_pro (select qty from cunhuo where material_no=material_no)beginselect out=库存数量不足!returnend-el

32、sebegininsert into material_out values(chudan_no,kehu_no,material_no,out_data,chu_qty,kehu_pay,staff_no)update cunhuo set qty=qty-chu_qty where material_no=material_noselect out=操作成功!return endend触发器设计1.2.3.4.5.6.6.1. ?6.2.6.3.6.3.1. 创建触发器,限制只能在工作日对该表进行插入操作create trigger tri_products_insert before i

33、nsert on products begin if to_char(sysdatetime,DY) in(星期六,星期日) then& raise_application_error(-20001,你只能在工作时间周一至周五对商品表进行插入操作); end if; end;6.3.2. 创建触发器,限制产品表信息的删除create trigger tri_products_del before delete on products for each row begin raise_application_error(-20001,产品表中的信息不能删除); end;6.3.3. 创建触发器,

34、修改products表编号同时修改supply表编号Create Trigger truproducts On products -在products表中创建触发器 for Update -为什么事件触发 As -事件触发后所要做的事 if Update(pno) begin, Update supply Set pno= From supply br ,Deleted d ,Inserted i -Deleted和Inserted临时表 Where = end视图设计1.2.3. :4.5.6.7.7.1.7.2.7.3.7.3.1. 保存商品基本信 息和库存量信息【create or re

35、place view productsdetail as select p.*, from products p,totalstorge t7 系统测试插入测试数据 商品 insert into products values(p001,薯片,8,; insert into products values(p002,AD钙奶,6,2);; insert into products values(p003,清风抽纸,24,10); insert into products values(p004,益达木糖醇,10,12); select * from products; .仓库表insert i

36、nto warehouses values(w001,榆林仓库,榆林);insert into warehouses values(w002,西安仓库,西安);insert into warehouses values(w003,延安仓库,延安);,select * from warehouses; 供应商表insert into providers values(s001,供应商,榆林靖边,110); insert into providers values(s002,供应商,西安盱眙,078); insert into providers values(s003,供应商,延安子长,015)

37、;select * from providers; 供应表,供应商编号,商品编号,生产日期,供应日期,供应量。 insert into supply values(s001,p001, 2016-12-25 12:56, 2016-12-28 12:56,80)select * from supply;入库商品编号仓库编号生产日期入库量入库时间 Insert into storgein values(p001,w001, 2016-08-26 13:45,70,2016-09-15);select * from storgein;(出库商品编号仓库编号生产日期出库量出库时间 insert into storgeout values(p001,w001, 2016-09-01 9:42,20, 2016-09-15 1:47); select * from storgeout;总库存表商品编号仓库编号库存上限库存下限 insert into totalstorge values(p001,w001,1000,50,8); select * from totalstorge;价格调整商品编号生产日期变动前价格变动后价格 insert into

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号