• 回答数

    5

  • 浏览数

    290

天津的明
首页 > 学术期刊 > sql数据库论文10000字

5个回答 默认排序
  • 默认排序
  • 按时间排序

就愛翻毛腔

已采纳

人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。 一、三个世界 1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。 2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语: 实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。 实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。 属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。 关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。 联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。 3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据结构、数据操作和完整性约束是构成数据模型的三要素。数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。 关系数据库采用关系模型作为数据的组织方式。 关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle,Sybase,Informix,Visual FoxPro等。 网络数据库也叫Web数据库。促进Internet发展的因素之一就是Web技术。由静态网页技术的HTML到动态网页技术的CGI、ASP、PHP、JSP等,Web技术经历了一个重要的变革过程。Web已经不再局限于仅仅由静态网页提供信息服务,而改变为动态的网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能。Web数据库就是将数据库技术与Web技术融合在一起,使数据库系统成为Web的重要有机组成部分,从而实现数据库与网络技术的无缝结合。这一结合不仅把Web与数据库的所有优势集合在了一起,而且充分利用了大量已有数据库的信息资源。图1-1是Web数据库的基本结构图,它由数据库服务器(Database Server)、中间件(Middle Ware)、Web服务器(Web Server)、浏览器(Browser)4部分组成。 Web数据库的基本结构 它的工作过程可简单地描述成:用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。 1.1.1 Internet技术与相关协议 Internet技术在Web数据库技术中扮演着重要的角色。Internet(因特网)专指全球最大的、开放的、由众多网络相互连接而成的计算机网络,并通过各种协议在计算机网络中传递信息。TCP/IP协议是Internet上使用的两个最基本的协议。因此也可以说Internet是全球范围的基于分组交换原理和TCP/IP协议的计算机网络。它将信息进行分组后,以数据包为单位进行传输。Internet在进行信息传输时,主要完成两项任务。 (1)正确地将源信息文件分割成一个个数据包,并能在目的地将源信息文件的数据包再准确地重组起来。 (2)将数据包准确地送往目的地。 TCP/IP协议的作用就是为了完成上述两项任务,规范了网络上所有计算机之间数据传递的方式与数据格式,提供了数据打包和寻址的标准方法。 1.TCP/IP协议 TCP协议(Transmission Control Protocol,传输控制协议)规定了分割数据和重组数据所要遵循的规则和要进行的操作。TCP协议能保证数据发送的正确性,如果发现数据有损失,TCP将重新发送数据。 2.IP协议 在Internet上传送数据往往都是远距离的,因此在传输过程中要通过路由器一站一站的转接来实现。路由器是一种特殊的计算机,它会检测数据包的目的地主机地址,然后决定将该数据包送往何处。IP协议(Internet Protocol,网际协议)给Internet中的每一台计算机规定了一个地址,称为IP地址。IP地址的标准是由4部分组成(例如202.112.203.11),其中前两部分规定了当前使用网络的管理机构,第3部分规定了当前使用的网络地址,第4部分规定了当前使用的计算机地址。 Internet上提供的主要服务有E-mail、FTP、BBS、Telnet、WWW等。其中WWW(World Wide Web,万维网)由于其丰富的信息资源而成为Internet最为重要的服务。

199 评论

婉儿xiaotu

人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。 一、三个世界 1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。 2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语: 实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。 实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。 属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。 关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。 联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。 3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据结构、数据操作和完整性约束是构成数据模型的三要素。数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。 1.2.1 层次模型 若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称为层次模型: ① 有且仅有一个结点无父结点,这个结点称为根结点; ② 其他结点有且仅有一个父结点。 根据层次模型的定义可以看到,这是一个典型的树型结构。结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。 1.2.2 网状模型 在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。 ① 允许一个以上的结点无父结点; ② 一个结点可以有多于一个的父结点。 从以上定义看出,网状模型构成了比层次结构复杂的网状结构。 1.2.3 关系模型 在关系模型中,数据的逻辑结构是一张二维表。 在数据库中,满足下列条件的二维表称为关系模型: ① 每一列中的分量是类型相同的数据; ② 列的顺序可以是任意的; ③ 行的顺序可以是任意的; ④ 表中的分量是不可再分割的最小数据项,即表中不允许有子表; ⑤ 表中的任意两行不能完全相同。 个人版权,请勿复制

202 评论

MrStoneLiu

论文你可以去知网看看相关资料

319 评论

JACK赵俊

ORACLE中SQL查询优化研究摘 要 数据库性能问题一直是决策者及技术人员共同关注的焦点,影响数据库性能的一个重要因素就是SQL查询语句的低效率。论文首先分析了导致SQL查询语句性能低下的四个常见原因以及SQL调优的一般步骤,然后分别针对如何降低I/O操作、在查询语句中如何避免对查询结果的高成本操作以及在多表连接时如何提高查询效率进行了分析。关键词 ORACLE;SQL;优化;连接1 引言随着网络应用不断发展,系统性能已越来越引起决策者的重视。影响系统性能的因素很多,低效的SQL语句就是其中一个不可忽视的重要原因。论文首先分析导致SQL性能低下的常见原因,然后分析SQL调优应遵循的一般步骤,最后从如何降低I/O、避免对查询结果的高成本操作和多表连接中如何提高SQL性能进行了研究。鉴于目前ORACLE在数据库市场上的主导地位,论文将只针对ORACLE进行讨论。2 影响SQL性能的原因影响SQL性能的因素很多,如初始化参数设置不合理、导入了不准确的系统及模式统计数据从而影响优化程序(CBO)的正确判断等,这些往往和DBA密切相关。纯粹从SQL语句出发,笔者认为影响SQL性能不外乎以下四个重要原因:(1)在大记录集上进行高成本操作,如使用了引起排序的谓词等。(2)过多的I/O操作(含物理I/O与逻辑I/O),最典型的就是未建立恰当的索引,导致对查询表进行全表扫描。(3)处理了太多的无用记录,如在多表连接时过滤条件位置不当导致中间结果集包含了太多的无用记录。(4)未充分利用数据库提供的功能,如查询的并行化处理等。第(4)个原因处理起来相对简单。论文将针对前三个原因论述如何提高SQL查询语句的性能。3 SQL优化的一般步骤SQL优化一般需经过发现问题、分析问题、提出解决措施、应用措施、测试性能几个步骤,如图1所示。“发现问题就是解决问题的一半”,因此在SQL调优过程中,定位问题SQL是非常重要的一步,一般可借助于ORACLE自带的性能优化工具如STATSPACK、TKPROF、AUTOTRACE等辅助用户进行,同时还应该重视动态性能视图如V$SQL、V$MYSTAT、V$SYSSTAT等的研究。图1 SQL优化的一般步骤4 SQL语句的优化4.1 优化排序操作排序的成本十分高昂,当在查询语句中使用了引起结果集排序的谓词时,SQL性能必然受到影响。4.1.1 排序过程分析当待排序数据集不是太大时,服务器在内存(排序区)完成排序操作,如果排序需要更多的内存空间,服务器将进行如下处理:(1) 将数据分成多个小的集合,对每一集合进行排序。(2) 服务器向磁盘申请临时空间,将排好序的中间结果写入临时段,再对另外的集合进行排序。(3) 在所有的集合均排好序后,服务器再将它们进行合并得到最终的结果,如果排序区尺寸太小,合并无法一次完成时,将分多次进行。从上述分析可知,排序是一种十分昂贵的操作,它消耗大量的CPU时间和内存,触发磁盘分页和交换操作,因此只要有可能,我们就应该在SQL语句中尽量避免排序操作。4.1.2 SQL中引起排序的操作SQL查询语句中引起排序的操作大致有:ORDER BY 和GROUP BY 从句;DISTINCT修饰符;UNION、INTERSECT、MINUS集合操作符;多表连接时的排序合并连接(SORT MERGE JOIN)等。4.1.3 如何避免排序1)建立恰当的索引对经常进行排序和连接操作的字段建立索引。在建立索引后,当服务器向这些字段发出排序请求时,将直接引用索引而不进行排序操作;当进行等值连接查询操作时,若建立连接的字段未建立索引,服务器进行的是排序合并连接(SORT MERGE JOIN),连接操作的过程如下:对进行连接的两个或多个表分别进行全扫描;对每一个表中的行集分别进行全排序;合并排序结果。如果建立连接的字段已建立索引,服务器进行嵌套循环连接(NESTED LOOP JOINS),该连接方式不需要任何排序,其过程如下:对驱动表进行全表扫描;对返回的每一行利用连接字段值实施索引惟一扫描;利用从索引扫描中返回的ROWID值在从表中定位记录;合并主、从表中的匹配记录。因此,建立索引可避免多数排序操作。2)用UNIION ALL替换UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。大部分应用中是不会产生重复记录的,最常见的是过程表与历史表UNION 。因此,采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。4.2 优化I/O过多的I/O操作会占用CPU时间、消耗大量内存和占用过多的栓锁,因此有必要对SQL的I/O进行优化。优化I/O的最有效方式就是用索引扫描代替全表扫描。4.2.1 应用基于函数的索引基于函数的索引(FUNCTION BASED INDEX,简记为FBI)提供了索引计算列并在查询中使用这些索引的能力。FBI的实质是对查询所需中间结果进行预处理。如果一个FBI与查询语句中的内嵌函数完全匹配,CBO在生成查询计划时,将自动启用索引范围扫描(INDEX RANGE SCAN)替换全表扫描(FULL TABLE SCAN)。考察下面的代码段并用AUTOTRACE观察创建FBI前后执行计划的变化。select * from emp where upper(ename)=’SCOTT’创建FBI前,很明显是全表扫描。Execution Plan……1 0 TABLE ACCESS (FULL) OF 'EMPLOYEES' (Cost=2 Card=1 Bytes=22)idle>CREATE INDEX EMP_UPPER_FIRST_NAME ON EMPLOYEES(UPPER(FIRST_NAME));索引已创建。再次运行相同查询,Execution Plan……1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMPLOYEES' (Cost=1 Card=1 Bytes=22)2 1 INDEX (RANGE SCAN) OF 'EMP_UPPER_FIRST_NAME' (NON-UNIQUE) (Cost=1 Card=1)这一简单的例子充分说明了FBI在SQL查询优化中的作用。FBI所用的函数可以是用户自己创建的函数,该函数越复杂,基于该函数创建FBI对SQL查询性能的优化作用越明显。4.2.2 应用物化视图和查询重写物化视图是一个预计算结果集,其中通常包含聚集与多表连接等复杂操作。数据库自动维护物化视图,且随用户的要求进行刷新。查询重写机制就是用数据库中的替代对象(如物化视图)将用户提交的查询重写为完全不同但功能等价的查询。查询重写对用户透明,用户完全按常规编写访问数据库的查询语句,优化程序(CBO)自动决定是否对用户提交的查询进行重写。查询重写是提高查询性能的一种非常有效的方法,尤其是在数据仓库环境中针对汇总、多表连接以及其它高成本的操作方面。下面以一个非常简单的例子来演示物化视图和查询重写在优化SQL查询性能方面的作用。select dept.deptno,dept.dname,count(*)from emp,deptwhere emp.deptno=dept.deptnogroup by dept.deptno,dept.dname查询计划及主要统计数据如下:执行计划:-----------------------------------------……2 1 HASH JOIN (Cost=5 Card=14 Bytes=224)3 2 TABLE ACCESS (FULL) OF 'DEPT' (Cost=2 Card=4 Bytes=52)4 2 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=14 Bytes=42)主要统计数据:-----------------------------------------305 recursive calls46 consistent gets创建物化视图EMP_DEPT:create materialized view emp_dept build immediaterefresh on demandenable query rewriteasselect dept.deptno,dept.dname,count(*)from emp,deptwhere emp.deptno=dept.deptnogroup by dept.deptno,dept.dname/再次执行查询,执行计划及主要统计数据如下:执行计划:-------------------------------------……1 0 TABLE ACCESS (FULL) OF 'EMP_DEPT' (Cost=2 Card=327 Bytes=11445)主要统计数据:------------------------------------79 recursive calls28 consistent gets可见,在建立物化视图之前,首先执行两个表的全表扫描,然后进行HASH连接,再进行分组排序和选择操作;而建立物化视图后,CBO自动将上述复杂操作转换为对物化视图EMP_DEPT的全扫描,相关的统计数据也有了很大的改善,递归调用(RECURSIVE CALLS)由305降到79,逻辑I/O(CONSISTENT GETS)由46降为28。4.2.3 将频繁访问的小表读入CACHE逻辑I/O总是快于物理I/O。如果数据库中存在被应用程序频繁访问的小表,可将这些表强行读入KEEP池,从而避免物理I/O的发生。4.3 多表连接优化最能体现查询复杂性的就是多表连接,多表连接操作往往要耗费大量的CPU时间和内存,因此多表连接查询性能优化往往是SQL优化的重点与难点。4.3.1 消除外部连接通过消除外部连接,不仅使得到的查询更易于读取,而且性能也经常可以得到改善。一般的思路是,有以下形式的查询:SELECT …,OUTER_JOINED_TABLE.COLUMNFROM SOME_TABLE,OUTER_JOINED_TO_TABLEWHERE …=OUTER_JOINED_TO_TABLE(+)可转换为如下形式的查询:SELECT …,(SELECT COLUMN FROM OUTER_ JOINED_TO_TABLE WHERE …)FROM SOME_TABLE;4.3.2 谓词前推,优化中间结果多表连接的性能低下多数是因为连接操作与过滤操作的次序不合理,大多数用户在编写多表连接查询时,总是先进行连接操作再应用过滤条件,这导致服务器做了太多的无用功。针对这类问题,其优化思路就是尽可能将过滤谓词前推,使不符合条件的记录提前被筛选掉,只对符合条件的少数记录进行连接处理,这样可成倍的提高SQL查询效能。标准连接查询如下:Select a.prod_name,sum(b.sale_quant),sum(c.sale_quant),sum(d.sale_quant)From product a,tele_sale b,online_sale c,store_sale dWhere a.prod_id=b.prod_id and a.prod_id=c.prod_idand a.prod_id=d.prod_id And a.order_date>sysdate-90Group by a.prod_id;启用内嵌视图,且将条件a.order_date>sysdate-90前移,优化后代码如下:Select a.prod_name,b.tele_sale_sum,c.online_sale_sum,d.store_sale_sum From product a,(select sum(sal_quant) tele_sale_sum from product,tele_saleWhere product.order_date>sysdate-90 and product.prod_id =tele_sale.prod_id) b,(select sum(sal_quant) online_sale_sumfrom product,tele_saleWhere product.order_date>sysdate-90 and product.prod_id =online_sale.prod_id) c,(select sum(sal_quant) store_sale_sumfrom product,store_saleWhere product.order_date>sysdate-90 and product.prod_id =store_sale.prod_id) d,Where a.prod_id=b.prod_id anda.prod_id=c.prod_id and a.prod_id=d.prod_id;5 结束语SQL语言在数据库应用中占有非常重要的地位,其性能的优劣直接影响着整个信息系统的可用性。论文从影响SQL性能的最主要的三个方面入手,分析了如何优化SQL查询的I/O、避免高成本的排序操作和优化多表连接。需要强调的一点是,理解SQL语句所解决的问题比SQL调优本身更重要,因此SQL调优需要系统分析人员、开发人员和数据库管理员密切协作。参考文献[1]Thomas Kyte.Effective Oracle by Design:Design and Build High-performance Oracle Application[M],The McGral- Hill Companies,Inc,2003[2]Kevin Loney,George Koch,Oracle 9i:The Complete Reference[M],The McGral-Hill Companies,Inc,2002[3] Oracle9i SQL Reference release 2(9.2)[OL/M],2002.10. http://www.oracle.com/technology/[4] Oracle9i Data Warehousing Guide release 2(9.2) [OL/M],2002.03. http://www.oracle.com/technology/[5]Alexey Danchenkov,Donald Burleson,Oracle Tuning:The Definitive Reference[OL/M],Rampant Techpress,2006.[6] Oracle9i Database Concepts release 2(9.2) [OL/M],2002.08. http://www.oracle.com/technology/[7] Oracle9i supplied plsql packages and types reference release 2(9.2) [OL/M],2002.12. http:// technology/

203 评论

Blackstar01234

库存管理数据库系统原理与应用【摘 要】库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析如此情况,我们使用微软公司的VisualBasic开发工具,利用其提供的各种面向对象的开发工具,尤其是ADO,是能方便而简洁操纵数据库的智能化对象,短期内就可以开发出用户满意的可行系统。 关键字: 库存管理 ADO 面相对象 库存ABC分析 第一章 概述 1.1 库存管理的必要性 大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。 1.2 库存分类 企业怎样管理库存,是库存管理的最大难点和挑战。因此,通过MRPII物料主计划模块和采购模块建立计划与控制系统以有效地实施库存管理和采购补偿成为题中应有之义。通过调查,我们得知任何库存均可分为如下三类: A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。 B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。 C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。 显然,A类物品是关键;如果我们把精力集中于A类物品,使其库存压缩10-50%,就是总库存的相当可观的一笔压缩。 关于ABC分类方法有几条基本法则: a. 控制的程度: 对A类物品严加控制,包括做完备、准确的记录,高层监督和经常评审,从供应商按大合同订单频繁交货,对车间紧密跟踪以压缩提前期。 对B类物品做正常控制,包括良好的记录与常规的关注。 对C类物品尽可能使用简便的控制,诸如定期目视检查库存实物、简要记录或以简便标志法表明补充存货已经订货,采用大库存量与订货量以避免缺货,安排车间日程计划时给以低优先级。 b.优先级 在一切活动中给A类物品以高优先级以压缩其提前期与库存。 对B类物品予以正常处理,仅在关键时给以高优先级。 予C类物品以最低优先级。 c.订货过程 对A类物品提供及时、准确的采购信息和状态查询。计算机数据需要人工加以核对,进行阶段性盘点,以及频繁的评审以压缩库存。 对B类物品,按一定周期或当发生重大变化时评审一次库存数据和订货点,MRPII操作按例行公事处理。 对C类物品可以盘点处理或订货点计算。订货往往不用MRPII作计划。可以凭业务人员的经验加以控制。 由上可以看出库存管理的重要性。因此,库存管理是企业管理的重要组成部分。市场需要库存商品提供给用户,企业的经营需要库存保证各种药品的供应以进行药品的销售,库存对生产效率的提高有着极其重要的影响。因此,库存管理系统是计算机管理系统的中心。因为,所有企业的经营活动都离不开物流的活动。 1.3 库存管理的目标 库存管理的主要目标就是通过对仓库所有入出库活动的管理和控制及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。 第二章 开发背景 企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。 一个完整的企业物资供应管理系统应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。 第三章 系统分析 本系统采用了结构化生命周期法,结构化生命周期法是最常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分析阶段是最基础、也是最容易被开发人员忽视的环节。 3.1进行资料收集 在整个系统分析阶段,我在图书馆认真查看了很多关于仓库库存管理方面的书籍,收集到了相应的入库单、领料单、台账、物料卡、报表等资料。 入库单是入库单位在把相应的零部件送人仓库时必须填写的单据;领料单是领料人员从仓库中领取零部件时必须填写的单据(即出库);零部件台账(相当于本系统中的操作日志)实际是一个流水账,用于记录每天发生的入库、出库信息;物料卡(在本系统中用现有库存信息来表示)的作用是记录某一种零部件的数量变化,以便库管员盘查;报表是仓库向有关领导和部门定期提交的零部件库存汇总信息。收集到的入库单、领料单、零部件库存台账、零部件物料卡等单据和报表的实物样式在此略去,有兴趣者请参考有关类似企业的样本即可。 3.2绘制业务流程图 3.3用户需求分析 用户需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和系统的功能模块。用户需求调研结束之后,应该立即进行用户需求分析。 3.3.1应用程序结构确定 从用户应用角度来看,可把应用程序系统的组成部分分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单用户应用程序结构、多层服务器应用程序结构、浏览器/服务器应用程序结构、客户机/服务器应用程序结构等5种类型。 本库存管理系统就采用了当前最流行的客户机/服务器应用程序结构(即C/S结构),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又被称为“灵敏的客户机”结构。许多操作可以在本地的客户机上执行,只是当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服务器的负荷。由于条件所限,将此系统所有程序都置于一台计算机上,以便调试运行。3.3.2确定系统开发环境 由于大多数公司内部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境: ★网络操作系统:Windows2000;★数据库服务器:MicrosoftAccessr2000; ★服务器平台:Windows2000;★客户机平台:Windows95/98/NT/2000; ★前端开发工具:visualBasic6.0(企业版);★数据访问对象:ADO(本系统使用ADO控件,简化编程)。 3.3.3确定系统的功能模块 通过分析确定库存系统将包含6个主要功能模块,即系统模块、入库业务管理模块、出库业务管理模块、退料业务管理模块(还库业务管理模块)、盘点业务管理模块(报表输出)、需求管理模块。对于每一个功能模块,都包含了数据录入、编辑、查询、统计、打印、应急、帮助等功能。 第四章 系统设计 4. 1总体设计 4.1.1系统目标设计 系统开发的总体任务是实现企业物资设备管理的系统化、规范化和自动化,从而达到企业仓库库存管理效率的目的。 4.1.2开发设计思想 库存管理的物资主要是企业生产中所需要的各种设备、原材料及零部件。进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。企业各个部门根据所需要的物资设备总额和部门生产活动需要提出物资需求申请。计划员根据整个企业的需求开出物资设备出库单,仓库管理员根据出库单核对发放设备、原材料及零部件。有些设备使用完毕需要及时归还入库,填写还库单。根据需要按照月、季、年进行统计分析,产生相应报表。 仓库库存管理的特点是信息处理量比较大。所管理的物资设备、原材料及零部件种类繁多,而且由于入库单、出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同,因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门规格不统等问题。 在本系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则:  统一各种原始单据的格式,统一帐目和报表的格式。  删除不必要的管理冗余,实现管理规范化、科学化。  程序代码标准化,软件统一化,确保软件的可维护性和实用性。  界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。  建立操作日志,系统自动记录所进行的各种操作。 4.1.3系统功能分析 本系统需要完成的功能主要有以下几点。  库存管理的各种信息的输入,包括入库、出库、还库、需求信息的输入等。  库存管理的各种信息的查询、修改和维护。  设备采购报表的生成。  在材料库存中加入所允许的最大库存合最小库存字段,对所有库存物资实现监控和报警。  企业各个部门的物资需求管理。  操作日志的管理  库存管理系统的使用帮助。 4.2详细设计 4.2.1 系统功能模块设计 系统模块 a. 包括报表的打印及设置,操作日志的管理。 b. 管理员可以通过管理界面添加或删除用户,添加新管理员或删除原有管理员,验证用户的合法性,阻止非法用户登录。 c. 管理员或其他用户可以修改自己的密码。 (2) 入库模块 包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询及打印 (3) 出库模块 包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询及打印 (4) 还库模块 包括填写还库单,更新,删除还库记录,还库记录的查询及打印 (5) 需求模块 包括填写需求计划表,更新,删除采购计划信息,查看现有采购信息,采购信息的查询及打印,以及预测短期内的需求计划。 4.2.2数据库设计 数据库需求分析 通过对企业仓库管理内容和数据流程分析,设计的数据项合数据结构如下:  设备代码信息。包括的数据项有设备号、设备名称。  现有库存信息。包括的数据项有现有设备、现有数目、最大库存、最小库存等。  设备使用信息。包括的数据项有使用的设备、使用部门。数目。使用时间、出库时状态等。  设备采购信息。包括的数据项有采购的设备、采购员、供应商、采购数目、采购时间等。  设备归还信息。包括的数据项有归还设备、归还部门、归还数目、归还时间、经手人等。  设备需求信息。包括的数据项有需求的部门、需求设备、需求数目、需求时间等。 有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计。 数据库概念结构设计 这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有库存实体、出库实体、入库实体、采购实体、还库实体、需求实体。 数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上,形成各个表格之间的关系。 4.3 代码设计 任何库存均可分为如下三类: A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。 B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。 C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。 4.4 输入输出设计 本系统界面标准Windows形式,键盘输入(也可以用条形码读取),人机交互,容易使用。输入输出的设计考虑美观实用和通俗易懂,图文并茂。 4.5系统安全性设计 系统数据库中包含多个二维表,所以在系统与数据库的连接上,并没有把数据库和系统的连接直接写入代码,而是通过对服务器端进行系统设置,使数据库名及路径不可见,并通过ACCESS的数据库安全设置,保证了数据库的安全性。系统根据用户身份不同赋予不同权限,用户用密码登陆,同样也保证了系统数据的安全性。 第五章 系统实施 5.1、开发工具简介 本系统的前端开发工具,我选择了Visual Basic6.0,后台数据库采用Access2000。 5.1.1 VB简介 Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。 5.1.2 VB功能特点  具有面向对象的可视化设计工具 在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一 个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。  事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。  提供了易学易用的应用程序集成开发环境 在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。  结构化的程序设计语言 VB具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点:  强大的数值和字符串处理功能  丰富的图形指令,可方便地绘制各种图形  提供静态和动态数组,有利于简化内存的管理  过程可递归调用,使程序更为简练  支持随机文件和顺序文件的访问  提供了一个可供应用程序调用的包含多种类型的图标库  具有完善的运行出错处理  支持多种数据库系统的访问 利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。  支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术  完备的HELP联机帮助功能 与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需要的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。 VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执 行是由外来事件决定的。因此是“事件”驱动的。 编写VB程序较为简单,首先将各个对象放在空白窗体上,然后将程序代码分别添加给对象或图标,将它们组合起来就可以随意运行了。 在VB中,窗体实际上是一个对象,VB的窗体含有许多内嵌特性,这使得用户界面部分的建立像是从一个目录中挑选一个个合适的控件,而不是从零开始一步一步地建立控件。这种开发者能亲眼看到的程序设计过程就是“可视化程序设计”(Visual Programming) 5.1.3 VB中的基本概念 对象:面向对象编程(OOP)的提法大家一定也很耳熟,虽然Visual Basic并不是完全的面向对象编程,但也利用了对象编程技术。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。 属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。 方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。 事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。 控件:控件就是Visual Basic提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Visual Basic中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。例如,如果你不满意Windows简陋的媒体播放器,你就可以使用VB的多媒体控件在1小时以内设计一个完全自己风格的能够播放CD、VCD的多媒体播放器,而功能完全与之相当。 5.1.4 Access2000数据库简介 作为Microsoft的office套件产品之一,access已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型机及大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。 Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。Access的总体结构 Access将所有有名字的东西都成为对象(object),在Access 2000中,最重要的对象有表,查询,窗体,报表,宏和模块。 表 用户定义的存储资料的对象。每一个表都包含有关某个主体的信息。表包括存储不同种类资料的字段(列),而记录(行)则收集特定主体实例的所有信息。 查询 为来自一个或多个表的资料提供定制视图的对象。在Access中,可以利用图形化的实例查询机制(QBE)或通过SQL语句来建立查询。你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表。 窗体 窗体是主要的人机接口。大量的操作(几乎所有)都要通过窗体完成。窗体通过运行宏(macro)或Visual Basic for Applicatinns(VBA)过程,来响应大量的事件。Access 2000为我们提供了强大的(同时也是相当方便的向导)来建立标准的Windows窗体。 报表 为格式化、计算、打印选定资料而设计的对象。它是衡量一个优秀的数据库的重要标准(有时甚至是唯一的标准)。 宏 为了响应已定义的事件,需要让Access去执行一个或多个操作,而宏就是对这些操作的结构化的定义对象。它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。 模块 包括用VBA编码的定制过程的一个对象。模块提供了独立的动作流以捕获错误,而宏做不到。模块能直接响应窗体或报表事件,也可以从应用程序的任何地方被调用。 5.2 系统实现 5.2.1.系统管理模块实现 5..2.3入库模块的实现 5..2.4 出库模块实现 5.2.5设备采购模块实现,程序略 5.2.7设备代码模块实现5.2.9 操作日志模块实现第六章 系统使用说明 参考文献: 1. 数据库系统原理教程 王珊 陈红 清华大学出版社 2. 管理信息系统 王虎 张俊 武汉理工大学出版社 3. Visual Basic 数据库开发 E.Winemiller,J.Roff B.Heyman,R.Groom 著 清华大学出版社 4. PowerBuilder 8.0数据库系统开发实例导航 何旭洪 余建英 人民邮电出版社 5. VB6从入门道精通 『美』Gary cornell 著 北京希望电子出版社 6. managing Information Systems David L.Anderson著 清华大学出版社 7. Management Information Systems Raymond Mcleod,Jc George Schell 著 北京大学出版社

203 评论

相关问答

  • 数据库原理论文5000字

    前言 珍贵的大学生活已接近尾声,感觉非常有必要总结一下大学三年的得失,从中继承做得好的方面改进不足的地方,使自己回顾走过的路,也更是为了看清将来要走的路。通过三

    白色棉袜 6人参与回答 2023-12-10
  • cnki论文数据库

    中国学术期刊网络出版总库检索方法主要分为快速检索、标准检索和专业检索。 1、快速检索: 快速检索只有一个检索框,不限定字段、词位及词频,系统将在全文中进行检索匹

    陌o惜妍 2人参与回答 2023-12-08
  • 数据库论文3000

    能出点人民币么?你认为100财富值够令人码三千字么

    大庆张总 3人参与回答 2023-12-11
  • 万方数字化期刊数据库

    问题一:我国三大电子图书数据库分别是什么 1)、超星电子图书馆:收录的电子图书内容丰富,包括经典理论、哲学、社科、经济、语言文字、文学、数理化、生物、工业技术

    rachelliu1 3人参与回答 2023-12-06
  • 智慧论文范文数据库5000字

    引导语:“国学文化”是中华民族独有的民族传统文化,以下是我整理的国学智慧经典论文的相关资料,希望对你有所帮助。 中国传统文化的一个显著特点,是对人生智慧的关注和

    zhijuan0628 4人参与回答 2023-12-07