仓库管理系统.doc

上传人:w****2 文档编号:6620455 上传时间:2020-03-01 格式:DOC 页数:21 大小:325.50KB
返回 下载 相关 举报
仓库管理系统.doc_第1页
第1页 / 共21页
仓库管理系统.doc_第2页
第2页 / 共21页
仓库管理系统.doc_第3页
第3页 / 共21页
点击查看更多>>
资源描述
东方学院实 验(实训)报 告项 目 名 称 仓库系统数据库分析与设计 所属课程名称 数据库原理及应用 项 目 类 型 设计、综合型 实验(实训)日期 2012.11.242010.12.16 班 级 09信息1班 学 号 0920400124 姓 名 张佳妮 指导教师 严素蓉 仓库管理系统的数据库设计1、问题背景及描述随着科学技术的发展,社会进步,计算机迅速的发展,仓库管理的方法也日新月异,以前全是由人管理的方法现存在很多的缺点:管理效率低,劳动强度大,信息处理速度低而且准确率也不够令人满意。为了提高仓库管理效率,减轻劳动强度提高,信息处理速度和准确性;为仓库管理员提供更方便、科学的服务项目。为仓库管理员提供的一种更先进、科学的服务系统。于是我们便选择了由计算机来设计一个仓库管理系统的方案。让计算机对仓库进行自动管理,仓库管理员可以直接在计算机上实现仓库的信息管理,并能在一定程度上实现自动化。我们在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。2需求分析2.1系统功能分析通过初步分析,“仓库管理系统”应该具备以下主要功能:仓库各种信息的输入,包括入库,出库,还原,需求信息的输入等。仓库管理的各种信息查询,修改和维护。 操作日志的管理。仓库管理系统的使用帮助。2.2数据流程图在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的流程图:图1(大致数据流程图)图2(整体数据流程图)2.3建立数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。它的作用是在软件分析和设计过程中提供关于数据的描述信息。数据字典和数据流图共同构成系统的逻辑模型。数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了。本仓库管理系统根据划分的模块定义了如下数据字典: 数据项的定义数据项编号:1-01数据项名称:商品编号别名:无简 述:某种商品的编号类型:字符型长度:8字节取值范围:数字 + 英文字母数据项编号:1-02数据项名称:单价别名:购入单价简 述:某种商品的购入单价类型:数值型长度:10位,小数位2位取值范围:0.009999999.99数据项编号:1-03数据项名称:库存数量别名:实际库存数量简 述:某种商品的库存数量类型:数值型长度:5位整数取值范围:099999 数据流的定义数据流名称:入库单编号:F1简述:采购人员填写的商品入库凭单数据流来源:采购人员数据流去向:登记库存台账数据流组成:日期 + 入库单编号 + 商品编号 + 购入数量流通量:25份/天高峰流通量:50份/天数据流名称:发货单编号:F2简述:供应商填写的商品发货凭单数据流来源:供应商数据流去向:登记合同台账数据流组成:日期 + 发货单编号 + 供应商编号 + 商品编号 + 发货数量流通量:25份/天高峰流通量:50份/天数据流名称:取货单编号:F3简述:库管员填写的要求车间取货凭单数据流来源:库管员数据流去向:车间数据流组成:日期 + 车间编号 + 商品编号 + 数量流通量:25份/天高峰流通量:50份/天 数据存储的定义数据存储的名称:库存台账数据存储编号:D1简述:记录商品的编号、名称、单价与库存数量等信息数据存储组成:商品编号 + 购入单价 + 库存数量关键字: 商品编号数据存储的名称:合同台账数据存储编号:D2简述:记录合同的编号、供应商编号、货物编号、单价与购入数量等信息数据存储组成:合同编号 + 供应商编号 + 商品编号 + 单价 + 购入数量 + 日期 + 合同状态关键字: 合同编号数据存储的名称:计划台账数据存储编号:D3简述:记录计划的编号、车间编号、商品编号、数量等信息数据存储组成:计划编号 + 供应商编号 + 商品编号 + 数量 + 日期 + 计划状态关键字: 计划编号数据存储的名称:供应商信息数据存储编号:D4简述:记录供应商的编号,名称,地址,电话,传真,银行帐号数据存储组成:供应商编号 + 名称 + 地址 + 电话 + 传真 + 银行帐号关键字: 供应商编号数据存储的名称:商品信息数据存储编号:D5简述:记录库存商品的编号,类别,名称,规格,单价,单位,存放位置,用途数据存储组成:商品编号 + 名称 + 类别 + 规格 + 单价 + 单位 + 存放位置 + 用途关键字: 商品编号数据存储的名称:车间信息数据存储编号:D6简述:记录车间的编号,名称,联系人,电话数据存储组成:车间编号 + 名称 + 联系人 + 电话关键字: 车间编号 数据存储的名称:职员信息数据存储编号:D7简述:记录用户名称、密码和权限数据存储组成:用户名 + 密码 + 权限关键字: 用户名 处理逻辑的定义处理名:库存检查编号:P1输入:数据流F5输出:数据流F6描述:当车间将计划单发给库管员后,库管员要将计划单与库存台账进行比较,看是否需要订货。处理名:验货处理编号:P2输入:数据流F2,数据流F5输出:数据流F1,数据流F4描述:采购员要检验货物的质量。处理名:出入库检查编号:P3输入:数据流F1输出:数据流F3描述:当验货处理后,库管员将货物入库,并发取货单到订货单位。3.概念结构设计 这一设计阶段是在需求分析的基础上,设计出能过满足用户需求的各种实现,以及它们之间的关系,为后面的逻辑结构设计打下基础。图3(总体系统E-R图)图4(产品实体E-R图)图5(仓库实体E-R图)图6(供应商实体E-R图)图7(顾客实体E-R图)图8(用户实体E-R图)逻辑结构设计关系模型供应商表(供应商编号,公司名称,联系人,地址,电话)主玛为供应商编号,符合三范式。产品表(产品编号,名称,规格,型号,数量,标准价格,货物重量,销售价格)主玛为产品编号,符合BC式。顾客表(顾客编号,名称,联系人,地址,电话,手机)主玛为顾客编号,符合三范式。仓库表(仓库编号,名称,面积,类型,管理员,地址,电话,用户号)主玛为仓库编号,符合三范式。用户表(用户编号,姓名,职位,权限,用户名,密码)主玛为用户编号,符合三范式。供应表(产品号,供应商号,货物数量)主玛为货物号,供应商号,符合三范式。取货表(客户号,产品号,取货数量)主玛为客户号,产品号,符合三范式。储存表(货物号,仓库号,存储数量)主玛为货物号,仓库号,符合三范式。4.2表的建立表1(供应商表supply)列名含义长度类型NULLDEFAULTSID供应商编号8intnonoSname公司名称20Char()nonoScon联系人6Char()nonoSdr地址30Char()nonoStele电话15intnono表2(产品表goods)列名含义长度类型NULLDEFAULTGID货物编号8intnonoGname名称20Char()nonoGsta规格8Char()nonoGtype型号8Char()nonoGqty数量8intnonoGSP销售价格8intnonoGDP标准价格8intyesNo 表3(顾客表custom)列名含义长度类型NULLDEFAULTCID顾客编号8intnonoCname名称8Char()nonoCcon联系人6Char()nonoCdr地址20Char()nonoCtele电话15intnonoChand手机15intyesNo 表4(用户表users)列名含义长度类型NULLDEFAULTUID用户编号8intnonoUname姓名8Char()nonoUpos职位10Char()yesnoUla权限8Char()nonoUsub用户名15Char()nonoUkey密码15intNo No 表5(仓库表warchouse)列名含义长度类型NULLDEFAULTWID仓库编号8intnonoWname名称20Char()nonoWsq面积6intyesnoWtype类型8Char()nonoWad管理员6Char()nonoWdr地址20Char()nonoWtele电话15intnonoUID编号8intnono表6(供应表accommdate)列名含义长度类型NULLDEFAULTGID货物编号8intnonoSID供应商编号8intnonoGS货物数量8intnono表7(取货表)列名含义长度类型NULLDEFAULTWID仓库编号8intnonoCID顾客编号8intnonoUID用户编号8intnonoSU取货数量8intnono表8(存储表)列名含义长度类型NULLDEFAULTGID货物编号8intnonoWID仓库编号8intnonoCU存储数量8intnono红色字为主码。5物理结构设计5.1数据库及基本表Create table supply(SID int primary key not null,Sname char(20) not null,Scon char(6) not null,Semail char(20),Sp int not null,Sdr char(30),Stele int,)Create table goods(GID int primary key not null,Gname char(20) not null,Gsta char(8) not null,Gtype char(8) not null,Gpty int not null,GSP int not null,GDP int,Gwei int not null,)Create table costom(CID int primary key not null,Ccre char(6),Ccon char(6) not null,Cdr char(20) not null,Ctele int not null,Chand int not null,COD char(15),Ccard int not null,Ccom char(20) not null,Cemail char(20),)Create table warehouse(WID int primary key not null,Wname char(20) not null,Wsq int,Wtype char(8) not null,Wad char(6) not null,Wdr char(20) not null,Wpty int ,Wtele int not null,)Create table users(UID int primary key not null,Uname char(8) not null,Upos char(10) not null,Ula char(8) not null,Usub char(15) not null,Ukey int not null,)Create table accommodate(GID int not null,SID int not null,GS int not null,primary key(GID, SID),Foreign key (GID) references goods(GID),Foreign key (SID) references supply (SID)Create table wcu(WID int not null,CID int not null,UID int not null,SU int not null,primary key(WID, CID, UID),Foreign key (WID) references warehouse (WID),Foreign key (UID) references users (UID),Foreign key (CID) references costom (CID),)Create table GW(GID int not null,WID int not null,CU int not null,primary key(WID, GID),Foreign key (GID) references goods (GID),Foreign key (WID) references warehouse (WID),)5.2索引的建立 create index supply_SID_index on supply(SID) create index goods_GID_index on goods(GID ) create index costom_CID_index on costom(CID ) create index users_UID_index on users(UID ) create index warchouse_WID_index warchouse on (WID )5.3视图Create view 出售 asSELECT dbo.GW.GID, dbo.supply.SID, dbo.GW.WID, dbo.GW.CUFROM dbo.accommodate INNER JOIN dbo.goods ON dbo.accommodate.GID = dbo.goods.GID INNER JOIN dbo.GW ON dbo.goods.GID = dbo.GW.GID INNER JOIN dbo.supply ON dbo.accommodate.SID = dbo.supply.SID INNER JOIN dbo.warehouse ON dbo.GW.WID = dbo.warehouse.WID INNER JOIN dbo.wcu ON dbo.warehouse.WID = dbo.wcu.WID INNER JOIN dbo.users ON dbo.wcu.UID = dbo.users.UID INNER JOIN dbo.costom ON dbo.wcu.CID = dbo.costom.CID5.4关系图6数据库运行和维护 数据库设计并试运行后,如试运行结果符合设计目标,数据库就可以真正投入运行了,同时也标志着开发任务的基本结束和维护工作的开始;6.1 维护工作包括:(1)数据库的转储与恢复;(2)数据库安全性和完整性控制;(3)数据库性能的检测与改善;(4)数据库的重组和重构。6.2空间管理1、 在数据库运行过程中,对数据库空间使用情况,特别是空间的增长情况进行监控,并采取相应的措施对空间进行管理非常重要;2、 空间管理主要包括:创建数据库空间,更改空间大小,删除空间,修改空间状态,新建、移动、关联数据文件等;6.3 参数调整1、外部调整:(1)CPU:当数据库操作对CPU的要求超过数据库服务器的CPU性能时,数据库性能就受到CPU的限制,使数据库操作变慢;如业务高峰时,CPU的使用量仍然很低,说明服务器CPU资源充足;(2)网络:大量的SQL数据在网络上传输会导致网速变慢,调整网络设备,也可以一定程度上提高数据库的性能;2、 调整内存分配3、 调整磁盘I/O4、 调整竞争:(1)修改参数以控制连接到数据库的最大进程数;(2)减少调试进程的竞争;(3)减少多线程服务进程的竞争;(4)减少重做日志缓冲区竞争;(5) 减少回滚段竞争。6.4 查询优化1、 合理使用索引:索引是数据库中重要的数据结构,根本目的就是为了提高查询效率,使用原则如下 :(1)经常在索引中作为条件被使用的列,应为其建立索引;(2)频繁进行排序或分组(即进行group by或order by操作)的列,应为其建立索引;(3)一个列的值域很大时,应为其建立索引;(4)如果待排列的列有多个,应在这些列上建立复合索引;(5)可以使用系统工具来检查索引的完整性,必要时进行修复。2、 避免或简化排序:因为磁盘排序的开销很大,当能够利用索引自动以适当的次序产生输出时,优化器就可以避免不必要的排序步骤,以下是一些影响因素:(1)由于现有的索引不足,导致排序时索引中不包括一个或几个等待排序的列;(2)group by或order by子句中列的次序与索引的次序不一样;(3)排序的列来自不同的表。为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表。如排序不可避免,那么应试图简化它。3、 消除对大型表行数据的顺序存取:在嵌套查询中,对表的顺序存取对查询效率可能产生致命的影响,解决方法就是对连接的列进行索引。还可以使用并集来避免顺序存取。4、 避免相关子查询:查询嵌套层次越多,效率越低,应尽量避免子查询,如不可避免,那么要在子查询中过滤尽量多的行;5、 避免困难的正规表达式:避免含MATCHES和LINK关键字的正规表达式;6、 使用临时表加速查询:把表的一个子集进行排序并创建临时表,有时能加速查询;7总结在这次数据库分析与设计中,我花了很久的时间做需求分析和数据库设计,然后编写程序。开始时我真的不知道该怎么做,仓库管理系统到底要创建哪些表,表里到底要有哪些数据项,这些都很模糊,于是就找别人的设计作参考,按着设计要求一步一步的设计。需求分析真的很重要,也不容易,比编程还难。在需求设计阶段,把系统的功能勾画出来,分析系统的数据字典、数据流向,画出E-R图,根据E-R图数据库设计关系模型,这样一步步下来,自己对仓库管理系统有了更多的了解,对后面的程序编程也明朗了。在数据库设计的时候也花了不少的时间,多次的在数据库关系模型、E-R图和数据字典之间循环修改,重复的修改完整性定义,优化表格。在定义check完整时发现SQL的check完整性定义失败,翻书发现原来SQL对check的完整性定义还没有强化。等数据关系模型最终确定了,才开始设计索引和触发子。之后的编程就简单多了。在数据库设计期间,我是在设计的过程中就去创建数据库,建表,所以当修改完整性定义和数据项时显得相当麻烦,因为有主键外键的完整性定义在修改时就不好做了。最终结论,我该把数据库设计完后才去创建数据库创建完整性定义等等,还有一点是创建表时最好也把后面程序功能的需要考虑进来。在这次数据库程序设计中真的学到不少。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!