《数据库原理与应用实验报告模版2012版.doc》由会员分享,可在线阅读,更多相关《数据库原理与应用实验报告模版2012版.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理与应用实验报告实验项目名称: 仓库管理信息系统 实验日期 :2013/12/29姓 名 : 013111340周玉闯 013111352王天澳 013111322王裕彬班 级 : 11电商3班 成 绩 : 一、 系统需求分析1.系统概括介绍库存管理是企业物流系统的重要环节。库存的主要作用和功能是在物料的供需之间建立有效的缓冲区,以减轻物料的供需矛盾。但保持库存又具有一定的损失,包括:库存物资的采购费用;库存系统的运行和存贮费用;订货费用或货生产调整费用;库存损耗与资金占用。科学合理的库存管理,不仅可以促进销售,提高劳动生产率,而且可以降低产品成本,增加经济效益,反之则可能加剧供需矛盾
2、,或造成大量的资金积压,影响企业效益,造成重大的经济损失。库存管理的特点信息处理量比较大,所管理的物品种类繁多,而且入库单、出库单、盘点单等单据的发生量特别大,关联信息多,查询和统计的方式各不行同。因此在管理上实现起来有一定的困难。在管理过程中经常出现信息的重复传递,单据、报表的种类繁多,各个部门管理规格不统一等问题。而本仓库管理系统可以满足管理人员,对在库产品数量,产品的来源与去向。为了适应信息时代的潮流,增加了对信息的利用效率。本系统还具有满足企业客户关系管理(CRM)的部分功能,即收集记录供应商和顾客的相关信息。这样的系统能够方便仓库管理人员操作,利用现代信息技术,对产品扫描编号,将仓库
3、区域数字化,甚至可以联网实现网络化。仓库管理人员可以将货物随便放在空闲的有编号的货架上,并扫描条形码。仅需这样的操作,登录系统,输入产品名称便可查询位置。概括系统满足四个方面的需求:生产部门填写入库单,接收入库单;销售部门填写出库单,接收出库单,仓库检查入库单和出库单填写的形式是否符合要求,产品实际入库产品并根据库存数量制定物料供给计划。可进行库存数据的随机查询,经理根据报表制定库存计划,但不对中间过程进行管理。该系统中对不同种类的商品库存都设有最低库存量,当某一产品的库存低于某一数据时,会有报警提示。鉴于个人能力有限,本组简单化日常生活中的复杂信息,将仓库功能弱化,没有介入更多的详细信息,忽
4、略价格等,仅管理仓库的数量,仓储位置等信息。最后将系统功能分为4个模块,即:入库管理模块、出库模块、系统分析模块、查询系统模块。对于每一个功能模块,都包含了数据增加、修改、删除、等功能。2.数据字典(1)数据项 数据项编号名称说明类型约束条件pno产品编号每类产品按照一定的规则进行的唯一编号Char(10)非空,不重复pname产品名称产品的名称Char(20)非空type包装类型产品存放的形态Char(4)“件”“箱”sno供应商编号供应商按照一定的规则进行的唯一编号Char(10)非空,不重复sname供应商名称snameChar(20)非空inno入库单号进入仓库的单据号Char(10)
5、非空,不重复innumber入库数量进库的数量int非空intime入库日期进入仓库的日期smalldatetime非空nownumber在库数量现存仓库的货物数量int非空cno客户编号客户按照一定的规则进行的唯一编号Char(10)非空,不重复cname客户名称客户名称Char(20)非空outno出库单号出库的单据号Char(10)非空,不重复outnumber出库数量出库的货物数量int非空outtime出库日期出库日期smalldatetime非空shelveno货架编号货架的每一区域按照一定的规则进行的唯一编号Char(10)非空,不重复(2)数据处理处理逻辑名称编号简述输入的数据
6、流处理过程输出的数据流处理频率检查入库货品checkin检查入库的货品是符合格货品的信息人工抽检合格的货品单每次入库处理一次检查出库货品checkout检查出库的货品是符合格货品的信息人工抽检合格的货品单每次入库处理一次二、 概念结构设计1. 局部设计(E-R图)入库单号供应商产品名称产品包装类型产品编号销售入库日期入库数量供应商名称供应商编号产品名称包装类型产品编号产品购买出库单号出库数量r出库日期客户客户名称客户编号产品名称包装类型产品编号产品在库数量er存储仓库货架编号2. 全局E-R图合成设计仓库入库数量在库数量er客户名称货架编号产品产品名称产品编号包装类型购买存储销售供应商出库单号
7、供应商名称客户编号供应商编号客户出库数量r出库日期入库单号入库日期三、 逻辑结构设计1.建总表R0(pno,outno,inno,shelveno,pname,type,cname,cno,outtime,outnumber,sno,sname,intime,innumber)2.优化主码非主属性pnamepnotypeoutnocnamecnoouttimeinnooutnumbersnosnameshelveno intimeinnumbernownumber pno f pnamepno f typeoutno f cnameoutno f cnooutno f outtimeoutno
8、 f outnumberinno f snoinno f snameinno f intimeinno f innumber(pno,outno,inno,shelveno) f nownumber第二范式:R1(pno,outno,inno,shelveno,nownumber)R2(pno,pname, type)R3(outno,cname,cno,outtime,outnumber)R4(inno,sno,sname,intime,innumber)outno f cno f cnameinno f sno f snameR31(outno,cno,outtime,outnumber)
9、R32(cno,cname)R41(inno,sno,intime,innumber)R42(sno,sname)最终建立符合第三范式的表:Warehouse(pno,outno,inno,shelveno,nownumber)product(pno,pname, type)outbound(outno,cno,outtime,outnumber)customer(cno,cname)inbound(inno,sno,intime,innumber)supplier(sno,sname)具体数据:Warehouse表pnooutnoinnoshelvenonownumber00001out20
10、1301in201301a1000110000002out201302in201302a1000215000003out201303in201303b1000116000004out201304in201304b1000217000005out201305in201305d10001180Product表pnopnametype00001iPhone1件00002iPhone2件00003iPhone3件00004iPhone4件00005iPhone5件Outbound表outnocnoouttimeoutnumberout201301c20130012013010550out201302c
11、20130022013020640out201303c201300320130305100out201304c201300420130405100out201305c201300520131005100Customer表cnocnamec2013001德玛西亚c2013002女猎手c2013003赵信c2013004女警c2013005石头Inbound表innosnointimeinnumberin201301s20130012013030520in201301s20130022013010230in201301s20130032013040550in201301s2013004201303
12、07100in201301s201300520130308100Supplier表snosnames2013001淮涟公司s2013002大厂s2013003永恒公司s2013004天天公司s2013005德邦公司四、 物理结构设计(1)数据存取方法为了提高数据的查询效率,建立索引。鉴于仓库管理系统中,产品编号,货架编号,产品名称在现实生活中的使用频率可能会高,为此在这三个属性 上建立索引。(2)存储结构本系统由于更青睐于查询,所以存储结构采用聚簇存储,将产品编号,产品名称,货架编号,在库数量集中存放在连续的物理块上,极大提高对上述聚簇码的查询效率。五、 数据库的实施(1) 建立数据库crea
13、te database warehouseson(name=warehouses,filename=d:warehouses_datawarehouses.mdf,size=10,maxsize=30,filegrowth=5)log on(name=warehouses_log,filename=d:warehouses_datawarehouses_ldf,size=3,maxsize=12,filegrowth=2)(2) 依次建表Customer表create table customer(cno char(10) primary key,cname char(20) not null
14、)Supplier表create table supplier(sno char(10) primary key,sname char(20) not null)Product表create table product(pno char(10) primary key,pname char(20) not null,type char(4) check(type=件)Outbound(出库)表create table outbound(outno char(10) not null,cno char(10) not null,outtime smalldatetime,outnumber in
15、t,primary key(outno,cno),foreign key(cno) references customer(cno)Inbound(入库)表create table inbound (inno char(10) not null,sno char(10) not null,intime smalldatetime,innumber int,primary key(inno,sno),foreign key(sno) references supplier(sno)Warehouse(仓库)表create table warehouse(pno char(10) not null
16、,outno char(10) not null,inno char(10) not null,shelveno char(10) not null,nownumber int,primary key(pno,outno,inno,shelveno),foreign key(pno) references product(pno)(3) 插入数据insert into warehouse values(00001,out201301,in201301,a10001,100)insert into warehouse values(00002,out201302,in201301,a10002,
17、150)insert into warehouse values(00003,out201303,in201301,b10001,160)insert into warehouse values(00004,out201304,in201301,b10002,170)insert into warehouse values(00005,out201305,in201301,d10001,180)insert into product values(00001,iPhone1,件)insert into product values(00002,iPhone2,件)insert into pro
18、duct values(00003,iPhone3,件)insert into product values(00004,iPhone4,件)insert into product values(00005,iPhone5,件)insert into outbound values(out201301,c2013001,20130105,50)insert into outbound values(out201302,c2013002,20130206,40)insert into outbound values(out201303,c2013003,20130305,100)insert i
19、nto outbound values(out201304,c2013004,20130405,100)insert into outbound values(out201305,c2013005,20131005,100)insert into customer values(c2013001,德玛西亚)insert into customer values(c2013002,女猎手)insert into customer values(c2013003,赵信)insert into customer values(c2013004,女警)insert into customer valu
20、es(c2013005,石头)insert into inbound values(in201301,s2013001,20130305,20)insert into inbound values(in201302,s2013002,20130102,30)insert into inbound values(in201303,s2013003,20130405,50)insert into inbound values(in201304,s2013004,20130307,100)insert into inbound values(in201305,s2013005,20130308,10
21、0)insert into supplier values(s2013001,淮涟公司)insert into supplier values(s2013002,大厂)insert into supplier values(s2013003,永恒公司)insert into supplier values(s2013004,天天公司)insert into supplier values(s2013005,德邦公司)(4) 功能操作查询供应商所有信息:select * from supplier查询顾客所有信息:select * from customer查询库中所有产品:select pno
22、,pname from product查询库中产品的库存量:select product.pno,product.pname,nownumber from warehouse,productwhere warehouse.pno=product.pno 查询iPhone5的入库日期,入库量及入库单号:select pname, innumber ,inno ,intime from inbound,productwhere pname=iPhone5查询iPhone4的存储位置:select pname,warehouse.pno,shelveno from warehouse,product
23、where product.pno=warehouse.pno and pname=iPhone4查询各个产品的供应商:Select pname,warehouse.pno,inbound.sno,sname from warehouse,product,supplier,inboundwhere product.pno=warehouse.pno and warehouse.inno=inbound.inno更新库存:update warehouse set nownumber = nownumber+100where pno=00005进货:insert into product valu
24、es(00006,iPhone6,件)insert into inbound values(in201306,s2013001,20130306,20)insert into warehouse values(00006,out201306,in201306,d10003,0)update warehouse set nownumber = nownumber+20where pno=00006select pname,warehouse.pno,inbound.sno,sname from warehouse,product,supplier,inboundwhere product.pno
25、=warehouse.pno and warehouse.inno=inbound.inno and pname=iPhone6删除:Delete from product Where pname=iphone1低库存警报:select pname,warehouse.pno ,nownumber from warehouse,productwhere product.pno=warehouse.pno and nownumber150(5)运行结果:创建数据库Customer表Supplier表Inbound表Outbound表Warehouse表插入数据查询供应商所有信息查询顾客所有信息查询库中所有产品查询库中产品的库存量查询iPhone5的入库日期,入库量及入库单号查询iPhone4的存储位置查询各个产品的供应商更新库存进货删除低库存警报小组感言:总结,以上便是我组设计的一个简单的仓库管理信息系统,限于知识和能力有限,只能做到这了。总体回顾,依然觉得一个完整的系统,需要一个整体的思维,前面的大局观不完全,导致后面的数据设计都难以吻合。所以说,重点还是第一步需求分析。其实,生活中的仓库管理系统比这要复杂的多,我们的只是雏形,许多的复杂数据我们都没有录入,匆忙利用本学期数据库所学知识,马虎完成此作业。不过,后续的完善还会逐步进行的喽。
限制150内