1、摘要 库存管理系统是企业信息管理系统的重要组成部分,它的发展主要依赖于库存管理理论和计算机水平两方面。库存管理系统经历了从MRP(Material Require Planning)——MRPII(制造资源计划)——ERP(企业资源计划)的发展过程。基于ERP系统下的库存管理将是库存管理技术未来的发展方向。库存管理的最终目的是为了提供满意的服务(CS)和提高库存效率化。本文主要分析了库存管理系统的一些基本功能和组成情况,包括系统的需求分析,数据库设计,以及功能模块设计等,重点对应用程序的实际开发实现作了介绍。达到了数据的一致性和安全性,且应用程序功能比较完备,符合了库存管理系统作为典型的
2、信息管理系统(MIS)的要求。本库存管理系统以PowerBuilder9.0为前端开发工具,以Adaptive SQL Anywhere8.0为后台数据库,采用面向对象设计的思想。 关键词: 信息管理,库存管理,数据库,PowerBuilder9.0 ABSTRACT The administrative system of the stock is an important part of the information management system of the enterprise,its development mostly depends on the theor
3、y of the stock management and the level of the computer.The history of the administrative system of the stock is from MRP(Material Require Planning)——MRPII(Material Require Planning II)——ERP(Enterprise Resource Planning).The administrative system of the stock based on ERP System is the development d
4、irection of the stock management technique in future.The final intention of the stock management is to provide content service(CS) and increase the efficiency of the stock.This text has mainly analysed some basic functions of the administrative system of the stock and the makeup situation , includin
5、g the demands analysis,data-base analysis, the design of systematic structure and so on, have realized doing the introduction to the actual development of the application program especially. Having reached the requires of the consistency and security of the data, and the application program function
6、 is relatively maturity, have accorded with the administrative system of the stock as the request for the typical information management system (MIS).This administrative system of the stock uses PowerBuilder9.0 as the front exploitation tool and Adaptive SQL Anywhere8.0 as the background database,ad
7、opts the idea of Object Oriented Design(OOD). Keywords: Information Management, Stock Management, Database, PowerBuilder9.0 目录 摘要 I ABSTRACT II 第1章 绪论 1 1.1库存管理系统开发背景 1 1.1.1库存管理系统简介 1 1.1.2国内外库存管理系统的研究现状与发展趋势 2 1.1.3库存管理系统开发的意义 3 1.2研究内容 4 1.3系统开发工具简介 5 1.3.1PowerBuilder9.0简介 5 1.3
8、2Adaptive Server Anywhere8.0数据库简介 7 1.4本章小结 8 第2章 系统可行性分析 9 2.1系统开发目标 9 2.2系统可行性分析 9 2.3本章小结 10 第3章 需求分析 11 3.1需求分析概述 11 3.2数据流图 12 3.3数据字典 14 3.4本章小结 16 第4章 数据库设计 17 4.1概念结构设计 17 4.2逻辑结构设计 18 4.3数据库物理设计 20 4.4数据库安全性和完整性 21 4.5本章小结 22 第5章 系统功能设计及实现 23 5.1系统整体功能模块概述 23 5.2主要功能具体设计
9、 24 5.2.1登陆功能设计 24 5.2.2员工权限管理功能设计 26 5.2.3密码修改功能设计 30 5.2.4仓库资料管理功能设计 33 5.2.5产品型号管理功能设计 35 5.2.6配件购进入库功能设计 37 5.2.7配件销售出库功能设计 42 5.2.8配件购入月报表功能设计 45 5.2.9单个型号库存量报表功能设计 47 5.3本章小结 49 第6章 结论 50 致谢 52 参考文献 53 附录:程序主要源代码 54 - 74 - 第1章 绪论 1.1库存管理系统开发背景 1.1.1库存管理系统简介 库存管理的对象是很多的
10、广而言之,它可以包括:商业、企业库存的商品,图书馆库存的图书,博物馆库存的展品等等[1]。其中,工业企业的产品库存主要包括下列三部分: 1)没有经过企业加工,而为企业生产或其他各方面所需要的原材料、燃料、半成品、部件等,如钢材、轴承、发动机、电动机等。 2)已经过企业加工,但尚未加工完毕的在制品。 3)企业已加工完毕,储而待销的成品与备件等。 库存管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了库存信息流转时间,使企业的物料管理层次分明、井然有序,为采购、销售和生产提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统还可进行材料库存ABC分类汇总,减
11、少资金积压。完善的库存管理功能,可对企业的存货进行全面的控制和管理,降低库存成本,增强企业的市场竞争力。 库存管理信息系统研究的内容涉及库存管理的全过程,包括入库、出库、退货、订货、库存统计查询等等[2]。 库存管理的工作流程如下: a.入库 供货单位发货---运输---货物到达后测试检验---送货单---库管人员查收入库---入库单 处理各种入库业务,如:工业企业的生产入库、委外加工入库、其他入库等入库业务;按入库类型可以分别在不同模块录入入库单据信息。 b.出库 库存统计表---各使用单位---领料单----库管人员出库---出库单 处理各种出库业务,如:工业企业的生产领料
12、委外领料、其他出库等出库业务;按出库类型可以分别在不同模块录入出库单据信息。 c.退货 产品不合格通知书---各使用单位----领料单存根---库管人员退货---退货单 d.订货 库存管理部门向采购部门发出采购单---采购部门向供应单位传递订货单---供应单位组织发货---运输----货物到达后测试检验---入库 e.盘点 备份库存数据,打印盘点表,可按仓库、批次进行盘点,并根据盘点表生成盘盈、盘亏表,调整库存账。 盘点的功能是检查仓库现有库存量与帐面数量是否一致[3]。若盘点结果是仓库现有库存量大于帐面数量,则盘盈;若盘点结果是仓库现有库存量小于帐面数量,则盘亏。无论是盘盈还
13、是盘亏,它们的差异量都记录在盘点调整单。 1.1.2国内外库存管理系统的研究现状与发展趋势 现在国内外对库存管理系统的开发与研究也是很有实用性的,基本上能满足各企业的自身特点,来进行库存方面的管理,同时,该类系统又都在不断地深入与发展,来适应更多的企业,一般都能运用于各个企业的库存管理,但是都没有针对大众的广泛应用,只能运用某个企业或单位,这一点还有待于今后的进一步开发与实践。 今后,此类软件将会向基于条码的库存管理系统发展[4],现阶段,伴随物流及管理信息化、网络化的发展,应用条码技术进行库存管理、实现仓库作业自动化,将是一个必然的发展趋势,也是需要迫切解决的一个现实问题。随着信息化技
14、术的不断提高和应用的日渐普及,更多的商品拥有自己的条码,而且,使用条码化工作代替传统作业模式,减少了手工输入,这样不但提高了作业效率,还能确保资料正确,并减少因人为失误所造成的损失。 1)条码技术应用于库存管理是实现仓库管理自动化的有效途径 库存品种多,数量大。因此,要实现收发作业的快速、准确、高效,仓储管理自动化势在必行。而实现管理自动化的“瓶颈”则是产品信息的采集、输入。传统手工作业方式,在信息采集量加大的情形下,因信息不能及时的反馈,给收发作业造成一定的困难。利用条码技术,在入库及其包装上加贴条码,配之以仓库信息管理系统进行作业,不仅可提高效率,降低作业强度,也将大大提高产品收发作业
15、准确率(如键盘输入仅为百分之一),进而实现仓库管理的全面自动化。 2)条码技术应用于库存管理对提高仓库作业效率有重要作用 将条码技术和仓库管理信息系统结合起来,用于产品收、发、保管等全过程控制管理,不仅可改变信息采集的传统手工作业方式,降低作业强度,还可避免由此造成的各种差错,提高作业效率和科学管库水平。比较发现,信息输入时,条码输入速度是键盘输入的5倍。入库时,通常保管员根据产品上的条码所反映出的册序号、出厂期、生产厂家、单价、封存(保管)期等信息,进行实物点验,同时将条码信息录入到管理信息系统;出库时,保管员根据材料发付单内容,持条码扫描装置进行材料拣选,并完成信息录入;清库盘点时,保
16、管员可持扫描装备进行数量质量等内容核对,并把采集的信息录入管理系统中进行自动盘点,生成清库对帐单等,完成清库盘点作业。 3)条码技术应用于库存管理是完善产品保障信息网络的重要手段 储存产品信息是产品保障信息网络的重要组成部分,是做好产品供应保障工作的基础。产品保障信息网是实现物资储运全过程可视化的前提。目前,有些仓库内部局域网已经建成并投入使用,并与业务主管部门实现了信息沟通,库存保障信息网在日常产品保障工作中实现了信息沟通,库存保障信息网在日常产品保障工作中的作用日趋明显。条码技术在库存管理中的应用,可进一步完善系统各仓库之间及各仓库与作业主管部门之间的信息共享和交换功能,最终达到对产品
17、的全程跟踪管理,充分发挥条码技术在整个流通中的作用。 同时,在软件系统的研发过程中,将会融入一种EPR的企业管理思想。大量的研究与实践已经充分表明,ERP作为一种现代企业管理的思想和方法,将其大力地推广应用就是有效的促使我国企业管理朝着更加科学化、合理化和规范化方向发展的一种具体方法和途径[5]。 另外,库存管理的信息化和可视化,每个企业将会拥有两个仓库,一个是装满货物的仓库,还有一个就是管理系统里的数据库[6],对上万种货物分别编码,使其成为计算机可识别的语言,形象地说,货架上的号码就是货物的地址,从而避免了货物的分拣和提取时的翻箱倒柜式的查找。 1.1.3库存管理系统开发的意义 随
18、着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中。对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品、经办人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由库存管理系统
19、来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义[7]。 现在我国的企事业特别是中小型生产企业的库存管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。而购买大型通用库存管理系统,对中小型企业来说,又需要付出昂贵的代价,而且库存管理项目不一定完全符合企业库存管理的要求。因此,根据企业目前实际的库存管理情况开发一套库存管理系统是十分必要的[8]。 归纳起来
20、好处大约有以下几点: 1)可以存储各类信息档案包括物资、产品基本信息、供货单位信息、使用单位信息等。 2)可以方便快捷的进行物资入库管理\物资出库管理等等,安全、高效; 3)提供退货管理功能; 4)通过查询库存,及时了解库存余额信息,便于订货下单,以免由于缺货影响生产。另外,还提供经济订货量计算功能和打印订货采购单功能。 5)支持库存盘点功能; 6)只需一到二名物资管理员或仓库保管人员即可操作系统,节省大量人力; 7)可及时打印库存余额,方便领导决策或安排及时定货。 1.2研究内容 本次毕业设计(论文)的内容是以PowerBu
21、ilder9.0为开发工具,以Adaptive Server Anywhere8.0为数据库,开发一个摩托配件库存管理系统。 为了开发出这样一个库存管理系统,首先需要进行系统开发的可行性分析,然后根据具体的业务要求进行需求分析,在此基础上进行数据库的设计,最终实现所要求的各项功能。本库存管理系统所要求实现的功能包括系统的维护(主要是用户管理)、各基础资料的管理(包括仓库资料管理、厂家资料管理、配件型号资料管理等等)、配件出入库管理以及各项查询功能等。 在开发本库存管理系统的过程中,需解决的主要问题是配件出入库管理功能和查询功能的设计。为此,首先要理清配件出入库的业务要求,进而明确不同出入库
22、单上的内容(因配件出入库的原因不同,出库或入库单上的内容会有所不同)。查询功能的设计,关键是对查询条件(如日期、型号等)的明确。 1.3系统开发工具简介 1.3.1PowerBuilder9.0简介 PowerBuilder是一种面向对象的、具有可视化图形界面的快速交互式开发工具[9]。1995年Sybase公司收购了Powersoft公司,发布了PowerBuilder(简称PB),使其成为自己的拳头产品。PowerBuilder可以将应用程序编译成运行代码,提供了ODBC PowerBuilder驱动器,对当前的数据库系统进行支持,并用PFC(PowerBuilder Foundat
23、ion Class Library)取代了原来的Application Library,符合当前面向对象的编程方式。Internet/Intranet应用模式和组件开发技术符合当前流行的最新要求。 PowerBuilder具有十分强大的功能,特别是在开发有关数据库管理系统方面优势明显。数据窗口更是其专利产品,通过数据窗口对象可以从数据库中读取数据,或者向数据库中增加、删除、修改数据,进行数据库维护。PowerBuilder的其它特点如下: 1.可视化的开发环境 PowerBuilder是一个集成的完全可视化开发环境。使用PowerBuilder可以用一种可视、直观的方式来创建应用程序的用
24、户界面和数据库接口。 2.面向对象的工具 PowerBuilder采用了面向对象(OO)技术,具有面向对象编程的各种性质,与传统的开发工具有着本质的区别。传统的开发方法是给程序预定义了运行路径,开发人员需要编大量的程序去控制程序的流程,程序运行时严格顺着路径执行,即“流控制”方法;而PowerBuilder的开发方法是事件(event,可以发生在对象上的事情,如窗口的Open事件定义在窗口打开时执行的操作)驱动,程序不是顺序执行,而是被写成许多独立的片段,某段程序只有当与之相关联的事件发生时才会执行。PowerBuilder的窗口、菜单、数据窗口等都是对象,也可以构造自己的对象。 3.功
25、能强大的编程语言 可以非常方便地用PowerBuilder的高级语言PowerScript为每一个对象上发生的特定事件编写脚本(Script),像用BASIC语言一样简单,同时提供了近千个函数和数十个系统对象供调用[10]。 4.开放的系统 PowerBuilder可以访问任何一个常用的后台数据库系统,比如Oracle、Sybase和SQL Server等大型数据库,以及Xbase、FoxPro等小型数据库。它本身也带有一个数据库——Sybase SQL Anywhere。PowerBuilder提供了通用的前台用户界面,开发人员无需关心每个数据库的特点和特性,只需集中精力进行前台应用程
26、序的开发。 5.多平台的开发环境 PowerBuilder开发环境现在有Windows、Mac OS和Unix等版本。在不同操作系统开发的应用程序只需在另一操作系统下重新编译,即可直接运行。 6.支持传统的企业级客户/服务器开发解决方案 PowerBuilder与所有流行的客户/服务器数据库都有接口,也可以在多用户下访问数据库。数据的安全性、完整性可以得到保证。 与PowerBuilder8.0版本相比,PowerBuilder9.0扩展并增加了多种功能[11]。 1. 新增JSP targets,可在PowerBuilder开发环境中直接开发JSP程序 开发者可利用Wizard
27、s和其它的RAD工具,快速开发和部署一套JSP网络应用系统。 2. 提供新的用户组件让用户可以轻易使用Web Services 开发人员可在Microsoft.NET或其它架构环境下创建、发布和完成网络服务系统。 3. 提供XML DataWindow 可直接从一个XML文档中输入数据,或将从任何数据来源中恢复的数据存储为完全的用户化XML文档,也可以存储为PDF或XSL的格式化对象。 4. 增强了PowerBuilder接口 通过捆绑了一个C++标准的补充部分,极大地扩展了PowerBuilder应用开发的功能,在系统中调用其方法,并且通过JNI、Java应用程序,也可与PBVM
28、相互交流。 5. 可呼叫放在第三方应用伺服务器上的EJB组件 除了对现有Sybase EAServer的支持,PowerBuilder还可以实现对BEA Weblogic Server TM、IBM WebSphere和其它的J2EE应用开发服务器的支持。 1.3.2Adaptive Server Anywhere8.0数据库简介 Adaptive Server Anywhere 是在工作组服务器、桌上型和膝上型计算机、Windows CE 设备及嵌入式系统上的应用程序中使用的关系数据库系统。它可支持大到数十亿字节的数据库,也可管理小到只占 4 Mb 内存的单用户数据库。 Adapt
29、ive Server Anywhere 8.0数据库与以前的版本相比,具有以下的改进: (1) 更好地支持大型数据库 Adaptive Server Anywhere 在用作工作组服务器时,现在可以处理比以往更大的数据库、更复杂的查询以及更苛刻的任务需求。这些改进提升了 Adaptive Server Anywhere 在 MobiLink 和 SQL Remote 安装中作为一般工作组服务器和统一数据库的适用性。 在查询优化、查询执行、索引技术、物理数据存储及网络通信方面都有一些重要的改进。此版本引入了一些新的联接算法(哈希联接、排序合并联接、块嵌套循环联接、哈希分组)和更好的
30、成本评估模型。另外,还提供了一些新的索引类型,加快了表扫描速度。秉承 Adaptive Server Anywhere 一贯的传统,这些改进功能均会自动实现,无需用户任何操作。 管理大型 Adaptive Server Anywhere 数据库的工作也变得更为轻松,得到改进的备份过程、可用数据库空间的更合理利用以及联机状态下表和索引重组,这一切将实现更有效的数据存储和更快的数据访问。 (2)针对开发人员改进的接口 由于其丰富的 SQL 功能、具备多个接口及易用性,Adaptive Server Anywhere 一直是程序员愿意使用的数据库。此版本中也有一些专为应用程序开发人员设计的新增
31、功能。 ·现在,Adaptive Server Anywhere 提供的游标能提供更清晰的语义、匹配更精确的新行业类型(如键集驱动游标),并且利用了新的查询优化功能。 ·在数据库中使用 Java 的用户可利用新的 Java 2 支持,包括 JDBC2 数据访问。 ·引入了可从 Interactive SQL 访问的图形式查询编辑器,以帮助开发和分析复杂查询。 (3) 端到端的安全性 现在,Adaptive Server Anywhere 另外提供了一些工具,以确保数据安全。对数据库文件和客户/服务器通信的高度加密为数据库运行的各个方面带来了极好的安全性,使其无懈可击。
32、 对 Java 安全管理器的支持使用户可向数据库中的 Java 添加用户特定的访问控制,包括网络访问和文件 I/O 特权。既可使用内部安全管理,也可提供自己的类来实施自定义功能。 (4)针对高级用户的高级功能 Adaptive Server Anywhere 一向易于使用,但日趋复杂的用户群也要求它具备诊断和调整能力,以期达到最佳性能。此版本就提供了许多专门针对高级用户的功能。 ·提供了一些诊断工具,例如建立存储过程配置文件、图形化查询计划查看器以及报告数据库分段情况的系统过程等,这些工具使您可深入了解性能瓶颈。 ·添加了增强的时区支持,可更轻松地协调各时区的日期/时间值。 1.4
33、本章小结 本章作为绪论,首先介绍了库存管理系统的开发背景,包括库存管理系统的简单介绍、国内外库存管理系统的现状和开发库存管理系统的意义。然后,简要说明了本次毕业设计(论文)的内容、范围以及需要解决的主要问题。另外,还介绍了本库存管理系统的开发工具——PowerBuilder9.0和Adaptive Server Anywhere8.0的基本知识。 第2章 系统可行性分析 2.1系统开发目标 系统要求具有较完善的基本处理功能,业务处理简便、高效;对库存物资进行严密的控制,对相关指标进行合理的计算,能够提供较多的辅助决策信息。 本系统需要实现的主要功能:系统维护、基础数据录入、配件出
34、入库管理以及月报表查询等。 2.2系统可行性分析 1.技术上的可行性 Windows操作系统已经在我国普及,大多数系统均运行于其上,实践证明该操作系统的稳定性、安全性等性能基本上能满足用户的要求。而本库存管理系统正是运行于该种操作系统上的应用程序。系统开发使用Sybase公司成熟的产品,数据库使用的是Adaptive SQL Server DBMS,在世界上应用该DBMS已经开发出了许多成熟、强劲的数据库管理信息系统;应用程序的开发使用的是Sybase公司的PowerBuilder9.0。该工具各方面的技术已经很出成熟,可以用来开发系统。在硬件方面,本系统要求的硬件标准不高,一般
35、的硬件设备足够运行系统。 2.经济上的可行性 (1)费用。本系统要求的计算机配置不是很高,需要的设备购置费用较低。本系统运行费用较低,系统使用方便、简洁,只需对用户进行少量的培训工作就可以使用户熟练地使用本系统,因而培训费用很低。 (2)收益。应用本系统提高了工作效率从而提高了企业的管理水平;节省了人力,减轻了有关人员手工处理的工作负担;提高了企业的整体素质,等等。 3.实践上的可行性 新形势、新时代的发展要求企业的管理工作朝着规范化、标准化的方向发展。大多数企业都具备了建立管理信息系统的基础,本系统的开发适应了社会发展的趋势,符合企业管理的要求,为企业管理信息系统的组建提供了有力的
36、支持,同时也加快了企业科学管理的步伐。 2.3本章小结 本章的内容是库存管理系统的系统分析。首先说明了本系统的开发目标,接着进行了系统的可行性分析,包括技术上的可行性、经济上的可行性以及实践上的可行性。 第3章 需求分析 3.1需求分析概述 需求分析简单地说就是分析用户的需要与要求。 需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。 需求分析的重点是调查、收集与分析用户在数据管理
37、中的信息要求、处理要求、安全性要求与完整性要求[12]。 本系统采用自顶向下的结构化分析方法(Structured analysis简称SA)分析和表达用户需求,该方法示意图如图3-1所示: 图3-1 自顶向下结构化分析方法示意图 用SA的方法做需求分析,可以将任何一个系统抽象成如图3-2所示的形式: 图3-2需求分析抽象形式 将处理功能分解成若干个子功能,再将各个子功能继续分解,直到把整个系统工作流程表达清楚为止。 3.2数据流图 数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑
38、功能,所以是一种功能模型。 本系统的整体数据流图如图3-3所示: 图3-3 系统整体数据流图 由图3-3可知,系统操作员登陆进入系统后,主要可以进行三项操作,即对基础信息的维护、对配件出入库的管理和对报表信息的查询。 此外,配件信息管理的数据流图如图3-4所示: 图3-4 配件信息数据流图 3.3数据字典 数据字典是各类数据描述的集合。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要结果。 数据字典通常包括数据项、数据结构、数据流、数据存储和数据处理5个部分。其中,数据项是数据的最小组成单位。 本系统的各模块的数据字
39、典如下: 1. 操作员信息 名字:操作员信息 描述:每个系统操作员的基本信息 定义:操作员信息=序号+姓名+密码+权限级别 说明:序号Integer,姓名Varchar(10),密码Varchar(12),权限级别Integer 2. 产品型号分类(或细分类)信息 名字:产品型号分类(或细分类)信息 描述:关于产品型号分类(或细分类)的信息 定义:产品型号分类(或细分类)信息=序号+型号分类 说明:序号Integer,型号分类Varchar(15) 3. 产品型号管理信息 名字:产品型号管理信息 描述:对每个产品的型号进行管理的信息 定义:产品型号管理信息=
40、序号+型号+厂家名称+型号分类+型号细分类 说明:序号Integer,型号Varchar(30),厂家名称Varchar(40),型号分类Varchar(15),型号细分类Varchar(15) 4. 仓库信息 名字:仓库信息 描述:每个仓库的基本信息 定义:仓库信息=序号+仓库名 说明:序号Integer,仓库名Varchar(15) 5. 厂家信息 名字:厂家信息 描述:每个提供配件的厂家的基本信息 定义:厂家信息=序号+厂家名称+地址+联系人+电话+手机 说明:序号Integer,厂家名称Varchar(40),地址Varchar(60),联系人Varcha
41、r(10),电话Varchar(13),手机Varchar(13) 6. 出入库信息 名字:出入库信息 描述:每次配件出入库的记录信息 定义:出入库信息=序号+日期+时间+型号+数量+价格+厂家车牌+联系人或客户名+电话+手机+进或销+仓库名+记录员工+型号分类+型号细分类 说明:序号Integer,日期Date,时间Time,型号Varchar(35)数量Integer,价格Numeric(19,4),厂家车牌Varchar(50),联系人或客户名Varchar(15),电话Varchar(13),手机Varchar(13),进或销Varchar(10),仓库名Varchar
42、20),记录员工Varchar(15),型号分类Varchar(15),型号细分类Varchar(15) 3.4本章小结 本章主要描述了开发本库存管理系统所作的需求分析。首先,简单介绍了进行需求分析所用的方法。然后,描述了摩托配件库存管理系统的数据流图和数据字典,来具体地说明本库存管理系统的需求分析。 第4章 数据库设计 4.1概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。它是现实世界与机器世界的中介。 设计概念结构通常有
43、四类方法: 自顶向下:即首先定义全局概念结构的框架,然后逐步细化。 自底向上:即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。 逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其它概念结构,直至总体概念结构。 混合策略:即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架。 其中,最经常采用的策略是自底向上方法。但无论采用哪种设计方法,一般都以E-R模型为工具来描述概念结构。 本系统中主要模块的E-R图设计如下: 基础数据录入模块的E-R图如图4-1所示: 配件型号 厂家 型号分类 型号细分类
44、1 n n n 1 n 图4-1 配件型号管理E-R图 由图4-1所示的E-R图可知,每一个配件型号有一个型号分类和型号细分类,而同一型号分类和型号细分类可以属于不同的配件型号;同一型号的配件可以由不同的厂家提供,而同一厂家可以提供不同型号的配件。 出入库管理模块E-R图如图4-2所示: 出库或入库表 配件型号 记录员工 仓库 1 1 n n 1 n 图4-2 出入库E-R图 由图4-2所示的E-R图可知,每张出库或入库表由一个员工记录,同一员工可以记录不同的出库
45、或入库表;每张出库或入库表中只有一种型号的配件,而每种型号的配件可以出现在不同的出库或入库表中;每张出库或入库表属于一个仓库,而同一个仓库中可以有多张出库或入库表。 4.2逻辑结构设计 为了能够用某一DBMS实现用户需求,必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。 设计逻辑结构时一般要分三步进行: 1) 将概念结构转化为一般的关系、网状、层次模型; 2) 将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换; 3) 对数据模型进行优化。 本库存管理系统是应用在单机系统上的,所以只需建立起一个数据库,在此数据库基础
46、上建立起表格,现将部分数据库表描述如下: 表4-1操作员表(password) 字段名 数据类型 字段长度 是否为空 备注 Id Integer 4 否 Autoincrement Name Varchar 10 否 Password Varchar 12 否 Limit Integer 4 否 表4-2 产品型号分类表(type_fr1和type_fr2) 字段名 数据类型 字段长度 是否为空 备注 序号(Id) Integer 4 否 Autoincrement 型号分类(type_fr1) V
47、archar 15 否 表4-3 配件型号管理表(type_need) 字段名 数据类型 字段长度 是否为空 备注 序号(Id) Integer 4 否 Autoincrement 型号(type) Varchar 30 否 厂家名称(factory) Varchar 40 是 型号分类(type_fr1) Varchar 15 是 型号细分类(type_fr2) Varchar 15 是 表4-4 仓库表(store) 字段名 数据类型 字段长度 是否为空 备注 序号(Id) Integer
48、 4 否 Autoincrement 仓库名(name) Varchar 15 否 表4-5 厂家表(supply_factory) 字段名 数据类型 字段长度 是否为空 备注 序号(Id) Integer 4 否 autoincrement 厂家名称(name) Varchar 40 否 地址(address) Varchar 60 是 联系人(person_to_contact) Varchar 10 是 电话(telephone) Varchar 13 是 手机(mobile) Varchar
49、 13 是 表4-6 出入库表(buyandsale) 字段名 数据类型 字段长度 是否为空 备注 序号(Id) Integer 4 否 autoincrement 日期(thedate) Date 4 否 时间(thetime) Time 4 否 型号(thetype) Varchar 35 否 数量(thenumber) Integer 4 是 价格(theprice) Numeric 19,4 是 厂家车牌(the_fa_car) Varchar 5
50、0 否 联系人或客户名(thename) Varchar 15 是 电话(thetelephone) Varchar 13 是 手机(themobile) Varchar) 13 是 进或销(buyorsale) Varchar 10 否 仓库名(thespot) Varchar 20 是 记录员工(theoperator) Varchar 15 是 型号分类(thetype_fr1) Varchar 15 是 型号细分类(thetype_fr2) Varchar 15 是 4.3数据库






