《基于CS模式的人事工资管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于CS模式的人事工资管理系统的设计与实现.doc(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于CS模式的人事工资管理系统的设计与实现目录1 绪论11.1 课题背景11.2 应用现状21.3 论文组织22 系统开发环境与技术42.1 Delphi语言的介绍42.2 SQL Server 2000介绍92.3 C/S模式简介112.3.1 C/S定义112.3.2 C/S体系结构特点11 系统实现的关键技术122.4.1 ODBC接口技术122.4.2 ADO数据库访问技术143 需求分析163.1 系统的总体策划163.1.1 系统目标163.1.2 系统业务总体流程173.2 功能需求分析183.2.1 功能模块分析183.2.2 系统客户端功能模块图19 数据库需求分析194 概
2、要设计224.1 概念224.2 方法概要245 数据库设计265.1 数据库技术基础265.2 数据表设计275.3 数据模式分析316 详细设计336.1 启动界面模块336.2 登陆模块设计336.3 主窗体模块设计346.3.1 功能介绍346.3.2 模块程序流程图346.4 日常工作模块的设计346.4.1 出盘模块的设计356.4.2 工资查询功能设计366.5 系统维护模块设计366.5.1 用户管理模块376.5.2 工资结构维护模块376.6 报表系统模块设计377 系统的实现387.1 登陆界面的实现与运行387.2 数据库设置界面的实现38主界面实现与运行407.3.1
3、 功能介绍407.3.2 运行界面40员工资料查询功能实现与运行407.4.1 功能介绍407.4.2 功能实现41工资查询功能实现437.3.1 功能介绍437.3.2 功能实现43员工基本信息输入功能实现447.4.1 功能介绍447.4.2 功能实现447.5 出盘模块实现与运行45功能介绍45功能实现467.6 报表生成与打印477.6.1 模块实现技术477.6.2 功能实现477.7 人事饼图分析模块实现与运行487.7.1 模块实现技术487.7.2 功能实现488 毕业设计总结50参考文献51致谢521 绪论1.1 课题背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及
4、,利用计算机实现企业人事工资的管理势在必行。不同的企业具有不同的人事、工资管理制度,这就决定了不同的企业需要不同的人事工资管理系统。随着社会的发展和技术的进步,各大公司、企业为了增强自身的竞争能力,开始对自己的组织形式和管理模式进行变革,即从自上而下的层层管理逐渐转变为有特定职责的分支小组、业务流程重新组织的管理,企业信息管理也正在由集中式逐步转向分散式,而C/S结构恰好为这种管理模式的变革提供了具体实现手段和强有力的支持工具。1首先,从分布式处理的角度来看,以往那种一台主机带有多个终端的多用户系统是按主机/终端结构来设计的,是采取了一种集中方式,具有一个单一的、集中的数据库,其数据存放在主机
5、上,所有的处理任务都由主机来完成。主机需要承担计算、处理、屏幕显示以及控制全部的数据访问和更新,即它是一个用于事务处理、数据库访问和本地用户界面处理的中央处理器;而终端实际上是一个“傻瓜”终端,自身没有处理能力,只是把用户从键盘输入的信息传给主机,并把主机传来的信息显示出来,且用户界面是基于字符方式。这种模式已无法适应当代信息系统的发展,而且它的可靠性亦较差,故而必须走向分布式,把处理和数据进行分布。其次是在分散化管理的问题上,在主机/终端结构中,所有的权利都集中在主机上,同时所有的负担也压在了主机上,这样就削弱了企业经营活动的灵活性和生产制造的专业性。无法将某些生产管理经营权真正交到具体的管
6、理人员手中,使他们能够积极有效地参与管理。C/S结构有效地解决了主机/终端结构的缺陷和问题。这种体系结构是把系统分为前台和后台两部分,前台是用户的智能工作站,用来完成计算和屏幕显示;后台包括数据库服务器和文件服务器。数据库服务器用来控制所有的数据访问和更新,文件服务器作为物理的磁盘贮存器,用来存放中央数据文件。这种体系结构合理地划分了功能,均衡地分配了C/S上的负载,并减少了网络传输。因而可为企业管理提供极快的响应速度和较高的事务吞吐量,并可同时支持数百个用户。另外,相对于主机/终端系统,它不仅投资要低的多,而且能够有效地保护已有资源。这是由于主机/终端系统除需投入高额成本外,以后每增加一台终
7、端就会分走主机的一部分资源。当终端增加到一定程度后即达到饱和,必须更换主机,旧的主机则被淘汰;而在C/S结构中,每增加一台工作站,在分享系统资源的同时能够增加系统的能力。当数据库服务器需要更新时,一是较低、二是该服务器还可用作工作站,可有效地保护了硬件的资源。故它是一种成本经济、高效、易于扩充的好结构。 再次,从企业管理的角度来看,特别是制造业企业的生产管理,只有这种基于C/S的系统结构才能使分散化的管理思想真正得以实现。它的本地自治功能使每个场点/平台均有一个自治的数据库,其管理和控制具有独立性,这使得生产第一线的管理者可拥有自己的数据和工具、以及一定的权限去灵活地解决自己的问题,而各级管理
8、人员亦可依靠这种协调一致的分散控制、从协调中得到效率,从分散中得到下级的责任感、积极性、主动性和创造性,从而使决策更加切合实际。同时,它的分布式查询处理、分布式交换管理功能,又可使各级管理人员拥有用户终端瓶颈处理能力,充分体现了分散化管理思想。以前很多公司的所用人事工资管理系统都是用单击版的,面对目前的实际状况,迫切需要开发一个C/S模式管理系统来适应这一些工作。1.2 应用现状随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、
9、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,目前,公司使用的人事工资管理系统采用的是单击版的,与C/S体系形成对比,传统的系统数据库应用体系结构,例如基于主机-多终端的系统,或基于LAN上文件服务器运做的多用户系统,数据库是属于应用程序“私有的”,即使它也可以将数据文件放置在某台机器上供不同的用户共同访问(这种情形,称为“文件服务器”),但所有的操作、规则,都是在
10、一个包罗万象的应用程序内部实现的。应用程序因此具有最大的复杂性,即使是原班开发人马,要想对已有功能加以扩充也是很困难的,当数据库稍具复杂性(比如有稍多相互关联的表与规则),其他的人员开发另外的程序共同操作这个数据库的数据,几乎不具可行性,不能适应公司发展的需要。1.3 论文组织1、绪论部分绪论主要叙述课题提出背景,目前应用现状,C/S模式结构系统开发的必要性。2、系统开发环境与技术部分介绍了本系统开发语言Delphi7.0和数据库开发工具SQLServer2000的基本特点,还介绍了C/S模式的定义与体系结构特点以及系统实现的关键技术。3、 需求分析部分结合软件工程方法,对系统进行需求分析、功
11、能划分、数据流图设计。4、概要设计部分根据需求分析的结果,用户概念数据模型表示数据及其相互间的联系。并结合数据库原理和功能划分进行E-R图的绘制、数据库结构设计。5、数据库设计部分介绍了数据库基础知识,并结合E-R图和数据库需求分析的要求,介绍了数据库中所有数据表的设计,并做了范式分析。6、详细设计部分根据需求分析的结果,对系统进行详细设计,主要介绍用Delphi和SQLServer2000实现每一个模块的具体功能。7、系统实现部分根据详细设计和前面部分的分析结果,介绍了系统查询功能,系统出盘模块,工资短信模块等关键模块的实现代码以及关键技术。8、毕业设计总结部分介绍了设计体会和编程体会,并指
12、出了系统设计中的不足和改进的方向。2 系统开发环境与技术2.1 Delphi语言的介绍1、Delphi的基本特点计算机语言一代一代地从机器语言发展到高级语言,从复杂到简单(其实也不简单),体现了计算机科学技术的发展。计算机语言越高级,就越抽象越人性化,与低层硬件的关系就越少,使用起来就越方便。但无论计算机语言如何高级,都是对操作系统层的抽象,因此我们总可以找出理解高级语言背后的规律,那就是:高级语言写的代码只是为了描述人们的需求,而这些代码要通过“翻译器”翻译成机器语言形式才能被机算机识别执行。所谓的翻译有两种方式:一是编译方式,代码事先通过编译器生成机器语言代码,再由操作系统调度执行,如De
13、lphi语言、C+语言等;二是解释方式,该方式在计算内是边解释边执行,并不事先生目标程序,如Basic语言、脚本语言等。解释方式的特点运行速度慢,对计算机硬件要求比较高。计算机语言定义描述人们需求的规则,在语言的背后是编译器或解释器。编译器或解释器的主要工作就是翻译代码,成为人与计算机交流的主要通道。这样在操作系统不变的情况下,各种开发工具各显神通,但最终都要生成计算机可执行的代码。所以无论用哪种计算机语言写的程序要判断其好与坏很大程度上依赖于该语言的编译器或解释器。Delphi的编译器仍然是目前世界上最先进最优秀效率最高的编译器。从高级语言的特点来看,它们基本上都是对操作系统提供的服务接口封
14、装,在此基础上加入自己的语言特性,如OOP、指针、内存管理模式等。2、Delphi的优势现在,市场上可以选购的应用开发产品很多,流行的也有数十种。在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序
15、设计师的宝贵时间。作为数据库系统的开发,Delphi是一个非常理想选择1。数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。Delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。(1)优秀的可视化开发环境Delphi属于RAD(rapid application development,快速应用开发)工具,这类工具的最大特点就是可视化的设计窗体以及能为窗体添加各种组件。此外,Delphi的编辑器除了具有一般代码编辑器的功能外,它的Code Insight技术省却了很多人工输入麻烦,是一项重要的
16、创新。(2)高效率的编译器Delphi的编译器建立在Pascal编译器的基础上,可以说是针对Windows的最快的高级语言本地代码编译器。由于有编译器的速度作保证,程序员可以经常修改代码,提高了开发效率,Delphi的编译器不仅便宜速度快,而且生成的二进制代码短小,运行效率很高。(3)结构良好的编程语言Delphi采用了Object Pascal作为它的编程语言。Pascal本身是一种结构优良的语言,Pascal编译器的高效性也部分得益于此。Object Pascal语言在早期Pascal语言的基础上扩展了面向对象的功能,而且很好的把握了复杂性和功能性的平衡,满足了现代程序开发的需要。(4)对
17、数据库的灵活支持Delphi对数据库的支持是它的一个突出优点,对于开发数据库程序,Delphi是第一选择。它可以满足基于本地、客户/服务器和ODBC数据库平台的应用程序的各种需要,而且异常方便、高效。近来更是加强了对网络数据库的支持。(5)层次清晰和可伸缩的框架在大家有了一定的程序开发经验后就知道,对于一个开发工具来说,只有好的开发环境和编程语言是不够的,还需要有强大的类库和组件库来支持程序员的开发。Delphi在这方面做得非常好,从开始的VCL(Visual Component Library)到现在的CLX(Component Library for Cross-Platform),不仅功
18、能强大,结构可以扩展,而且层次清晰,符合编程人员的直观想法,使用起来方便。用Delphi 7.0开发数据库应用,重点是和各种数据库组件打交道,当然也要使用其它的一些组件,本节只对重要的几个组件给与介绍。(1) ADO数据访问组件ADO数据对象(Active Data Objects)实际是一种提供访问各种数据类型的链接机制2。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口中,可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,
19、因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。ADO使您的客户端应用程序能够通过OLEDB提供访问和操作在数据库服务器中的数据。ADO支持用于建立C/S和Web的应用程序的主要功能。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO同时具有远程数据服务(RDS)功能,通过RDS可以在一次往返过程中实现将数据从服务器移动到客户端应用程序和Web页、在客户端对数据进行处然后将更新结果返回服务器的操作。Delphi 7.0继续对Microsoft的ADO访问能力的支持。这种能力是通过一组新组件实现的,这些组件是ADO组件页中,在组件面版的ADO页上可以找到这些组件。利用
20、在前面章节提到的TdataSet抽象类,ADO组件可以不通过BDE而直接实现ADO连接。这意味着只需要很少的代码就可以实现该连接并且性能得到提高。利用ADO数据访问组件,可以只使用ADO结构与数据库取得联系并对其中的数据进行操作,而在这些过程中完全不需要使用BDE。大多数的ADO连接和数据集组件都是与基于BDE的连接和数据集组件相类似的。TADO Connection组件与基于BDE的应用程序中的TDataBase组件类似。TADO Table与TTable,TADO Query与TQuery,以及TADO Store Proc和TStored Proc之间都具有这种类似的对应关系。使用这些A
21、DO组件的方式与我们常使用的数据访问组件(基于BDE)都有许多相同之处。TADO Data Set没有直接的BDE对应组件,但它提供了许多与TTable和TQuery相同的功能。同样,TADO Command也没有相对应的BDE组件,它是在Delphi/ADO环境中完成特定功能的组件。Delphi7.0通过ADO数据集访问组件,可以不借助BDE数据引擎而是通过微软的OLEDB来访问更为广泛的数据库中的数据。ADO数据集访问组件与常用的数据访问组件是并列的关系。(2)数据控制类Data Control 数据控制类负责数据库数据的显示,并把用户对数据的修改传回。这里的绝大多数组件,如DBText,
22、 DBEdit, DBMemo, DB Image, DBListBox, DBComboBox, DBCheckBox, DBRadioGroup, DBLookupListBox, DBLookupCombox, DBCtrGrid的功能和对应的非数据感知组件相同,如TEdit框,TRadio Groups单选按钮组等,只不过在显示数据库数据时要用而已。在系统中主要使用数据网格控件DB Grid和数据库导航器控件DB Navigator。(3)数据访问类Data Access数据库应用系统中数据访问是一个首要问题,都必须联系一些数据库和数据表文件。Delphi7.0提供了专门用于数据访问的
23、基类控件。主要包括数据源控件Data Source、客户数据集控件Client Data Set、数据集提供器控件Data Set Provider等等。TDataBase:当一个基于BDE的数据库应用程序需要一个永久数据库连接时,需要定制向一个数据库服务器的连接时,需要事务控制和特殊的数据库别名时就得用到TDataBase对象。特别是当连接到一个远程的SQL数据库服务器时,如果要利用BDE进行数据库事务处理,那么,TDataBase对象的威力就体现出来了。在一个应用程序中为每一个数据库连接显示的声明TDataBase对象要根据需要而定,不是必需的。对一个数据库连接,如果没有显示的声明并实例化
24、TDataBase对象,系统就会产生一个带有默认属性的TDataBase对象。Tdata Source对象用于在Data Set对象(包括Tquery,TStored Proc,Ttable等)和数据感知组件之间提供一个连接的纽带,以便在窗体上显示数据库中的数据,在数据库中导航定位与编辑数据集中的数据。如果一个Data Set对象中的数据想在数据感知组件中显示和修改,它就必须和Tdata Source对象相联系。同样,一个数据感知组件如果想和数据源相联系以便显示和操纵数据,就必须以TData Source对象为中介。用Delphi 7.0作数据库应用开发概括来说如下:先利用数据存取组件和实际的
25、数据库建立连接,并用TSession对象和TDataBase对象管理这些连接。然后以TDataSource对象为中介,用数据感知组件向用户显示数据库的内容并接受用户的查询和修改等操作。(4)SQL语言在Delphi中的应用在Delphi中使用SQL语言非常方便,一般来说,都是通过Tquery组件来使用SQL语言的。可以在TQuery组件的SQL属性中设置SQL语句。设计程序时,在该组件的属性对话框中选择SQL属性,单击带省略号的按钮,就可以打开String List Editor对话框,然后我们就可以在对话框中添加SQL语句。还可以使用Delphi的SQL Builder来自动生成SQL语句,
26、这样可以避免手工编写SQL而可能造成的语法错误。静态SQL语句在程序设计时便已固定下来,它不包含任何参数和变量。动态SQL语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参数,例如下面的语句是一条动态SQL语句:Select * From Students Where StudentCode=:StudentCode;其中的变量StudentCode便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该参数赋值,该条SQL语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不同的值。为参数赋值有三种方法:1)根据参数在SQL语句中出现的顺序,设置TQuery部件的Pa
27、rams属性值为参数赋值。2)直接根据SQL语句中各参数的名字,调用ParamByName方法来为各参数赋值。3)将TQuery部件的Data Source属性设置为另一个数据源,这样将另一个数据源中与当前TQuery部件的SQL语句中的参数名相匹配的字段值赋给其对应的参数。利用这种方法也能实现所谓的连接查询,创建主要明细型数据库应用。在程序运行过程中,要想设置TQuery部件的SQL属性,必须首先调用Close方法,关闭TQuery部件,然后再调用Clear方法清除SQL属性中现存的SQL命令语句,最后再调用Add方法为SQL属性设置新的SQL命令语句。例如:Query1.Close关闭Qu
28、ery1)Query1.SQL.Clear清除SQL属性中的SQL命令语句Query1.SQL.Add(Select*From Students);Query1.SQL.Add(Where Name=Lucy);在为TQuery部件设置SQL属性时调用Close方法总是很安全的,如果TQuery部件已经被关闭了,调用Close方法时不会产生任何影响。在应用程序中为SQL属性设置新的SQL命令语句时,必须要调用Clear方法以清除SQL属性中现存的SQL命令语句,如果不调用Clear方法,便调用Add方法向SQL属性中设置SQL命令语句,那么新设置的SQL命令语句会追加在现存SQL命令语句后面,
29、在程序运行时常常会出现出乎意料的查询结果甚至程序无法运行下去。在这里要特别注意的,一般情况下TQuery部件的SQL属性只能包含一条完整的SQL语句,它不允许被设置成多条SQL语句。当然有些数据库服务器也支持在TQuery部件的SQL属性中设置多条SQL语句,只要数据库服务器允许这样,我们在编程时可以为SQL属性设置多条SQL语句。在为TQuery部件设置完SQL属性的属性值之后,也即编写好适当的SQL程序之后,可以有多种方式来执行SQL程序。在设计过程中,设置完TQuery部件的SQL属性之后将其Active属性的值置为True,这样便可以执行SQL属性中的SQL程序,如果应用中有与TQue
30、ry部件相连的数据浏览部件(如TDBGrid, TDBEdit等)那么在这些数据浏览部件中会显示SQL程序的执行结果。在应用程序运行过程中,通过程序调用TQuery部件的Open方法或Excel SQL方法可以执行其SQL属性中的SQL程序。Open方法和Excel SQL方法是不一样的。Open方法只能用来执行SQL语言的查询语句(Select命令),并返回一个查询结果集,而Excel SQL方法还可以用来执行其它常用的SQL语句(如INSERT,UPDATE,DELETE等命令),例如:Query1.Open(这样会返回一个查询结果集)如果调用Open方法,而没有查询结果时,会出错。此时应
31、该调用Excel SQL方法来代替Open方法。如:Query1.ExecSQL(没有返回结果)当然在设计应用程序时,程序设计人员是无法确定TQuery部件中的SQL语句是否会返回一个查询结果的。对于这种情况应当用TryExcept模块来设计程序。在Try部分调用Open方法,而在Except部分调用Excel SQL方法,这样才能保证程序的正确运行。Delphi中用ADO Query来使用SQL语句同样十分方便。在ADO Query组件中首先通过Connection String属性值来联接数据源,然后就通过双击SQL属性值来写入SQL语句。在Delphi中调用数据库,就可以调用ADO Qu
32、ery组件,通过修改其中的SQL属性中的SQL语句来实现对数据库的各项操作。值得注意的是,ADO Query组件只有在激活的情况下才可以被正确地使用,这样就提出了一个问题,也就是说,在每次修改ADO Query组件的SQL属性时都必须先行进行关闭,待清除掉SQL中所有的SQL语句后才可以添加新的SQL语句。而且,在每一次修改完成以后,还应该记得重新将ADO Query激活。其它的使用方法与TQuery有许多的相似之处。2.2 SQL Server 2000介绍SQL Server 20003是Microsoft公司推出的SQL Server数据库管理系统的最新版本,该版本继承了SQL Serv
33、er 7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用,这些功能进一步将SQLServer确立为OLTP、数据仓库以及电子商务应用程序的最佳数据库平台。SQL Server 2000由两个部分组成:服务器组件和客户端工具。SQL Server的服务器组件是以Windows服务(Windows Services)方式运行的。一般认为SQL Server包含四种Windows服务(这里我们关注OLTP、暂
34、时不考虑OLAP),分别是:MS SQL Server、DTC(Distributed Transaction Coordinator)、SQL Server Agent、Search Service。MS SQL Server是最常用的服务,一般的数据库功能都是由它提供的,例如文件管理、查询处理、数据存储等;DTC是分布式事务协调器,支持跨越两个或多个服务器的更新操作来保证事务的完整性;SQL Server Agent负责SQL Server自动化工作,如果需要SQL Server在指定时间执行某一个存储过程,就需要用到这个服务了;Search Service是全文查询服务,负责全文检索方面
35、的工作。SQL Server 2000的客户端工具包括企业管理器、查询分析器、事件探查器、服务管理器、客户端网络实用工具、服务器网络实用工具、导入和导出数据(DTS)等等。服务器组件与客户端工具功能上是配套的,客户端工具需要用最简单的形式表达最丰富的服务器组件的功能;服务器组件和客户端工具物理上是离散的,即它们不是同一个程序。客户端工具要与服务器组件连通,需要一些用于通讯的动态链接库,SQLServer2000的通讯库支持多种网络协议,例如TCP/IP、命名管道等。SQLServer2000有很多版本:企业版、开发版、标准版、个人版等。每一个版本包含的客户端工具基本上是一样的,而服务器组件可能
36、有些不同。所以在安装SQL Server之前必须考虑操作系统和SQL Server版本是否兼容,根据操作系统选择合适的SQL Server版本。SQL数据库体系结构:SQL数据库的体系结构基本上也是三级模式。SQL术语与传统的关系模型术语不同。在SQL中,外模式对应于视图,模式对应于基本表,元组称为“行”,属性称为“列”。内模式对应于存储文件。模式:模式(Schema)是表和约束的集合。表:表(Table)是行(Row)的集合,每行是列(Column)的序列,每列对应一个数据项。表可以是一个基本表,也可以是一个视图,基本表是实际存储在数据库中的表。视图:视图是从基本表或其他视图中导出的表,它本
37、身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图的数据,视图是一个虚表。存储过程:存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给定参数来执行它。2.3 C/S模式简介2.3.1 C/S定义C/S模式是一种两层结构的系统4:第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。C/S模式主要由客户应用程序、服务器管理程序和中间件三个部分组成。首先,交互性强是C/S固有的一个优点。在C/S中,客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。其次,C/S
38、模式提供了更安全的存取模式。由于C/S配备的是点对点的结构模式,采用适用于局域网、安全性可以得到可靠的保证。而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet的开放性协议,其安全性只能依靠数据服务器上的管理密码的数据库来保证。由于C/S在逻辑结构上比B/S少一层,对于相同的任务,C/S完成的速度总比B/S快,使得C/S更利于处理大量数据。由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。同时由于开发是针对性的,因此,操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求。但缺少通用性,业务的变更,需要重新设计和开发,增加了维护和管
39、理的难度,进一步的业务拓展困难较多。不过此部分内容对于管理制度成熟的仓库企业而言,其困难度并不大。2.3.2 C/S体系结构特点客户机/服务器(C/S)这个名词虽然近年来报刊杂志上经常出现,但对这一术语至今尚无统一的定义。首先,客户机/服务器可以被理解为是一个物理上分布的逻辑整体,它是由客户机、服务器和连接支持部分组成。其中客户机是体系结构的核心部分,是一个面向最终用户的接口设备或应用程序。它是一项服务的消耗者,可向其他设备或应用程序提出请求,然后再向用户显示所得信息;服务器是一项服务的提供者,它包含并管理数据库和通信设备,为客户请求过程提供服务;连接支持是用来连接客户机与服务器的部分,如网络
40、连接、网络协议、应用接口等。客户机/服务器具有以下特点4:(1)可实现资源共享。C/S结构中的资源是分布的,客户机与服务器具有一对多的关系和运行环境。用户不仅可存取在服务器和本地工作站上的资源,还可以享用其他工作站上的资源,实现了资源共享。(2)可实现管理科学化和专业化。系统中的资源分布在各服务器和工作站上,可以采用分层管理和专业化管理相结合的方式,用户有权去充分利用本部门、本领域的专业知识来参与管理,使得各级管理更加科学化和专业化。(3)可快速进行信息处理。由于在C/S结构中是一种基于点对点的运行环境,当一项任务提出请求处理时,可以在所有可能的服务器间均衡地分布该项任务的负载。这样,在客户端
41、发出的请求可由多个服务器来并行进行处理,为每一项请求提供了极快的响应速度和较高的事务吞吐量。(4)能更好地保护原有的资源。由于C/S是一种开放式的结构,可有效地保护原有的软、硬件资源。以前,在其他环境下积累的数据和软件均可在C/S中通过集成而保留使用,并且可以透明地访问多个异构的数据源和自由地选用不同厂家的数据应用开发工具,具有高度的灵活性;而以前的硬件亦可完全继续使用,当在系统中增加硬件资源时,不会减弱系统的能力,同时客户机和服务器均可单独地升级,故具有极好的可扩充性。 系统实现的关键技术2.4.1 ODBC接口技术数据库管理系统发展到了今天,可以说已经到了极致,诸如国际国内的主流数据库管理
42、系统ORACLE、SYBASE、INFORMIX、INGRES、DB2等等,数据库系统的技术已经非常成熟,不同的数据库管理系统都占据着各自的市场。这给人们带来更大选择自由度的同时,也带来了不少问题。对于管理信息系统和数据库应用系统的开发,人们往往根据实际需求和习惯喜好采用不同的数据库系统。应用这些系统,各单位各部门投入大量的人力、物力,相继完成了一些管理系统。为了保护过去的投资,利用已建立的信息系统,迫切需要一种能访问多种数据库的操作平台,以便建立更大、更完备、更全面的信息管理系统。为了适应这种需求,Microsoft推出了开放数据库互连技术5(Open DataBase Connectivi
43、ty,简称ODBC)。开放数据库互连技术实际上是一个数据库访问库,它包含访问不同数据库所要求的ODBC驱动程序。应用程序要操作不同类型的数据库,只要调用ODBC所支持的函数,动态链接到不同的驱动程序上即可。随着ODBC技术的推出,许多开发工具软件都把ODBC技术集成到自己的软件中,如VisualBasic、VisualC+、Power Builder等等。 ODBC基本概念:ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一
44、组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,只要有相应的ODBC驱动程序支持,均可用ODBCAPI进行访问。Microsoft Developer Studio为大多数标准的数据库格式提供了32位ODBC驱动器,包括Oracle、SQL Server、A
45、ccess、Paradox、dBase、FoxPro、Excel以及Microsoft Text等。由此可见,ODBC的最大优点是能以统一的方式处理几乎所有的数据库。一个完整的ODBC由下列几个部件组成6:(1) 应用程序(Application)。负责用户与用户接口之间的交互操作,调用ODBC函数以给出SQL请求并提取结果以及进行错误处理。(2) ODBC管理器(Administrator)。该程序位于Windows95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。(3) 驱动程序管理器(Driver Manager)。是ODB
46、C中最重要的部件,负责为应用程序加载和调用驱动程序。它的功能是通过间接调用函数和使用动态链接库(DLL)来实现的。(4) ODBC API。一组对数据库访问的标准应用程序编程接口。(5) ODBC驱动程序。是一些DLL,执行ODBC函数调用,呈送SQL请求给指定的数据源,并将结果返回给应用程序。驱动程序也负责与任何访问数据源的必要软件层进行交互作用,这种软件层包括与底层网络或文件系统接口的软件。(6) 数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。ODBC通过引入“数据源”的概念解决了网络拓扑结构和主机的大范围差异问题。各部件之间的关系如图1所示。应用程序要访问
47、一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。在ODBC中,ODBCAPI不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBCAPI的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。数据源名(DSN)应用程序ODBC管理器ODBC API(SQL)驱动程序管理器ODBC驱动程序数据源应用层ODBC层数据层图1
48、ODBC组成部件图2.4.2 ADO数据库访问技术1、ADO简介ADO全称为ActiveX Date Object,它是一项数据库访问技术7。它提供了系统开发人员实时存取数据库的能力。ADO非常简化的接口使得原本复杂冗长的程序编写工作变得简单易学,并且强有力地支持了各种应用程序的复杂性的需求。ADO使用Record Set(记录集)对象作为数据的主要界面。ADO可以使用VBScript、JavaScript等脚本语言来控制数据库的存取以及输出查询结果。2、ADO的操作流程,典型的ADO操作流程如下:(1)连接到数据源。(2)指定访问数据源的命令,可以同时指定变量参数,通常涉及Command对象。(3)执行命令,例如一个Select脚本。(4)如果命令使数据按表中的行的形式返回,则将这些行