还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
仓库管理系统
一、需求分析
1、引言进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)目的是为仓库管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量需求分析做得不好,甚至会导致整个数据库设计返工重做在企业中,货品管理是一项非常重要的工作使用人工式管理各项货品信息不仅效率低下,而且容易出错,安全性很差并且在实际操作中,数据的查找和维护都不容易实现,容易发生差错,导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力这里设计的仓库管理系统,就是针对这些问题而设计的其目的在于实现仓库货品信息管理和出入库记录及信息检索,是操作简单安全,从而提高工作效率和质量本系统的开发是设计一个仓库管理管理系统(数据库系统)
2、用户需求本系统是针对企业仓库的货品信息和出入库记录进行管理,仓库管理系统的核心在于新货入库、货品出库和货品库存三者,因此仓库管理系统的用户包括仓库管理员和系统管理员仓库管理系统主要完成货品仓库的库存管理,主要包括仓库管理人员信息、货品分类、货品入库、出库、库存、货品归还6个模块它们实现的具体功能如下仓库管理员信息模块的管理系统管理员负责对仓库管理人员的各种基本信息进行添加、查看、修改、删除和搜索等操作,企业可以进行查看仓库管理人员借贷记录的操作货品分类模块的管理系统管理员负责对货品分类进行添加、修改、删除等操作,此模块可以无限级添加货品的类型货品入库模块的管理系统管理员负责多货品资料进行添加、修改、删除等操作,仓库管理员可以查询货品信息,查看货品详细信息、借用记录等货品出库模块的管理系统管理员负责货品出库信息的管理,仓库管理员可以查看货品详细信息,已及进行货品搜索操作货品归还模块的管理系统管理员负责货品归还信息的处理,仓库管理员以及企业可以查看取货人信息,查看批准人信息,也可以查看货品详细信息,和进行搜索货品归还的操作库存模块的管理系统管理员负责对库存信息进行添加、修改、删除等操作,仓库管理员可以查看库存情况,同时还具有入库出库货品等功能以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性
3、划分功能模块根据系统功能的需求分析和企业仓库管理的特点,经过模块化的分析得到如下所示的系统功能模块结构图
4、数据字典1)数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,仓库管理的主要数据见下表
①仓库管理员信息表序号字段别名数据类型数据长度码1Id仓管员工号int4Y2P-name仓管员姓名varchar20N3P-tel仓管员电话varchar30N4P-netnum仓管员虚拟网号varchar50N5P-officetel仓管员办公室电话varchar50N6P-content仓管员备注信息varchar16N7nowdata添加仓管员的年月日date8N8nowtime添加仓管员的时分秒varchar10N
②货品分类表序号字段别名数据类型数据长度码1ID货品分类表标识int4Y2BigClassID货品分类级别varchar50N3BigClassNmae货品分类名称varchar50N
③货品入库表序号字段别名数据类型数据长度码1Id货品入库表标识int4Y2Shop-name货品名称varchar50N3Shop-type货品型号varchar50N4Shop-num货品入库数量int4N5Shop-nums货品库存数量int4N6Shop-time货品入库时间Date8N7Shop-price货品购入单价varchar50N8Shop-unit货品单位varchar50N9Shop-ib货品所属类别varchar50N10Shop-content货品备注信息varchar16N11nowdata新货入库时的年月日Date8N12nowtime新货入库时的时分秒varchar10N
④货品出库表序号字段别名数据类型数据长度码1Id货品出库表标识Int4Y2Shop-id货品类别标识varchar50N3Go-person取货人名称varchar50N4Goshop-num货品出库数量int4N5Go-time货品出库时间int4N6Sure-person货品批准人姓名date8N7Shop-return标识货品是否需要归还varchar50N8Return-num已归还数量varchar50N9nowdata新货入库时的年月日date8N10nowtime新货入库时的时分秒varchar10N2)数据结构数据结构反映了数据之间的组合关系一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成经过数据项和用户需求的分析,我对本系统一共分了6个组,具体如下表所示数据结构名含义说明组成部分仓库管理员信息管理描述仓库管理员的基本信息仓库管理员信息表标识+仓管员姓名+联系电话+虚拟网号+办公室电话+备注信息货品分类管理描述货品分类的基本信息货品分类表标识+分类级别+分类名称货品入库管理描述货品名称、货品型号、入库数量、入库时间、货品单位等信息货品入库表标识+货品名称+货品型号+入库数量+库存数量+入库时间+购入单价+货品单位+货品所属类型+备注信息货品出库管理描述取货人姓名、批准人姓名、出库数量、出库日期、货品标识号等信息货品出库表标识+货品类别标识+取货人名称+出库数量+出库时间+批准人姓名货品归还管理描述货品归还的信息归还时间+归还货品+领用人信息+批准人信息+已归还数量库存管理描述货品的出入库、库存和详细信息货品库存+货品详细信息+货品入库+货品出库3)数据流数据流是数据结构在系统内传输的路径通过对用户的需求分析,以及数据项和数据流的设计,得出了相应的数据流描述如下表所示
①数据流定义表编号数据流名组成流量备注01仓管员信息仓库管理员信息表标识+仓管员姓名+联系电话+虚拟网号+办公室电话+备注信息一般仓管员基本信息02货品分类信息货品分类表标识+分类级别+分类名称一般货品分类基本信息03货品入库信息货品入库表标识+货品名称+货品型号+入库数量+库存数量+入库时间+购入单价+货品单位+货品所属类型+备注信息大货品详细信息04货品出库信息货品出库表标识+货品类别标识+取货人名称+出库数量+出库时间+批准人姓名大货品详细信息05货品归还信息归还时间+归还货品+领用人信息+批准人信息+已归还数量大货品详细信息06库存信息货品库存+货品详细信息+货品入库+货品出库大货品详细信息07查询结果货品分类信息+货品入库信息+货品出库信息+货品归还信息大各种信息08统计分析货品分类信息+货品入库信息+货品出库信息+货品归还信息大各种信息
②外部项定义表编号名称输入数据流输出数据流备注1系统管理员01主要用于录入仓管员信息2仓管员07主要用于仓管员查询货品信息3仓管员02/03/04/05主要用于仓管员更新货品信息4经理06/07主要用于输出查询和统计信息的结果4)数据储存数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一经过数据项、数据结构和数据流的设计,本系统一共选用了三个数据存储,具体对数据存储的描述通常如下表所示编号数据存储名输入数据流输出数据流数据量存取方式A1仓管员相关信息01一般批处理、顺序检索A2货品相关信息02/03/04/0506大批处理、更新、顺序检索A3货品库存07/08大批处理、更新、顺序检索5)处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述对于本系统用于仓库管理一共设计了四种处理方法,具体处理方式如下表所示编号名称输入数据流输出数据流备注B1插入修改01,02,03,04,0501,02,03,04,05插入仓管员信息和货品信息B2更新修改01,02,03,04,0501,02,03,04,05更新仓管员信息和货品信息B3删除修改01,02,03,04,0501,02,03,04,05删除仓管员信息和货品信息B4统计分析07,0807,08统计学生信息和成绩
二、概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型
1、数据流图数据流图表达了数据和处理的关系,根据用户的需求分析和仓库管理系统的需求,得出如下图1-1所示的仓库管理数据流图图1—1仓库管理系统数据流图
2、系统E—R图根据上面设计规划得出的实体有仓管员信息实体、入库实体、出库实体、库存实体、归还实体各个实体的E—R图及其关系描述如下图仓管员信息实体E—R图图入库实体E—R图图出库实体E—R图图归还实体E—R图图库存实体E—R图实体与实体间的关系E—R图如下所示图实体间的E—R关系图图仓库管理系统E—R图
三、逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构设计逻辑结构一般分为3步进行
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型换;
(3)对数据模型进行优化
1、关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则一个实体型转换为一个关系模式实体的属性就是关系的属性,实体的码就是关系的码对于实体型间的联系则有以下不同的情况
(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码
(3)一个m:n联系转换为一个关系模式与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分
(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分
(5)具有相同码的关系模式可合并将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示仓管员(信息表标识,姓名,联系电话,虚拟网号,办公室电话),此为仓管员实体对应的关系模式入库(入库表标识,货品名称,货品型号,入库数量,库存数量,入库时间,购入单价,货品单位,货品所属类型),此为入库实体对应的关系模式出库(出库表标识,货品类别标识,取货人名称,出库数量,出库时间,批准人姓名),此为出库实体对应的关系模式归还(归还时间,归还货品,领用人信息,批准人信息,已归还数量),此为归还实体对应的关系模式库存(货品库存,货品详细信息,货品入库,货品出库),此为库存实体对应的关系模式
四、物理结构设计与功能实现
1、物理结构设计数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数数据库的物理设计通常分为两步
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率
1.1确定数据库的存储结构由于本系统的数据库建立不是很大,所以数据存储采用的是一个磁盘的一个分区
1.2存取方法和优化方法存取方法是快速存取数据库中数据的技术数据库管理系统一般都是提供多种存取方法常用的存取方法有三类第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是HASH方法数据库的索引类似书的目录在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库在书中,目录就是内容和相应页号的清单在数据库中,索引就是表中数据和相应存储位置的列表使用索引可以大大减少数据的查询时间但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法这是因为增加索引也有其不利的一面首先,每个索引都将占用一定的存储空间,如果建立聚簇索引会改变数据物理存储位置的一种索引,占用需要的空间就会更大;其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度
2、功能实现完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式然后就可以组织数据入库,最后就在此基础上编写各个表相关的创建、插入、删除和更新过程1)创建过程创建仓管员信息表CREATETABLECANGGUANYUANIDCHAR4NOTNULLPRIMARYKEYP_NAMEVARCHAR220P_TELVARCHAR230P_NETNUMVARCHAR250P_OFFICETELVARCHAR250P_CONTENTVARCHAR216NOWDATADATENOWTIMEDATE;创建货品分类信息表CREATETABLEHUOPINFEILEIIDCHAR4NOTNULLPRIMARYKEYBIGCLASSIDVARCHAR250BIGCLASSNAMEVARCHAR250;创建货品入库信息表CREATETABLEHUOPINRUKUIDCHAR4NOTNULLPRIMARYKEYSHOP_NAMEVARCHAR250SHOP_TYPEVARCHAR250SHOP_NUMINTSHOP_NUMSINTSHOP_TIMEDATESHOP_PRICEVARCHAR250SHOP_UNITVARCHAR250SHOP_IBVARCHAR250SHOP_CONTENTVARCHAR216NOWDATEDATENOWTIMEDATE;创建货品出库信息表CREATETABLEHUOPINCHUKUIDCHAR4NOTNULLPRIMARYKEYSHOP_IDVARCHAR250GO_PERSONVARCHAR250GOSHOP_NUMINTGO_TIMEDATESURE_PERSONVARCHAR250SHOP_RETURNVARCHAR250RETURN_NUMINTNOWDATEDATENOWTIMEDATE;2)数据插入插入仓管员信息INSERTINTOCANGGUANYUANIDP_NAMEP_TELP_NETNUMP_OFFICETELP_CONTENTVALUES1王红1376582111100018290311经理;INSERTINTOCANGGUANYUANIDP_NAMEP_TELP_NETNUMP_OFFICETELP_CONTENTVALUES2高云1376582111200028290312职员;插入货品分类信息INSERTINTOHUOPINFENLEIVALUES001’一级’’晶体管’;INSERTINTOHUOPINFENLEIVALUES002’一级’’显示器’;插入货品入库信息INSERTINTOHUOPINRUKUIDSHOP_NAMESHOP_TYPESHOP_NUMSHOP_NUMSSHOP_PRICESHOP_UNITSHOP_IBSHOP_CONTENTVALUES0001’康师傅方便面’’FBM’
54845681.8’包’’FBM’’已入库’;INSERTINTOHUOPINRUKUIDSHOP_NAMESHOP_TYPESHOP_NUMSHOP_NUMSSHOP_PRICESHOP_UNITSHOP_IBSHOP_CONTENTVALUES002’统一方便面’’FBM’
64885101.7’包’’FBM’’已入库’;插入货品出库信息INSERTINTOHUOPINCHUKUIDSHOP_IDGO_PERSONGOSHOP_NUMSURE_PERSONSHOP_RETURNRETURN_NUMVALUES001’一级’’王红’430’夏云’’否’0;INSERTINTOHUOPINCHUKUIDSHOP_IDGO_PERSONGOSHOP_NUMSURE_PERSONSHOP_RETURNRETURN_NUMVALUES001’一级’’王红’530’夏云’’是’530;3)数据删除删除仓管员信息DELETEFROMCANGGUANYUANWHERE//输入要删除的条件删除货品分类信息DELETEFROMHUOPINFEILEIWHERE//输入要删除的条件删除货品入库信息DELETEFROMHUOPINRUKUWHERE//输入要删除的条件删除货品出库信息DELETEFROMHUOPINCHUKUWHERE//输入要删除的条件4)数据更新更新仓管员信息UPDATECANGGUANYUANSET//更新符合条件的记录更新货品分类信息UPDATEHUOPINFEILEISET//更新符合条件的记录更新货品入库信息UPDATEHUOPINRUKUSET//更新符合条件的记录更新货品出库信息UPDATEHUOPINCHUKUSET//更新符合条件的记录3数据库的实施和维护完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式然后就可以组织数据入库了,这就是数据库实施阶段3.1数据库的实施数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试它相当于软件工程中的代码编写和程序调试的阶段当在PowerDesignerTrial11中设计好本系统的物理结构之后,就可以向数据库转换为相应的表先选择菜单栏中Database的Connect,通过添加数据源,连接数据源,输入用户名和密码进行转换,生成相关的SQL语句,在通过运行之后,最终在SQLServer2000中生成了如下所示的表仓管员信息表货品分类信息表货品入库信息表货品出库信息表
3.2数据的载入数据库实施阶段包括两项重要的工作,一项是数据的载入,另一项是应用程序的编码和调试由于本次课程设计没有进行应用程序的开发,因此对于后一项工作在这里就不做描述了具体输入的一部分数据如下图所示输入仓管员信息输入货品分类信息输入货品入库信息输入货品出库信息4数据库的试运行4.1通过SQL语句进行简单测试当一小部分数据输入数据库后,就可以开始对数据库系统进行联合调试,这一阶段要实际运行数据库应用程序,执行对数据库的各种操作,由于没有应用程序,所以只有通过SQL语言直接在数据库中执行对数据库的各种操作通过在SQLServer2000的查询分析器中输入相应的SQL语句,就可以得到相应的结果,具体如下所示1)查询仓管员信息输入SQL语句SELECT*FROMCANGGUANYUAN;执行结果2)插入货品入库信息输入SQL语句INSERTINTOHUOPINRUKUIDSHOP_NAMESHOP_TYPESHOP_NUMSHOP_NUMSSHOP_PRICESHOP_UNITVALUES003’今麦郎方便面’’FBM’
737824351.9’包’;执行结果3)删除货品分类信息输入SQL语句DELETEFROMHUOPINFEILEIWHEREID=001;执行结果原图为删除后为4)更新货品出库信息输入SQL语句UPDATEHUOPINCHUKUSETGO_PERSON=’苏霞’WHEREID=003;执行结果4.2数据库的运行和维护数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行了但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,包括
(1)数据库的转储和恢复——DBA要针对不同的应用要求制定不同的转储计划,一保证一旦发生故障能尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏
(2)数据库的安全性、完整性控制——DBA根据实际情况修改原有的安全性控制和数据库的完整性约束条件,以满足用户要求
(3)数据库性能的监督、分析和改造——在数据库运行过程中,DBA必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法
(4)数据库的重组织与重构造——数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织或部分重组织在企业中,货品管理是一项非常重要的工作使用人工式管理各项货品信息不仅效率低下,而且容易出错,安全性很差并且在实际操作中,数据的查找和维护都不容易实现,容易发生差错,导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力这里设计的仓库管理系统,就是针对这些问题而设计的其目的在于实现仓库货品信息管理和出入库记录及信息检索,是操作简单安全,从而提高工作效率和质量仓库管理系统仓库管理员管理库存管理货品分类管理货品归还管理货品查询统计删除仓管员信息修改仓管员信息添加仓管员信息删除货品分类修改货品分类添加货品分类归还货品查看货品详细记录删除货品信息修改货品信息货品出口信息货品入库信息货品入库查看货品库存货品出库修改仓管员信息搜索仓管员删除借贷记录查看货品信息货品出库货品归还管理员登录查看批准人信息查看货品信息货品搜索修改货品信息删除货品信息删除仓管员信息查看借贷记录货品清单新货入库查看仓管员删除分类修改分类添加分类仓库管理添加仓管员货品分类仓管员信息信息表标识姓名联系电话虚拟网号办公室电话备注入库入库表标识货品名称货品型号入库数量入库时间购入单价货品单位货品所属类型备注信息库存数量出库出库表标识货品类别标识取货人姓名出库数量出库时间批准人姓名备注归还归还时间归还货品领用人信息批准人信息已归还数量库存货品库存货品详细信息货品入库货品出库仓管员入库库存出库归还入库表标识仓管员入库库存出库归还信息表标识姓名联系电话虚拟网号办公室电话备注货品名称货品型号入库数量入库时间购入单价货品单位货品所属类型备注信息库存数量出库表标识货品类别标识取货人姓名出库数量出库时间批准人姓名备注归还时间归还货品领用人信息批准人信息已归还数量货品库存货品详细信息货品入库货品出库。