I摘要本文描述了仓储信息管理系统的设计与实现,描述并讲解了数据库技术及本系统应用到的其他技术。本系统的整体设计由JSP实现,以MySQL为后台数据服务器,增加系统的安全性和完整性,提高了系统响应的速度。整个软件系统基于浏览器/服务器(B/S)模式。本系统界面设计大方、简洁、实用,操作简单方便,是一款完全适合普通物流中心仓储信息管理的软件。能实现入库、出库、盘点和库存控制等仓储的智能化管理,可以提高库存管理的效率。同时通过入库单、出库单、盘点单等各种单据使物主能够浏览自己的货物情况,便于向物流企业反馈信息。关键词:仓储管理、库存控制、数据库设计ABSTRACTThisarticledescribsthedesignandrealizationofthestorehouseinformationmanagementsysteminthelogisticscentre.Oursystem’sprosceniumrealizesbyJSP,andusestheMySQLtothebackstagedata-server.Itincreasessystem’ssecurity,integrityandresponsespeed.Thewholesoftwaresystembasesonbrowse/server(B/S)mode.Oursysteminterfacedesignsgenerous,concise,utility,andeasilybeoperated.Itsuitstothestorehouseinformationmanagementsysteminthelogisticscentreandcancarryoutthestorehouse’swarehousing,outdelivering,checkingandstockcontrol.Alsotheownersarecleartoknowtheirgoods’informationbyscanwarehousinglists,outdeliverlistsandchecklists,canmakethelogisticscompanytoknowtheinformationofgoodseasily.KEYWORDS:storagemanagement,stockcontrol,databasedesign.II前言一.课题研究背景随着IT技术的不断发展和成熟,信息的重要性日渐显现。市场信息化的日益扩大,使自动化管理水平,以最快的速度和最准确的数据获得信息并及时作出反馈,使公司能够在同每个公司的仓储部门先前的简单手工工作日趋没落,难以跟上市场的步伐。为了提高企业的类型的企业竞争中立于不败之地,信息产业的开发和科学管理的运用刻不容缓。基于此形势,许多公司针对企业仓储部门实行基于关系数据库的信息管理制度,并以此为最高管理层提供决策服务。为此,本小组也以适应当前企业信息管理制度而尝试开发了本仓储管理系统。二.本系统的主要工作内容主要进行了以下几项工作:(1)对项目需求进行调研,确定系统需求;(2)对系统的功能模块进行进一步划分,对系统所需实现的功能进行详细分析和总体设计;(3)对数据库进行设计,使用HTML进行页面设计,使用JSP、JavaScript等技术对每个功能模块编写相应代码实现相应功能,使用JDBC技术连接后台数据库;三.本论文的主要内容本论文的主要内容为:(1)阐述了本系统所运用的相关技术,开发背景及环境,系统需求分析,系统总体结构及主要实现功能;(2)详细讲解了本人负责的系统任务:数据库设计,产品库存管理模块等。III目录第一章相关技术简介………………………………………………………..11.1SQL语言基础…………………………………………………….11.1.1SQL简介…………………………………………………....11.1.2SQL查询……………………………………………………11.1.3SQL数据更新………………………………………………21.2JSP动态网页技术………………………………………………...21.3Struts框架技术…………………………………………………...31.4JavaScript技术…………………………………………………....31.5B/S模式体系架构………………………………………………...31.6CSS………………………………………………………………..41.7JDBC访问数据库………………………………………………..4第二章系统开发及使用环境……………………………………………….52.1系统开发平台……………………………………………………52.1.1操作系统…………………………………………………...52.1.2开发工具…………………………………………………...52.2硬件环境…………………………………………………………62.3软件运行平台……………………………………………………6第三章系统总体设计……………………………………………………….73.1可行性分析……………………………………………………....73.2系统需求分析…………………………………………………....83.3系统概要设计…………………………………………………….83.3.1系统结构设计…………………………………………….8第四章系统详细设计………………………………………………………134.1详细设计说明…………………………………………………..134.2数据库详细设计………………………………………………...134.2.1数据库概念结构设计……………………………………...134.2.2数据库逻辑结构设计……………………………………...154.2.3系统有关数据表…………………………………………..184.3产品库存管理模块详细设计…………………………………...214.3.1模块功能…………………………………………………..214.3.2部分功能展示及实现代码………………………………..21结论………………………………………………………………………….26参考文献…………………………………………………………………….271第一章相关技术简介主要运用的技术:SQL数据库技术,JSP动态网页技术,Struts框架技术Javascript脚本语言,CSS,JDBC数据库连接技术等。1.1SQL语言基础1.1.1SQL简介用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言——SQL。SQL的全称是StructuredQueryLanguage,即结构化查询语言。SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。1986年ANSI采用SQL语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。例如关系数据库产品DB2、ORACLE等都实现了SQL语言。同时,其它数据库产品厂家也纷纷推出各自的支持SQL的软件或者与SQL的接口软件。这样SQL语言很快被整个计算机界认可。SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。SQL语言可以完成许多功能,例如:●查询数据●在数据库表格中插入、修改和删除记录●建立、修改和删除数据对象●控制对数据和数据对象的存取●确保数据库的一致性和完整性等1.1.2SQL查询数据查询是关系运算理论在SQL语言中的主要体现,SELECT语句是SQL查询的基本语句,当我们在对一个数据库进各种各样的操作时,使用的最多的就是数据查询,在以SQL为基础的关系数据库中,使用的最多的就是SELECT查询语句。SELECT语句的完整句法如下:SELECT目标表的列名或列表达式序列FROM基本表和(或)视图序列[WHERE行条件表达式][GROUPBY列名序列][HAVING组条件表达式][ORDERBY列名[ASC│DEAC]…]2我们在SELECT语句中还使用了大量的保留字和通配符以进行各种各样的条件查询。在系统中有大量的查询按钮,其使用了大量的查询语句,而且这些查询语句大部分使用的是模糊查询,所以大量的使用了模式匹配符LIKE(判断值是否与指定的字符通配格式相符)。在包含LIKE的查询语句中可以使用两个通配符:%(百分号):与零个或多个字符组成的字符串匹配;_(下划线):与单个字符匹配。系统中的条件判断往往包含多个条件,这时就需要使用逻辑运算符NOT、AND、OR(用于多条件的逻辑连接),谓词ALL以及保留字DISTINCT等等。作为SELECT语句还有很多的使用方法,这里就不再叙述。1.1.3SQL数据更新使用数据库的目的是为了有效地管理数据,而数据的插入、删除和修改则是必不可少的一个功能。在本系统中就大量地使用了数据插入、删除和修改这三种操作,现做一个简单地介绍。●数据插入往数据库的基本表中插入数据使用的是INSERT语句,其方式有两种:一种是元组值的插入,另一种是查询结果的插入。在本系统中使用的是前一种方式,其句法如下:INSERTINTO基本表名(列表名)VALUES(元组值)●数据删除往数据库的基本表中删除数据使用的是DELETE语句,其句法如下:DELETEFROM基本表名[WHERE条件表达式]在些作一点说明,删除语句实际上是“SELECT*FROM基本表名[WHERE条件表达式]”和DELETE操作的结合,每找到一个元组,就把它删除。此外,DELETE语句只能从一个基本表中删除元组,WHERE子句中条件可以嵌套,也可以是来自几个基本表的复合条件。●数据修改当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:UPDATE基本表名SET列名=值表达式[,列名=值表达式…][WHERE条件表达式]在Delphi中使用SQL语句是很方便的,一般来说,都是通过TQuery组件来使用SQL语言的。有一点要进行说明,虽然通过TQuery组件来使用SQL语言很方便,但考虑到自己对不同组件的理解程度、个人习惯以及其它各个方面,在本系统中我们采用的是ADO组件来对数据库进行操作。最简单的方法比如在TADOQuery组件的SQL属性中就可以键入SQL语句,至于详细的使用方法在后面进行介绍。1.2JSP动态网页技术:JSP(JavaServerPages)技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅3速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。1.3Struts框架:Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC(Model-View-Controller)模式,能够很好地帮助java开发者利用J2EE开发Web应用。和其他的java架构一样,Struts也是面向对象设计,将MVC模式分离显示逻辑和业务逻辑的能力发挥