商品仓库管理系统数据库设计
数据库仓库管理系统

课程设计报告课程设计题目:仓库管理系统数据库的设计与实现专业: 软件工程班级:学号:姓名:指导教师:2012年12月1日目录一、实验目的 (3)二、设计要求 (3)三、实验思路 (3)四、实验过程(源代码) (6)五、实验总结 (19)六、心得体会 (20)一、目的:通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。
二、课程设计要求:1.对各个系统进行系统功能需求分析描述:设计一个仓库管理系统,实现下列功能:○1. 零件信息登记(包括种类,名称和库存数量等信息);○2. 零件进库登记(包括种类,名称和库存数量等信息);○3. 零件出库登记(包括种类,名称和库存数量等信息);三、实现思路①需求分析: 由于货物的种类数量的纷繁复杂,比较难管理,给工作人员的工作带来诸多不便.此系统的开发就是专门解决工作人员在这些烦琐的问题。
此系统适用于仓库,它是比较完善的系统管理软件。
此系统的采用方便了仓库管理人员对仓库的管理,对管理人员的工作起到重要作用。
通过本系统软件,能帮助工作人员利用计算机,快速方便的对仓库的货物进行管理、输入、输出、查找等操作,将货物的管理具体化、直观化、合理化。
通过该系统所记录的数据,可以使仓库管理者对货物的进出情况管理的更清楚,使仓库管理系统更完善,减轻工作人员的工作负担,使工作简化,从而对货物进行更井井有条的管理。
主要功能如下:1.零件信息登记2.零件信息修改3.零件信息删除4.零件信息查询5.入库信息登记6.入库操作7.入库信息修改8入库信息删除9.入库信息查询10.出库信息登记11.出库库操作12.出库信息修改13.出库信息删除14.出库信息查询15.显示触发器16.各功能创建视图查询○2E-R图:○3创建表:1.仓库零件信息表(产品编号【主键】,名称【不为空】,种类【不为空】,入库价格【为空】,出库价格【为空】,库存【为空】)2.入库信息表(产品编号【主键】,产品名称【不为空】,货主名称【不为空】,入库数量【为空】,入库价格【为空】,货主联系电话【为空】)3.出库信息表(产品编号【主键】,产品名称【不为空】,客户名称【不为空】,出库数量【为空】,出库价格【为空】,客户联系电话【为空】)具体操作:仓库零件信息表创建:create table 仓库零件信息表(产品编号int not null primary key,产品名称varchar(20)not null,种类varchar(15)not null,入库价格int,出库价格int,库存int)入库信息表创建create table 入库信息表(产品编号int not null primary key,产品名称varchar(20)not null,货主名称varchar(20) not null,入库数量int,入库价格int,货主联系电话int,)出库信息表创建create table 出库信息表(产品编号int not null primary key,产品名称varchar(20)not null,客户名称varchar(20) not null,出库数量int,出库价格int,客户联系电话int,)/*************仓库零件信息表创建******************/ create table 仓库零件信息表(产品编号int not null primary key,名称varchar(20)not null,种类varchar(15)not null,入库价格int,出库价格int,库存int)insert into 仓库零件信息表values (1,'电脑零件','CPU',1500,1800,20) insert into 仓库零件信息表values (2,'电视零件','CPU',1000,1200,20) insert into 仓库零件信息表values (3,'电脑零件','显示屏',1300,1500,20) insert into 仓库零件信息表values (4,'电脑零件','显卡',800,1000,20)------drop table 仓库零件信息表实现如下:/*************入库信息表创建***************/create table 入库信息表(产品编号int not null ,产品名称varchar(20)not null,货主名称varchar(20) not null,入库数量int,入库价格int,货主联系电话int)insert into 入库信息表values (1,'电脑零件','张三',10,1500,123456) insert into 入库信息表values (2,'电视零件','李四',10,1000,234567) insert into 入库信息表values (3,'电脑零件','王二',10,1300,7758520) insert into 入库信息表values (4,'电脑零件','阿三',10,800,3344334)--drop table 入库信息表实现如下:/*************出库信息表创建******************/create table 出库信息表(产品编号int not null primary key,产品名称varchar(20)not null,客户名称varchar(20) not null,出库数量int,出库价格int,客户联系电话int)insert into 出库信息表values (1,'电脑零件','胡二',10,1800,222222)insert into 出库信息表values (2,'电视零件','刘一',10,1500,4444444)insert into 出库信息表values (3,'电脑零件','钟三',10,1000,55555)----drop table 出库信息表实现如下:--查询所建的表select * from 仓库零件信息表select * from 入库信息表select * from 出库信息表/*************索引创建******************/create unique index 货主索引on 入库信息表(货主联系电话) -- drop index 入库信息表.货主create unique index 零件索引on 仓库零件信息表(产品编号) -- drop index 仓库零件信息表.零件create unique index 客户索引on 出库信息表(客户联系电话) -- drop index 出库信息.客户---创建视图create view vi_0asselect 仓库零件信息表.产品编号,产品名称,货主名称,入库数量,入库信息表.入库价格,货主联系电话,出库价格, 种类,库存from 入库信息表,仓库零件信息表where 入库信息表.产品编号=仓库零件信息表.产品编号--该视图为联系入库信息表和仓库零件信息表的查询实现如下:----------零件信息登记----------create procedure seve(@产品编号int ,@名称varchar(20),@种类varchar(15),@入库价格int,@出库价格int,@库存int)asinsert into 仓库零件信息表values (@产品编号,@名称,@种类,@入库价格,@出库价格,@库存)exec seve @产品编号=11,@名称='AMD',@种类='显卡',@入库价格=900,@出库价格=1100,@库存=30 --查看插入产品编号为11的信息在原有零件中实现如下:---------零件信息修改-----------create procedure pro_update(@产品编号int ,@名称varchar(20),@种类varchar(15),@入库价格int,@出库价格int,@库存int)asupdate 仓库零件信息表set 名称=@名称,种类=@种类,入库价格=@入库价格,出库价格=@出库价格,库存=@库存where 产品编号=@产品编号update 出库信息表set 产品名称=@名称,出库价格=@出库价格where 产品编号=@产品编号update 入库信息表set 产品名称=@名称,入库价格=@入库价格where 产品编号=@产品编号exec pro_update @产品编号=4,@名称='修改',@种类='已修改',@入库价格=500,@出库价格=700,@库存=25 --查看产品编号为4的修改情况实现如下:----------零件信息删除--------------create procedure pro_delete(@产品编号int)asdeletefrom 仓库零件信息表where 产品编号=@产品编号exec pro_delete @产品编号=11实现如下:---------零件信息查询---------create procedure pro_select(@产品编号int)asselect *from 仓库零件信息表where 产品编号=@产品编号exec pro_select @产品编号=1 --查询产品编号为1的信息实现如下:----------入库信息表登记------------create procedure pro_1(@产品编号int,@产品名称varchar(20),@货主名称varchar(20),@入库数量int,@入库价格int,@货主联系电话int)asinsert into 入库信息表values (@产品编号,@产品名称,@货主名称,@入库数量,@入库价格,@货主联系电话)exec pro_1 @产品编号=5,@产品名称='AMD',@货主名称='小二',@入库数量=20,@入库价格=900,@货主联系电话=767876--登记产品编号为5的信息查看实现如下:---------------入库操作-------------create proc pro_7111(@产品编号int,@产品名称varchar(20),@货主名称varchar(20),@入库数量int,@入库价格int,@货主联系电话int ,@出库价格int,@种类varchar(12))asif ((select 产品编号from 仓库零件信息表where 产品编号=@产品编号) is not null) --如果原有产品在仓库中存在则执行编号为5的,没有则执行else语句beginupdate 仓库零件信息表set 库存=库存+@入库数量where 产品编号=@产品编号insert into 入库信息表values (@产品编号,@产品名称,@货主名称,@入库数量,@入库价格,@货主联系电话)endelsebegininsert into 入库信息表values (@产品编号,@产品名称,@货主名称,@入库数量,@入库价格,@货主联系电话)insert into 仓库零件信息表values (@产品编号,@产品名称,@种类,@入库价格,@出库价格,@入库数量)endexec pro_7111 @产品编号=5,@产品名称='ss',@货主名称='ww',@入库数量=31,@入库价格=1500,@货主联系电话=3232323, @出库价格=2323, @种类='fds'--如果原有仓库有的产品,则插入此行,查看产品编号为5的数量变化实现如下:exec pro_711 @产品编号=12,@产品名称='ss',@货主名称='ww',@入库数量=31,@入库价格=1500,@货主联系电话=3232323, @出库价格=2323, @种类='fds'--如果原有仓库没有的产品,则插入此行,查看产品编号为12的数量变化,重新查看仓库的数量实现如下:-----------入库信息修改-----------create procedure pro_2(@产品编号int,@产品名称varchar(20),@货主名称varchar(20),@入库数量int,@入库价格int,@货主联系电话int)asupdate 入库信息表set 产品名称=@产品名称,货主名称=@货主名称,入库数量=@入库数量,入库价格=@入库价格,货主联系电话=@货主联系电话where 产品编号=@产品编号update 出库信息表set 产品名称=@产品名称where 产品编号=@产品编号update 仓库零件信息表set 名称=@产品名称,入库价格=@入库价格where 产品编号=@产品编号select *from 入库信息表exec pro_2 @产品编号=12,@产品名称='修改',@货主名称='已修改',@入库数量=20,@入库价格=900,@货主联系电话=767876-- 利用存储过程查看产品编号为12的修改情况实现如下:--------------入库信息删除------------ create proc pro_3(@产品编号int)asdeletefrom 入库信息表where 产品编号=@产品编号exec pro_3 @产品编号=4实现如下:--------------入库信息查询-------------- create procedure pro_42(@产品编号int)asselect *from 入库信息表where 产品编号= @产品编号exec pro_42 @产品编号=1实现如下:-------------出库信息登记------------create procedure pro_5(@产品编号int ,@产品名称varchar(20),@客户名称varchar(20),@出库数量int,@出库价格int,@客户联系电话int)asinsert into 出库信息表values (@产品编号,@产品名称,@客户名称,@出库数量,@出库价格,@客户联系电话)exec pro_5 @产品编号=4,@产品名称='AMD',@客户名称='小三',@出库数量=10,@出库价格=1100,@客户联系电话=98766--登记编号为5的产品出库情况实现如下:-------------出库操作-------------create procedure pro_111(@产品编号int ,@产品名称varchar(20),@出库价格int,@客户名称varchar(20),@出库数量int,@客户联系电话int)asif ((select 产品编号from 仓库零件信息表where 产品编号=@产品编号)is null) print '仓库没有该货物' --如果原有仓库没有客户需要的产品直接执行编号为8的语句插入如果有则执行else语句查看出库后剩余的产品数量执行编号为4的语句else --begininsert into 出库信息表values(@产品编号,@产品名称,@客户名称,@出库数量,@客户名称,@客户联系电话)update 仓库零件信息表set 库存=库存-@出库数量where 仓库零件信息表.产品编号=@产品编号endexec pro_111 @产品编号=8,@产品名称='ss',@客户名称='123',@出库数量=31,@出库价格=1500,@客户联系电话=3232323--如果原有仓库没有产品编号为8的执行此行实现如下:exec pro_111 @产品编号=4,@产品名称='ss',@客户名称='123',@出库数量=31, @出库价格=2323,@客户联系电话=3232323--如果原有仓库有产品编号为4的执行此行查询实现如下:------------出库信息修改----------------create procedure pro_6(@产品编号int ,@产品名称varchar(20),@客户名称varchar(20),@出库数量int,@出库价格int,@客户联系电话int)asupdate 入库信息表set 产品名称=@产品名称where 产品编号=@产品编号update 出库信息表set 产品名称=@产品名称,客户名称=@客户名称,出库数量=@出库数量,出库价格=@出库价格,客户联系电话=@客户联系电话where 产品编号=@产品编号update 仓库零件信息表set 名称=@产品名称,出库价格=@出库价格where 产品编号=@产品编号exec pro_6 @产品编号=5,@产品名称='修改',@客户名称='已修改',@出库数量=10,@出库价格=1100,@客户联系电话=98766--如果需要修改出库的产品信息执行编号为5的实现如下:------------出库信息删除--------------create proc pro_7(@产品编号int)asdeletefrom 出库信息表where 产品编号=@产品编号exec pro_3 @产品编号=3实现如下:--------------出库信息查询--------------create procedure pro_8 --drop procedure pro_8(@产品编号int)asselect *from 出库信息表where 产品编号=@产品编号exec pro_8 @产品编号=1实现如下:---------------显示触发器-------------在执行存储过程之前执行触发器方便查看零件入库出库的更新添加修改删除create trigger tri_1on 仓库零件信息表for insertasselect *from 仓库零件信息表create trigger tri_2on 仓库零件信息表for deleteasselect *from 仓库零件信息表create trigger tri_3on 仓库零件信息表for updateasselect *from 仓库零件信息表create trigger tri_4on 入库信息表for insertasselect *from 入库信息表create trigger tri_5on 入库信息表for deleteasselect *from 入库信息表create trigger tri_6on 入库信息表for updateasselect *from 入库信息表create trigger tri_7on 出库信息表for insertasselect *from 出库信息表create trigger tri_8on 出库信息表for deleteasselect *from 出库信息表create trigger tri_9on 出库信息表for updateasselect *from 出库信息表五、实验总结此代码大部分功能以实现,但还有不足,代码不够简单。
仓库信息管理数据表设计

仓库信息管理数据表设计设计一个仓库信息管理数据表需要考虑仓库的各个方面,包括但不限于商品、供应商、员工、库存、销售、订单、采购等。
以下是一个简单的仓库信息管理数据表设计示例:1. 商品信息表(Product Information Table)•商品ID (ProductID)•商品名称(ProductName)•商品描述(Description)•商品分类(Category)•商品价格(Price)•商品数量(Quantity)•商品生产日期(ProductionDate)•商品过期日期(ExpiryDate)2. 供应商信息表(Supplier Information Table)•供应商ID (SupplierID)•供应商名称(SupplierName)•供应商地址(Address)•供应商联系方式(ContactDetails)•供应商银行账号(BankAccount)3. 员工信息表(Employee Information Table)•员工ID (EmployeeID)•员工姓名(Name)•员工职位(Position)•员工联系方式(ContactDetails)•员工工资(Salary)•员工入职日期(HireDate)4. 库存信息表(Inventory Information Table) •库存ID (InventoryID)•产品ID (ProductID)•入库日期(DateReceived)•入库数量(QuantityReceived)•出库日期(DateShipped)•出库数量(QuantityShipped)•库存数量(CurrentQuantity)•库存价值(InventoryValue)5. 销售订单表(Sales Order Table)•订单ID (OrderID)•客户ID (CustomerID)•订单日期(OrderDate)•订单状态(OrderStatus)•产品ID (ProductID)•产品数量(QuantityOrdered)•总价(TotalPrice)•支付状态(PaymentStatus)•配送状态(DeliveryStatus)6. 采购订单表(Purchase Order Table) •订单ID (OrderID)•供应商ID (SupplierID)•订单日期(OrderDate)•到货日期(DeliveryDate)•产品ID (ProductID)•产品数量(QuantityOrdered)•总价(TotalPrice)•付款状态(PaymentStatus)•收货状态(ReceiptStatus)。
仓库管理系统的设计实施方案与实现

仓库管理系统的设计实施方案与实现一、引言二、需求分析1.仓库模块:包括入库、出库、库存查询、库存调整等功能。
2.货物管理模块:包括货物信息的维护、货物分类和货物属性的管理等功能。
3.仓库人员管理模块:包括用户权限管理、人员信息管理和人员工作任务分配等功能。
4.数据报表模块:包括库存报表、进销存报表和仓库工作统计报表等功能。
5.系统管理模块:包括系统设置、日志管理和数据备份等功能。
三、系统设计1. 技术选型:选择成熟的开发框架和数据库,如Spring Boot和MySQL,以提高开发效率和系统性能。
2. 架构设计:采用前后端分离的架构,前端使用Vue.js框架,后端使用Spring Boot框架,实现前后端的解耦。
3.数据库设计:根据需求,设计相应的数据库表结构,并设置合适的索引和约束,以提高数据库的查询性能和数据的一致性。
4.模块设计:根据需求,划分合适的模块,并设计各个模块之间的接口和数据流动,以实现模块的独立性和可扩展性。
5.用户界面设计:根据用户需求和使用习惯,设计直观、易用的用户界面,以提高用户的工作效率和用户体验。
四、系统实施1.系统开发:按照系统设计进行模块开发和集成测试,不断迭代优化,确保系统的功能完备、性能稳定和用户友好。
2.系统部署:将开发好的系统部署到生产环境中,包括安装服务器硬件、安装操作系统和软件环境,并配置好相应的网络和防火墙设置。
3.系统培训:对仓库人员进行系统培训,包括系统的基本操作、功能介绍和故障排除等内容,以提高用户对系统的使用能力。
4.系统运维:定期进行系统的维护和升级,包括安全漏洞的修补、数据库的备份和日志的管理等,以确保系统的稳定和安全。
五、系统实现1.仓库管理模块的实现:实现入库、出库、库存查询和库存调整等功能,包括货物的添加、修改和删除,以及库存的增加、减少和调整等操作。
2.货物管理模块的实现:实现货物信息的维护、货物分类和货物属性的管理,包括货物的添加、修改和删除,以及货物分类的添加、修改和删除等操作。
Orcle仓库管理系统课程设计报告数据库部分,Orcle代码

宁波工程学院电信学院实验报告实验名称Oracle仓库管理系统设计专业、班级计科111班姓名XXX 学号XXXXXXXX日期指导教师XXX老师一、系统描述仓库管理系统的功能:1)、进仓管理:在货物送到仓库时,对货物信息进行了解并将相关信息输入到数据库中,同时更新数据库。
2)、出仓管理:在货物运出仓库时,进行货物信息统计并将数据保存到数据库中,同时更新数据库。
3)仓库货物信息提醒:当货物少于某一规定的值时,或者货物保质期将至时将发出提醒。
4)、仓库数据管理:当仓库中的货物少于要出仓的货物时不允许出仓;当仓库货物为满时,不允许其他货物进仓。
5)、查询修改:管理员可以进行一系列查询:查询货物类别及货物的信息、数量和货物流动的规则(对货物出仓进仓的要求);并可以对以上查询进行修改;可以查询某一天货物流动的信息,以及出仓及入仓的详细信息。
二、系统需求分析利用用例图、类图、E-R图对系统进行需求分析。
仓库管理系统可以实现对仓库货物信息、出仓货物管理、进仓货物管理、货物数量管理以及货物出入仓限制规则,以下为其用例图、类图及E-R图。
仓库管理系统用例图类图表E-R图三、数据库对象设计1、表设计通过对仓库管理系统的业务分析及查询资料了解,设计该系统的6个关系表,详情见上边类图部分。
2、序列设计为了方便仓库产品管理,在数据库中用以下序列产生相应编号C_R_VIEW:产生产品编号,起始值100。
3、视图设计为了方便仓库管理员查询出入库情况、每个生产日期的库存信息及产品的总数量,创建下列视图。
(1)创建名为“C_R_PRO_VIEW”的视图,用于查看产品的出入库汇总情况,包括出库的产品编号,入库的产品编号,产品名称,入库日期,出库日期,出库产品的生产日期,入库产品的生产日期,出库数量,入库数量。
(2)创建名为“SNUM”的视图,用于查询一种产品的总库存量,包括产品编号,产品总数量。
(3)创建名为“ZNUM_PRO_VIEW”的视图,用于查询产品的库存信息,包括不同生产日期的库存量。
仓库管理软件 数据库设计文档

数据库设计报告(库位管理)1 引言1.1编写目的数据库设计报告是在需求分析报告后与数据架构设计报告具有相同重要性的概要设计性质的文档。
编写数据库设计的目的包括:(1)为数据库实施工程师提供设计文档;(2)为系统架构师提供数据设计依据;(3)为软件详细设计提供数据结构设计依据;(4)测试工程师测试依据。
1.2预期待和阅读建议本数据库设计文档预期读者包括:项目经理,关注数据库设计,确定其复杂度,估算工作量和编写人力资源计划。
详细设计人员关注数据结构与事务关系,制定详细设计计划,确定设计实现技术线路。
测试经理,分析数据库设计可测试性,制定测试计划。
质量保证相关人员,编写质量保证计划,分析并列出质量评审要点。
需求经理,对比需求分析报告,编制需求跟踪矩阵表。
2 数据库设计命名规范2.1 数据库涉及字符规范采用26 个英文字母和0-9 这十个自然数,加上下划线_组成,共36 个字符。
不出现其他字符。
数据库不区分大小写,统一采用小写字母。
数据表名称遵循数据字典中定义的数据集定义英文标识。
数据字段名称遵循数据字典数据项英文标识。
2.2 数据库对象命名规范数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。
对象名字由前缀和实际名字组成。
前缀:使用大写字母表:TB_表名称视图: V_视图名称存储过程: S_存储过程名称函数:FN_函数名称索引IDX_<表名>_<索引标识>主键PK_<表名>_<主键标识>外键FK_<表名>_<主表名>_<外键标识>3 数据库实体关系设计数据实体关系图:图3-1 数据实体关系图4 数据库逻辑设计图4-1 数据库逻辑设计图图4-1是库位管理系统数据库逻辑设计图,从数据库的视角设描述了数据实体之间的关系。
5 数据库物理设计5.1 数据库物理设计图数据库物理设计图包括了对提取表、视图、存储过程等方面的描述。
WMS仓储管理系统设计

不合格 品库
自提区 提 货
销退办公室 配送办公室
整 件 拣 货 区
零散拣货区
拼箱复核区
配
托
送
运
发
发
货
货
区
区
装车
计生、器械库 整件堆垛区
冷库 麻精库 易串味库 仓储管理 办公室 收货养护室
收货区
卸车
15
实现仓储作业规范化
5、仓储作业中的基本岗位划分
收货员:收货员是一个业务岗,他的主要职责是协调收货,确认收货完成; 上架员:负责入库商品上架、核对等作业; 拣货员:负责商品的出库拣选、核对等作业; 拼箱复核员:负责对拆零拣选商品进行复核确认、装箱; 集货复核员:负责对发货单中的商品进行复核,出库前的保管及发货交接; 补货员:负责对货架存放品种的优化调整,以及拣货区缺货的及时补足等; 仓储管理组:仓储管理员是一个管理岗位,他的主要职能是将管理要求转化成作业指令;
岗位配置体现的是企业管理,没有固定模式;我们有一份《WMS岗位作业规范》文档对仓储作 业的各个岗位职能都进行了详细介绍,强烈建议大家看一下;
16
实现仓储作业规范化
6、WMS中的概念
货架:用于存放商品的最小物理单位; 区域:为了集中管理一批货架而设置的逻辑区域划分;
作用:1、对具有相同属性的货架归堆,便于进行统一管理;2、可对拣货人员划定主 要负责的区域及负责的优先级,从而保证整个库房并行发货,同步作业;避免太多的人员 往来交叉对拣货效率产生影响; 拣货任务单:拣货员用于拣货的任务单,拣货单上的每一条明细称为拣货指令
8
目录
一、仓储管理系统设计基础 二、实现仓储作业规范化 三、仓储系统案例分析 四、仓储系统中的数据逻辑 五、出库调度模型 六、仓储系统的交互接口 七、仓储系统的实施 八、仓储作业数据分析
仓库库存管理系统设计

仓库库存管理系统设计目录前言--------------------------------------------------------------------- ------------------------2摘要------------------------------------------------------------------------------------------- 2第一章概述-------------------------------------------------------------------------31.1 库存管理的必要性1.2 库存分类1.3 库存管理的目标第二章开发背景 --------------------------------------6第三章系统分析-------------------------------------------------------------------63.1进行资料收集3.2绘制业务流程图3.3用户需求分析第四章系统设计-------------------------------------------------------------------- 94.1总体设计4.2详细设计4.3 库存系统数据流程图4.4 库存实体E-R图4.5 入库实体E-R4.6 出库实体E-R图4.7 部门需求实体E-R图4.8 库存实体E-R图4.9 计划采购实体E-R图4.10实体之间关系E-R图第五章系统实施-------------------------------------------------------------------185.1、开发工具简介5.2 系统实现第六章系统使用说明----------------------------------------------------------34第七章结束语------------------------------------------------------------------------35第八章致谢-----------------------------------------------------------------------------36第九章参考文献-------------------------------------------------------- -----------36前言仓库库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以仓库库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。
仓库管理系统模板

东方学院实验(实训)报告项目名称仓库系统数据库分析与设计所属课程名称数据库原理及应用项目类型设计、综合型实验(实训)日期2012.11.24—2010.12.16班级09信息1班学号0920400124姓名张佳妮指导教师严素蓉仓库管理系统的数据库设计1、问题背景及描述随着科学技术的发展,社会进步,计算机迅速的发展,仓库管理的方法也日新月异,以前全是由人管理的方法现存在很多的缺点:管理效率低,劳动强度大,信息处理速度低而且准确率也不够令人满意。
为了提高仓库管理效率,减轻劳动强度提高,信息处理速度和准确性;为仓库管理员提供更方便、科学的服务项目。
为仓库管理员提供的一种更先进、科学的服务系统。
于是我们便选择了由计算机来设计一个仓库管理系统的方案。
让计算机对仓库进行自动管理,仓库管理员可以直接在计算机上实现仓库的信息管理,并能在一定程度上实现自动化。
我们在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。
2需求分析2.1系统功能分析通过初步分析,“仓库管理系统”应该具备以下主要功能:⒈仓库各种信息的输入,包括入库,出库,还原,需求信息的输入等。
⒉仓库管理的各种信息查询,修改和维护。
⒊操作日志的管理。
⒋仓库管理系统的使用帮助。
2.2数据流程图在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的流程图:图1(大致数据流程图)图2(整体数据流程图)2.3建立数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。
它的作用是在软件分析和设计过程中提供关于数据的描述信息。
数据字典和数据流图共同构成系统的逻辑模型。
数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了。
本仓库管理系统根据划分的模块定义了如下数据字典:①数据项的定义数据项编号:1-01数据项名称:商品编号别名:无简述:某种商品的编号类型:字符型长度:8字节取值范围:数字+ 英文字母数据项编号:1-02数据项名称:单价别名:购入单价简述:某种商品的购入单价类型:数值型长度:10位,小数位2位取值范围:0.00-9999999.99数据项编号:1-03数据项名称:库存数量别名:实际库存数量简述:某种商品的库存数量类型:数值型长度:5位整数取值范围:0-99999②数据流的定义数据流名称:入库单编号:F1简述:采购人员填写的商品入库凭单数据流来源:采购人员数据流去向:登记库存台账数据流组成:日期 + 入库单编号 + 商品编号 + 购入数量流通量:25份/天高峰流通量:50份/天数据流名称:发货单编号:F2简述:供应商填写的商品发货凭单数据流来源:供应商数据流去向:登记合同台账数据流组成:日期 + 发货单编号 + 供应商编号 + 商品编号 + 发货数量流通量:25份/天高峰流通量:50份/天数据流名称:取货单编号:F3简述:库管员填写的要求车间取货凭单数据流来源:库管员数据流去向:车间数据流组成:日期 + 车间编号 + 商品编号 + 数量流通量:25份/天高峰流通量:50份/天③数据存储的定义数据存储的名称:库存台账数据存储编号:D1简述:记录商品的编号、名称、单价与库存数量等信息数据存储组成:商品编号 + 购入单价 + 库存数量关键字:商品编号数据存储的名称:合同台账数据存储编号:D2简述:记录合同的编号、供应商编号、货物编号、单价与购入数量等信息数据存储组成:合同编号 + 供应商编号 + 商品编号 + 单价 + 购入数量+ 日期 + 合同状态关键字:合同编号数据存储的名称:计划台账数据存储编号:D3简述:记录计划的编号、车间编号、商品编号、数量等信息数据存储组成:计划编号 + 供应商编号 + 商品编号 + 数量 + 日期 + 计划状态关键字:计划编号数据存储的名称:供应商信息数据存储编号:D4简述:记录供应商的编号,名称,地址,电话,传真,银行帐号数据存储组成:供应商编号 + 名称 + 地址 + 电话 + 传真 + 银行帐号关键字:供应商编号数据存储的名称:商品信息数据存储编号:D5简述:记录库存商品的编号,类别,名称,规格,单价,单位,存放位置,用途数据存储组成:商品编号 + 名称 + 类别 + 规格 + 单价 + 单位 + 存放位置 + 用途关键字:商品编号数据存储的名称:车间信息数据存储编号:D6简述:记录车间的编号,名称,联系人,电话数据存储组成:车间编号 + 名称 + 联系人 + 电话关键字:车间编号数据存储的名称:职员信息数据存储编号:D7简述:记录用户名称、密码和权限数据存储组成:用户名 + 密码 + 权限关键字:用户名④处理逻辑的定义处理名:库存检查编号:P1输入:数据流F5输出:数据流F6描述:当车间将计划单发给库管员后,库管员要将计划单与库存台账进行比较,看是否需要订货。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理课程设计 仓库管理系统 第一章 绪论 课题背景介绍 1.1.1课题开发背景 商品库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以商品库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套商品库存管理软件成为很有必要的事情。 1.1.2课题开发意义 大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。 随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品、操作人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由库存管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。 课题开发目标 设计和实现商品库存管理系统,使库存管理的工作系统化、 规范化和自动化,从而达到提高管理效率的目的。 (1) 利用计算机系统实现商品库存管理 ; (2) 流程符合商品库存要求 ; (3) 查询方便 , 无论是按商品编号、名称、类别其中任一项都可以进行有效查询 ; (4) 系统扩充容易 , 有很多地方还需要更好地完善 ; (5) 友好的用户界面 , 既面向系统开发者 , 又面向用户 。 第二章 需求分析 2.1 调查用户需求 本系统的最终用户为商场管理员,商场的客户。根据我们日常生活中的经验,结合对商场管理员及商场的客户的调查,得出用户的下列实际要求: 2.1.1商场的基本情况 商场管理员管理商场中客户、供应商、商品及仓库的信息。 (1)客户的基本信息 客户可以自己进行注册,也可以由管理员分配。商场中的每个客户都分配有唯一的编号、名字、地址、电话号码,每个用户可以进行信息查询,但不可以进行修改。 (2)供应商的基本信息 每个供应商拥有唯一的编号、名字、地址、供应货物及电号码。 (3)货物的基本信息 每种货物有一个编号,会存放在一个仓库中,货物有唯一的名称,属于一个类型,拥有一定货物存储量,管理员可以对其信息进行修改。 (4)仓库的基本信息 每个仓库有一个编号,同样有一个名字,一个地址,也拥有一定的容量,可以扩充容量,管理员可以对其信息进行修改。 (5)货物查询的基本信息 管理员和客户都拥有对货物、仓库查询的权力,而货物查询又分为三种:所有货物、货号查询、货名查询,给出相对应的条件,就可以查询到相关的货物编号、仓库编号、货物名称、类型名称、货物存储量,仓库查询只有所有仓库,给出相应的条件则可以查询到相关仓库编号、仓库名字、仓库地址、仓库容量。 (6)出入库的基本信息 供应商和客户的每次提供、购买货物都会造成仓库相关货物信息的改变,货物入库时更新货物编号、货物名称、入库时间、货物类型、供应商编号、收购单价、入库总量、仓库编号、客户编号,货物出库时更新货物编号、货物名称、出库时间、货物类型、供应商编号、收购单价、出库总量、仓库编号、客户编号信息。
2.1.2 用户对系统的要求 通过需求分析,对商品库存进行有效的管理,使之形成完善的应用系统。数据库设计中要合理设置商品信息和库存信息等,用来实现商品信息的新增,修改、删除等功能,使得商家有较详细的数据统计与分析。 下面就介绍一些此商品库存信息管理系统的基本功能: (1) 登录认证 作为一个企业实际应用项目,登录认证是必不可少的。本项目的用户登录管理比较简单,分为管理员和客户登录,管理员和客户有不同的权限。 (2) 统计报表 统计报表模块包括客户统计、供货商统计、货物统计、仓库统计。各个统计都可以按照各个关键字进行统计查询。 (3) 入库管理 入库管理主要是管理员对仓库进行进货入库的操作,管理人员通过改功能模块把每天的入库商品明细输入数据库并对商品信息进行修改和删除。该模块支持按货物编号和货物名称、所有货物等关键字查询货物编号、仓库编号、货物名称、类型名称、货物存储量。 (4) 出库管理 出库管理模块与入货管理模块相似,主要是对货物出库信息进行管理。管理员员通过该功能模块对出库商品进行出库操作。 (5) 库存管理 库存管理模块主要是对已库存的商品进行操作,包括对商品的仓库信息进行修改。另外,可以按货物编号和货物名称、所有货物对所有货物进行盘点。 系统可行性分析 可行性分析研究的目的就是用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下面三方面考虑。 2.2.1经济可行性 在各个企业中用计算机管理企业信息已经越来越普遍了,可以说计算机已成为一个企业不可缺少的“管理者”了,它的方便、安全、可靠性也越来越受青睐,所以未来必定是计算机的天下。商品库存管理系统是一个小型的管理系统,但它给企业带来的利润是不可估量的,节省了许多人力,物力上的开支,使库存管理工作变繁为简,使其更加合理化、规范化。工作效率的提高就意为着整体水平的提高,是非常值得投资的。 2.2.2操作可行性
系统是在JDK 环境下基于MyEclipse平台开发的,易于操作。而且系统还采用了可视化面向对象的工具开发,其窗口、界面简洁易懂,所以系统在操作上是可行的。 2.2.3技术可行性 系统采用Java语言作为开发工具。Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的动态的语言。它具有理论严密、使用方便、易学易用等特点,利用它设计的系统具有界面友好、工具丰富速度较快的特点。再结合SQL Server 2000数据库技术,编写SQL语言访问数据库,实现强大的查询、修改、入库、出库操作。 系统功能的设计和划分 根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分: 第一部分:管理员管理部分 第二部分:用户管理部分
各部分完成的功能如下:
1、管理员管理部分 1、处理管理员登录 2、管理员可以注册、查询、注销、修改用户信息。 3、管理员可以注册、查询、注销、修改提供商信息。 4、管理员可以查看、修改货物信息。 5、管理员可以查看、修改仓库信息。 6、管理员可以插入货物入库信息。 7、管理员可以插入货物出库信息。
2、用户管理部分 1、处理用户注册 2、处理用户登录 3、用户可以查询货物信息。 4、用户可以查询仓库信息。 数据流图 管理员—供应商分数据流图:
管理员—客户分数据流图: 总数据流图;
数据字典 1.数据项 1. 客户数据字典 属性名 存储代码 类型 长度 备注 编号 Cno char 5 客户编号 姓名 Cname char 20 客户姓名 地址 Caddr char 40 客户地址 电话 Ctel char 11 客户照片 照片 Cicon image 16 客户密码 密码 Cpw char 10
2. 货物数据字典 属性名 存储代码 类型 长度 备注 货物编号 Gno char 5 货物名称 Gname char 20 仓库编号 Tno char 5 3. 管理员数据字典 属性名 存储代码 类型 长度 备注 编号 M01 char 5 管理员编号 姓名 Mname char 20 管理员姓名 密码 PW char 10 管理员密码
4. 供应商数据字典 属性名 存储代码 类型 长度 备注 编号 Pno char 5 供应商编号 姓名 Pname char 20 供应商姓名 地址 Paddr char 40 供应商地址
货物 Pgoods char 6 供应商供应货物 电话 Ptel char 11 供应商电话 照片 Picon image 16 供应商照片
5. 仓库存储数据字典 属性名 存储代码 类型 长度 备注 货物编号 Gno char 5 仓库编号 Sno char 5 货物名称 Gname char 10 类型名称 Tname char 20
货物存储量 Gnum int 4 仓库货物存储量
6. 货物入库数据字典 属性名 存储代码 类型 长度 备注 货物编号 Gno char 5 供应商编号 Pno char 5 货物名称 Gname char 10 货物类型 Tname char 20 仓库编号 Sno real 4 入库总量 Innum int 4 货物入库总量 收购单价 Inprice real 4 货物收购单价 入库时间 Indata char 20 货物入库时间