C++住房公积金管理系统毕业设计论文及源代码.doc_第1页
C++住房公积金管理系统毕业设计论文及源代码.doc_第2页
C++住房公积金管理系统毕业设计论文及源代码.doc_第3页
C++住房公积金管理系统毕业设计论文及源代码.doc_第4页
C++住房公积金管理系统毕业设计论文及源代码.doc_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

住房公积金管理系统的设计和开发目录第一章 住房公积金管理概述31.1 系统的主要功能31.2 方法概要31.3 住房公积金管理系统的现状2第二章 系统平台的选用32.1 数据库系统的选择原则32.2 mssqlserver简述4第三章 mis系统基本理论63.1 mis系统的概念63.2 mis系统的开发梗概7321 mis系统的总体设计7322 应用系统开发设计7第四章 住房公积金管理系统分析94.1 系统目标94.2 系统可行性分析研究9()技术可行性9()操作可行性9()经济可行性94.3 需求分析和数据流图91.研究目标92.分层数据流图93.验收准则12第五章 总体设计135.1 初步研究方案135.2 系统结构图135.3 概要设计14(1)系统模块图14(2)模块功能14第六章 详细设计与实现156.1 数据库设计与e-r图156.2 数据库表的详细设计17数据库表17触发器的简介及创建2163系统模块设计22631登陆模块22632数据库模块23633显示模块23634数据处理模块2464编码与程序设计251界面设计252程序编码33第七章 系统测试357.1系统调试环境357.2系统测试357.3 系统运行与维护35第八章 系统评价36总结37英文摘要38致谢39参考文献40附录a 源程序41附录b 英文资料67 第一章 住房公积金管理概述1.1 系统的主要功能 住房公积金管理系统的主要任务是用计算机对各单位,各人信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种住房公积金信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了住房公积金管理系统。该系统主要有以下几大功能:111对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。112对职工的公积金汇缴情况进行计算、修改。可以对职工的公积金档案进行个别、部分和批量修改,同时,能对各职工的公积金总额进行计算,即根据上年度某职工月均工资总及个人缴存率、单位缴存额算出工职工当年度月交存额等。113查询统计功能。要求即可以单项查询,比如查看某个职工的情况等;也可以多项查询,比如某部门职工公积金数在某一范围的职工的公积金情况等。114 方便用户使用。使用户可以进行多时,多域访问,便于安装,便于操作。1.2 方法概要本公积金管理系统是采用面向对象的程序设计思想进行编制的,整个系统由若干个表单、类、报表以及一个主菜单组成,通过项目管理器统一管理全部程序的编写和调试。用户可以通过主菜单或总表单调用系统的各项功能。121面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。122所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。123类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。124面向对象设计的核心是类的设计。例如:可以定义一个“公积金查询表单”类,该类中可以定义查询的姓名、年龄、职工编号等等信息,则以此类为原型可以设计出众多的“公积金查询表单”类的对象实例,这些实体都具有类中所定义的特征。125设计的公积金管理系统也是建立在一系列类基础之上的,其编程的思想是:先根据一定的需要创建一系列的子类或直接调用sql server提供的基类,编制程序时,由这些类派生出相应的对象,所派生出的对象继承了其父类所有的功能,而且具有很好的封装性,这样就可利用派生出的对象像搭积木一样来设计自己的程序。打个比方,就比如要制造一台机器,首先要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就只是如何把这些零件组装起来,这样一台机器就很容易制造出来了。实际编程也是如此。每个表单都是由一定数量的对象按某一种方式组合在一起的,程序编制的核心是类的设计。1.3 住房公积金管理系统的现状随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。虽然职工住房公积金体制只是企业管理体系的一小部分,但是如果可以运用现代化管理技术,也可以为企业创造更多更高的经济效益的。由于企业职工人数较多,人员流动也不稳定,每一位职工的具体实际情况也不尽相同,如果没有一个完整的计算机管理系统,将会给企业,银行等机构带来许多不便 ,本公积金管理系统就是针对此现状而研发的,它不仅便于企业在银行进行公积金的注册,还便于企业使用,职工查询这样就为企业节省了大量的人力和物力。第二章 系统平台的选用2.1 数据库系统的选择原则 一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一合理的数据库模型,不仅会增加客户端和服务器端程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以数据库的选择原则尤为重要,一般来说应从以下几个方面来考虑: 211命名的规范不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库。 2。1。2游标(cursor)的慎用 游标提供了对特定集合中逐行扫描的手段,一般使用游标逐行遍历数据,根据取出的数据不同条件进行不同的操作。尤其对多表和大表定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至是死机。在有些场合,有时也非得使用游标,此时也可考虑将符合条件的数据行转入临时表中,再对临时表定义游标进行操作,及时性能得到明显提高。 213索引(index)的使用原则 创建索引一般有以下两个目的:维护被索引列的唯一性和提供快速访问表中数据的策略。大型数据库有两种索引即簇索引和非簇索引,一个没有簇索引的表是按堆结构存储数据,所有的数据均添加在表的尾部,而建立了簇索引的表,其数据在物理上,会按照簇索引键的顺序存储,一个表只允许有一个簇索引,因此,根据b树结构,可以理解添加任何一种索引均能提高按索引列查询的速度,但会降低插入、更新、删除操作的性能,尤其是当填充因子(fill factor)较大时。所以对索引较多的表进行频繁的插入、更新、删除操作,建表和索引时因设置较小的填充因子,以便在各数据页中留下较多的自由空间,减少页分割及重新组织的工作。 214数据的一致性和完整性 为了保证数据库的一致性和完整性,设计人员往往会设计过多的表间关联(relation),尽可能的降低数据的冗余。表间关联是一种强制性措施,建立后,对父表(parent table)和子表(child table)的插入、更新、删除操作均要占用系统的开销,另外,最好不要用identify 属性字段作为主键与子表关联。如果数据冗余低,数据的完整性容易得到保证,但增加了表间连接查询的操作,为了提高系统的响应时间,合理的数据冗余也是必要的。使用规则(rule)和约束(check)来防止系统操作人员误输入造成数据的错误是设计人员的另一种常用手段,但是,不必要的规则和约束也会占用系统的不必要开销,需要注意的是,约束对数据的有效性验证要比规则快。所有这些,设计人员在设计阶段应根据系统操作的类型、频度加以均衡考虑。 215事务的陷阱 事务是在一次性完成的一组操作。虽然这些操作是单个的操作,sql server能够保证这组操作要么全部都完成,要么一点都不做。正是大型数据库的这一特性,使得数据的完整性得到了极大的保证。众所周知,sql server为每个独立的sql语句都提供了隐含的事务控制,使得每个dml的数据操作得以完整提交或回滚,但是sql server还提供了显式事务控制语句 - begin transaction 开始一个事务 - commit transaction 提交一个事务 - rollback transaction 回滚一个事务 - 事务可以嵌套,可以通过全局变量transcount检索到连接的事务处理嵌套层次。 需要加以特别注意并且极容易使编程人员犯错误的是,每个显示或隐含的事物开始都使得该变量加1,每个事务的提交使该变量减1,每个事务的回滚都会使得该变量置0,而只有当该变量为0时的事务提交(最后一个提交语句时),这时才把物理数据写入磁盘。 216数据库性能调整 在计算机硬件配置和网络设计确定的情况下,影响到应用系统性能的因素不外乎为数据库性能和客户端程序设计。而大多数数据库设计员采用两步法进行数据库设计:首先进行逻辑设计,而后进行物理设计。数据库逻辑设计去除了所有冗余数据,提高了数据吞吐速度,保证了数据的完整性,清楚地表达数据元素之间的关系。而对于多表之间的关联查询(尤其是大数据表)时,其性能将会降低,同时也提高了客户端程序的编程难度,因此,物理设计需折衷考虑,根据业务规则,确定对关联表的数据量大小、数据项的访问频度,对此类数据表频繁的关联查询应适当提高数据冗余设计。 2。1。7数据类型的选择 数据类型的合理选择对于数据库的性能和操作具有很大的影响,有关这方面的书籍也有不少的阐述,这里主要介绍几点: identify字段不要作为表的主键与其它表关联,这将会影响到该表的数据迁移。 text 和image字段属指针型数据,主要用来存放二进制大型对象(blob)。这类数据的操作相比其它数据类型较慢,因此要避开使用。 日期型字段的优点是有众多的日期函数支持,因此,在日期的大小比较、加减操作上非常简单。但是,在按照日期作为条件的查询操作也要用函数,相比其它数据类型速度上就慢许多,因为用函数作为查询的条件时,服务器无法用先进的性能策略来优化查询而只能进行表扫描遍历每行。 2.2 mssqlserver简述 sql server是一个后台数据库管理系统,它功能强大操作简便,日益为广大根据库用户所喜爱。越来越多的开发工具提供了与sqlserver的接口。sqlserver是一个关系数据库管理系统,它最初是由microsoft、sybase和ashton-tate三家公司共同开发的。于1988年推出了第一个os/2版本,在windowsnt推出后,microsoft与sybase在sqlserver的开发上就分道扬镳了,microsoft将sqlserver移植到windowsnt系统上,专注于开发推广sqlserver的windowsnt版本。 sqlserver2000是microsoft公司推出的sqlserver数据库管理系统的最新版本,该版本继承了sqlserver7.0版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行microsoftwindows98的膝上型电脑到运行microsoftwindows2000的大型多处理器的服务器等多种平台使用。mssqlserver不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,sqlserver数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在sqlserver的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,sqlserver的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当oo(面向对象)的一个系统结构。 sqlserver企业管理器是sqlserver的主要管理工具,它提供了一个遵从mmc标准的用户界面,使用户得以:定义sqlserver实例组。将个别服务器注册到组中。为每个已注册的服务器配置所有sqlserver选项。在每个已注册的服务器中创建并管理所有sqlserver数据库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有sqlserver管理任务。通过唤醒调用sql查询分析器,交互地设计并测试sql语句、批处理和脚本。唤醒调用为sqlserver定义的各种向导等。 由于其功能强大,保密性和安全性相对来说又比较高,所以本公积金管理系统采用sql server作数据模块。第三章 mis系统基本理论3.1 mis系统的概念现代管理信息系统(management information systems, mis)是一个覆盖全企业或主要业务部门的辅助管理的人机(计算机)系统,有别于其他的计算机系统,它和企业的管理密切相关,和企业的管理模式、市场意识有关,要为企业的最终目标服务。因而企业的管理工作规范化、标准化是建设mis的基础。而建设mis一定要以改进管理为目的,提高企业的经济效益、改善和提高企业的管理水平、进而推动企业管理现代化,增强企业的适应能力。只要有了这样明确的目标,企业才会以自身经济发展为基础,深化需求分析,认真作好业务重组,以增强企业的市场竞争能力和生存能力,才不会把mis建设成为手工管理的仿真系统或演示系统。mis是一个数据系统,所谓数据系统就是系统以数据为主,其主要特征是数据量大、数据类型多、数据之间关系复杂和数据分布存储,而对数据的加工比较简单。按照信息工程的原理,数据位于现代数据处理的中心,只要企业的性质不变,数据是稳定的,而处理是多变的,具有一个稳定的数据基础是建设mis最本质的问题。客观上讲,无论企业采取什么样的方式从事企业管理,都存在一个稳定的数据基础,但这样一个基础并不是现成的,它深藏在企业的各个业务部门,深藏在企业的各种业务活动之中,并和各种各样的业务活动交织在一起。因此必须采取一整套科学的方法去挖掘、组织稳定的数据基础。要有强有力的组织领导和管理,要有具备本企业丰富业务经历和数据处理经验的人员,要注重数据识别、分析和组织技术,去伪存真,删繁取简。稳定的数据基础中稳定一词的含义就意味着数据库的基本表是稳定的,表的属性是稳定的,表之间的关联是稳定的、无冗余的,而且数据的组织是面向业务主题的,满足规范理论约束,即是主题数据库。稳定的数据基础对一个企业的信息系统来讲是充分和必要的,并具备行业共性,对同行业的其他企业有参照作用。mis是一个系统工程,强调它的系统特征:覆盖全企业或至少覆盖企业的主要业务部门。要在统一的数据环境下集成化开发各个子系统,子系统的划分应独立于当前的组织机构,充分地发挥计算机、网络和通讯平台的作用,利用当代先进的信息处理技术,满足管理提出的信息加工要求。各个子系统之间的数据交换是结构化的、公用的,从而也是高效的和完整的,最大限度消除有害的冗余和不一致。系统设计时应突出系统品质,以整体最优为目标,局部利益服从整体利益。 正因为mis是一个系统工程,mis的建设就是企业的整体行为,mis的质量也反映了企业的整体水平,因而特别强调最终用户真正参与mis建设。在总体设计阶段,企业的高层领导、资深的业务专家必须参与,只有在他们的参与下,才能清楚地展示企业的发展规划和战略目标,管理策略和市场策略, 改进业务流程等全局性的问题。只有这样才能正确的认识企业和改进管理,才能有正确的信息系统体系结构和数据基础,才可能有信息系统正确的设计蓝图。在系统实施阶段,在业务人员积极参与下,根据业务流程,快速、正确的设计程序流程,才有可能用计算机取代日常的业务。3.2 mis系统的开发梗概计算机辅助企业管理一般都从单项应用开始,逐步向管理信息系统过渡,这是一个量变到质变的过程。我们不能用项目级或程序级的经验去指导系统级的建设,因此为了建好、管好、用好管理信息系统,对管理信息系统的建设、运行和维护应有一整套具有指导意义的理论与方法论保证体系。根据国内理论界对国外先进的开发方法的研究,并结合国内的实际情况,大连海事大学高复先教授提出的方法论体系比较适合国内管理信息系统的具体情况,该方法论认为,mis开发方法论由高层方法论和低层方法论组成;高层方法论解决总体规划与高层设计问题,属于系统工程范畴,应采用面向全企业的信息工程(information engineering,ie)方法,需要总体规划人员、数据管理人员和系统分析人员;低层方法论解决应用项目的系统分析设计与实现,属于软件工程范畴,需要数据库管理员、系统设计人员和程序员。应用系统开发是在总体设计指导下的子系统开发,属于低层方法论的保证范围。要强调和总体数据规划的衔接,受总体数据规划的约束,自底向上实现。从大量的mis建设经验分析中可以看出,尽管低层方法论在保证应用项目的开发质量和效率方面是重要的,但在确保全企业mis的成功建设主要靠高层方法论的正确性与有关工具的实用性。高层方法论保证mis的体系结构和基础环境,一旦实施就属于mis的先天品质,不足之处就不能改动或很难改动,所需代价太大;而低层方法论保证的是项目级或程序级,影响面较小,较易实施。而且这方面的理论、工具也很活跃,系统的开放性就体现在这里。321 mis系统的总体设计建设mis时,要重视总计。总体设计一般不承担具体的部件设计,是整个系统研制工作中不可缺少的技术抓总单位。鉴于mis的系统特征和数据特征,目前比较成熟的工程化的方法是基于信息工程的面向数据的方法。在这个方法里,数据作为一种独立的资源来对待,并看作是支持所有的应用项目的基石。处理过程也很重要,有关处理之间的数据交换应该通过数据库来进行,所以是结构化的、公用的,从而也是高效的和完整的,最大限度消除有害的冗余和不一致。总体设计要在总体上有效地控制、指导管理信息系统的建设,因此必须完成:* 信息系统的概念设计和逻辑设计,其中数据模型应是主题数据库,提交数据库的概念设计;* 信息资源管理标准,信息分类编码对照表;* 物理系统的概要设计。322 应用系统开发设计应用系统开发是在总体设计指导下的子系统开发,这时各个子系统功能明确、界面清晰、数据环境确定,这就是自顶向下规划和自底向上的实现,自顶向下的规划是数据环境的统一,达到信息的一致性,要完成数据库的概念设计;自底向上的实现则应体现数据为中心的原则,数据设计和处理设计同步,首先应完成数据库的逻辑设计、进而带动程序模块设计(即面向数据的过程)。应用系统开发要采用数据启动方法,在总体设计时,完成了数据库的概念设计,确定了公用数据库和专业数据库。应用系统开发时结合数据的加工、存储、归档等各种应用,补充修改了概念设计,结合 dbms完成逻辑设计和物理设计,在计算机上建立数据库的框架,此时就可以对数据库进行加载,成为可运行数据库。系统分析人员应按照数据库的逻辑模式,结合业务人员的需求,设计好数据输入卡片。各业务部门整理数据,填好输入卡片,进而输入计算机。在这一过程中,准备数据的工作量很大,而且必须严谨认真,防止 数据垃圾 污染数据库。一旦公用数据库成为可运行数据库,就应尽快向广大业务人员开放,要引导、鼓励业务人员在线使用公用数据库的数据资源,这样就可以迅速提高广大业务人员使用计算机的兴趣和能力。和过程启动相比,数据启动更容易调动广大业务人的积极性,更容易引导业务人员进入开发者角色,及时发现业务数据中的错误,有利于稳定的数据基础的建设。应用系统的程序开发应规模开发,防止各自为政的个体开发,强化应用系统程序的分析、设计,采用成熟的面向对象的方法,重点解决程序的可重用度问题,关键技术是可重用部分的识别和设计。如果前台开发工具单一,采用类库技术;前台开发工具多样化,但使用统一操作系统,宜使用组件技术;若异构环境,那么就要考虑java技术了。无论那一种情况,均可购买商品化类库/组件软件,并注意积累自行开发的有个性类库/组件,随着时间的推移,积累的资源增多,系统的可重用度提高,就能实现少编程或无编程开发,真正的rad就成为可能。第四章 住房公积金管理系统分析4.1 系统目标建立个人住房公积金账户;单位和个人公积金的缴存.变更,支取,核算,销户等;处理,查询和统计复杂的中心,单位,个人,三级帐务;为住房资金管理中心提供公积金缴存,使用情况等的重要决策信息。实现住房公积金管理中心对住房公积金记账的个人管理。4.2 系统可行性分析研究()技术可行性数据库技术发展到现在已日臻成熟,相应的数据库体系结构设计技术在近些年得到了迅速发展和广泛使用。vc+可视化编程工具的强大功能对于各种数据库的良好支持成为当今许多软件设计的首选,odbc (opendatabaseconnectivity,开放数据库互连),dao (data access objects,数据访问对象),rdo(远程数据对象,remote data object),ado(activex data objects)等技术的发展已将数据库的访问变的很简单。其中,ado技术是在(rdo)基础上发展起来的,它使访问远程数据库可以象访问本地数据库一样简单。数据库设计方面,access,vf,sql server,db2,mysql,oracle等种类繁多的数据库设计工具,早己流行于市。其中,sql server的保密性和安全性,高于access,而易用性却好于其他数据库工具。()操作可行性住房公积金处理系统软件给用户提供了很多快捷易用的操作,以及友好的用户操作界面,用户只需要具备基本计算机操作技能就可以在win98或win2000 下使用本系统。因此,该软件的操作不会成为用户的问题,对于用户的计算机水平要求不高,其操作性良好。另外,该软件来提供了详细的帮助文档,方便用户解决问题。()经济可行性本系统采用sql server2000软件提供数据库支持,而本软件在很多事业单位早已有之,不需另外安装,可节省一笔很大的开支。另外只要在住房公积金管理中心的一台计算机上安装sql server2000数据库软件,就可以在其它计算机上安装客户端软件,方便其他用户访问和操作数据库。所以,本软件对住房公积金的管理效率将提高很多,使用本软件将比日常实际使用纸张报表,减少很多对人力物力的浪费。所以,本软件经济效益明显,经济方面可行。4.3 需求分析和数据流图1.研究目标()实现单位,个人账户的级联;()能够进行快速,成批个人记帐;()智能处理复杂,变更的情况;()快速,准确的成批量结算; ()形成相应的完整机制;()采用c/s体系。2.分层数据流图(1)顶层图用户处理事务统计数据中心事务 统计 报表库存数据图 .顶层图(2). 0层图用户登录数据权限 管理登录处理 登陆成功 事务des加密/解 密处理本地用户信息文件图 0.1层图 用户登录处理事务查询统计输入处理 操作命令 输 查入 询数 命据 令 库存数据 图 0.2层图事务处理(3) 1层图 输入数据 输入处理 登记登记 开户 支取 注销 注销转移支取开户 汇缴 补缴 转移 补交汇交 库存数据 图 4.4 1层图3.验收准则 (1)实现中心、单位、个人的账务关联; (2)能够进行快速,成批处理个人单位的公积金缴存; (3)智能处理单位的开户,补缴,支取,转移,注销; (4)快速,准确的成批量将补缴支取情况,反映到个人及单位帐务; (5)形成相应的完整机制; (6)采用客户端/服务端模式,客户端可以在多台计算机上运行,并访问服务端;(7) 可以处理复杂的查询命令。第五章 总体设计5.1 初步研究方案用vc设计公积金管理中心公积金管理客户端,它们之间通过ado用网络联结传递数据,根据表格用sql server做数据库,用触发器以实现各级账务的级联。公积金管理客户端,管理登录用户,分别设定权限。系统通过ado进行数据库的连接访问,将登记,汇缴,单位,职工补缴,支取,转移,变更等信息处理后,存入数据库,并解释用户操作,将结果显示给用户。服务端直接使用sql server,进行数据库管理。5.2 系统结构图 住房公积金处理系统adosql server数据库服务器数据处理程序查询数据统计数据用户登录图5.1 系统结构图5.3 概要设计(1)系统模块图用户管理模块数据库模块显示模块数据处理模块(2)模块功能 用户管理模块负责管理用户的登录身份和权限,及用户的增加,删除,修改密码; 数据处理模块负责处理用户输入数据和解释用户查询命令; 数据库模块负责通过ado和sql server数据库服务器交换数据; 显示模块负责显示用户界面和显示用户查询结果和统计数据。第六章 详细设计与实现 6.1 数据库设计与e-r图在这次毕业设计中,数据库设计部分的设计是程序的关键。本系统中数据库主要由几个表组成,由于此系统比较庞大,联系复杂,所以单单的几个表并不能满足系统的需求,比如:在单位,职工,新增职工这三个表中,职工表中增加一人,并不能保证其他表中人数的改变,所以我考虑在创建表中选择触发器。(关于触发器的选择等在以后章节中在介绍)总的来说本系统的主要实体可分为:单位,职工,主管部门,银行;其e-r图如下:()单位开户银行邮编电话联系人通信地址单位公积金总额单位名单位人数单位账号电话单位代码()主管部门单位编号主管部门名称主管部门()银行银行银行名称单位帐号负责人电话负责人姓名() 职工职工每月应交额职工账号职工公积金总额姓名性别每月工资单位名身份证号()总体登记()总体开户缴存变更单位公积金中心支取隶属转移职工补缴 6.2 数据库表的详细设计数据库表 本系统须实现公积金的支取 ,缴存,汇交等功能,所以也需制作出相应的几个表如下:() 单位列名数据类型长度允许空单位名char50 单位代码char10单位账号char10单位人数int4公积金总额money8() 支取列名数据类型长度允许空单位名char50 单位账号char10职工姓名char8职工账号char10支取原因char50支取方式char10 收款银行 char50收款账号char10支取本金money8支取利息money8支取合计money8() 新增员工列名数据类型长度允许空序号char10姓名char10 性别char4身份证号char18每月缴存额money8每月工资额money8单位名char50() 汇交列名数据类型长度允许空单位账号char10单位名称char10 汇交时间datetime 8补交人数int14汇交金额money8上月汇交人数int4上月合计money8本月增加人数int4() 汇交清册列名数据类型长度允许空单位账号char10单位char50 姓名char 10性别char2汇交金额char18身份证号char8月缴存额money8个人缴存额money8单位缴存额money8时间datetime 8() 职工调入列名数据类型长度允许空序号char10账号char10 姓名char10摘要char200单位应交额money8单位名char50() 清册总表列名数据类型长度允许空单位全称char50单位性质char10 通信地址char 80联系人char10邮编char10联系电话char10主管部门char50主管部门编号char10单位账号char10发薪日期int10月工资总额money4单位缴存率int8个人缴存率money4职工总数int4职工缴存率int4月应缴总数 int8个人总额int8单位总额int6() 职工调出列名数据类型长度允许空序号char10姓名char10账号char20 摘要char50每月应交额money8单位名char50() 登记表列名数据类型长度允许空主管部门名称char50主管部门编号char10 单位全称char 50单位代码char10通讯地址char100邮编char10公积金部门char 100负责人部门char10负责人电话char100联系人姓名char10联系人电话char10单位开户银行char100开户银行账号char10上年末职工数int4发放工资日期datetime8 () 职工列名数据类型长度允许空职工姓名char10身份证号char18 职工账号char 10单位int50缴款月份int4欠款月份int8支取金额money8个人公积金总额money8欠款金额money4() 补交清册列名数据类型长度允许空职工账号char10序号char10 姓名 char 10补交原因char50补交月份int4补交金额money8单位char50时间datetime8() 转移列名数据类型长度允许空转入单位全称char50转入单位账号char10 转入开户行char 50转出单位全称char50转出单位账号char10转出开户行char10职工账号char 10职工姓名char10转出原因char50转移金额money8已缴存月份int4(13)中心公积金总额列名数据类型长度允许空中心公积金总额char8触发器的简介及创建触发器的概念 触发器是一种特殊的存储方式,只要是通过事件进行触发而被执行的。它是一种功能强大的工具,与表格紧密相连,在表中发生变化时自动强制执行。触发器可以用于sql sever约束,默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。 当在某一个表格中插入纪录,修改记录后者删除纪录时,sql server就会自动执行触发器所定义的sql语句,从而确保对数据的处理必须 符合这些sql语句所定义的规则。在触发器中可以查询其他表格或包括复杂的sql 语句。触发器和引起触发器执行的sql 语句别当作依次事物处理,如果这次事物为或得 成功,sql server会 自动返回该事物执行前的状态。和check约束相比较,触发器可以强制实现更加复杂的数据完整性,而且可以引用其他表中的字段。 触发器的优点使用触发器的优点如下:u 触发器是自动执行的。当对表中的数据做了任何修改(比如手工输入或者应用程序采用的操作)之后立即被激活。u 触发器可以通过数据库中的相关表进行层叠更改。u 触发器可以强制限制。触发器的类型 触发器可分为afier 触发器和instead of触发器两种,主要区别如下:u after触发器:这种类型的触发器将在数据变动( insert,update和 delete操作)完成以后才被触发。可以对变动进行检查,如果发现错误,将拒绝接受或回滚变动的数据。after 触发器只能在表上定义。在同一个数据表中可以创建多个after触发器。本系统就采用这种触发器。u instead of触发器:instead of 触发器是 sql server 2000中新增功能。这种类型的触发器将在数据变动以前被触发,并取代变动数据的操作( insert,update 和 delete 操作 ),而去执行触发器定义的操作。instead of触发器可以在表或视图上定义。在表或视图上,每个insert,update 和 delete 语句最多可以定义一个 instead of 触发器。 注意:当创建触发器时,如果使用了相同名称的触发器,后建立的触发器将会覆盖前面建立的触发器。用户不能在系统表上创建用户自定义的触发器。 附数据库表中关于触发器的部分程序 单位表中修改create trigger 修改 on dbo.单位 for updateasupdate dbo.中心set 中心公积金总额=中心公积金总额+inserted.公积金总额-deleted.公积金总额from inserted,deleted63系统模块设计631登陆模块des加密/解密模块文件读取/写入模块 本地用户信息文件本地用户信息文件存储格式字段名类型备注用户名sznamechar(50)密码szpwdchar(10)权限szauthoritychar(10)管理员,一般用户,游客 用户管理模块负责用户的登录,用户的删除,用户的增加,以及密码修改还有用户的权限管理。管理员具有一切权限,可以删除增加用户和一般用户的所有权限;一般用户可以进行一般操作,即可以进行登记,开户,汇缴,变更等操作,但不能增加删除用户;游客只有进行查询的权利。 des模块可以将本地用户信息文件(user.dat)中读出的数据解密为用户原来数据,也可以将原来的数据加密后写入本地用户信息文件。 文件模块可以将本地用户信息文件(user.dat)中的数据读出和数据写入。632数据库模块ado模块命令解释模块 sql server数据库 ado模块负责对sql server2000数据库服务器的连接,以及数据的查询,修改,插入,删除。它被封装为cadodatabase,以及cadorecordset两个类,其中cadodatabase主要是负责连接,而cadorecordset则负责其它功能。 命令解释模块主要将用户的输入操作和鼠标事件解释为对ado模块的访问命令,以及数据库的备份,还原等命令。 sql server数据库服务器会自动将用户数据保存到数据库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论