1、数据库系统原理课程设计课题名称: 学生收费管理信息系统 姓 名: 班 级: 信管11-2 学 号: 指导老师: 2014年 1 月 1 日学生收费管理信息系统的设计内 容 摘 要 学生缴费管理系统是学校管理体系中的一个非常重要的部分,这个环节对于学校的管理、运转至关重要。对于日益复杂化的高校收费工作,迫切需要一个能够提供学校财务管理人员快捷、 、简洁、有效的进行缴费管理工作的系统。于是本系统基于此种目的,应运而生。实现了在仅仅只需要两个录入人员,通过此系统,可以很轻松地应对一般高校的缴费管理工作。高效、准确的实现了缴费自动化。在此论文中主要介绍了系统开发的主要过程和方法,并且给出了基本的关系模
2、型,完成了模型的静态分析与动态分析。收费管理信息系统是个典型的信息管理系统(MIS)。其设计开发主要包括了后台数据库设计建立和维护以及前台应用程序的设计开发两方面。整个开发的过程中,采用Visual Basic 6.0和SQL Server 2000工具,详细分析了学校缴费流程的各个环节,针对出现的一些问题,设计出来了这样的一个方便、简洁、有效的学生缴费管理系统。尤其是注册缴费窗口,能方便而简洁操纵数据库的智能化对象。使用本系统,能清楚方便得进行学生的信息录入、缴费情况处理、查询、统计以及生成报表。其中的统计报表功能在查询的基础上,完成了对缴费信息总体上的概括总结,方便用户浏览查阅。关键字:学
3、生 缴费系统 统计报表目 录内 容 摘 要III一、绪 论1(一)研究的目的和意义1(二)研究内容和全文安排1(三)技术支持分析2二、系统分析2(一)可行性分析21.管理可行性22.技术可行性23.经济可行性3(二)组织结构分析3(三)业务流程分析4(四)数据流程分析4(五)数据字典7三、 系统设计11(一)系统设计思路及分析11(二)系统功能模块的划分12(三)数据库概念结构设计12(四)数据库逻辑结构设计151.关系模式152.用户外模式设计15(五)数据库物理结构设计16四、系统实施17(一)程序代码设计与分析171.数据库和表的创建以及数据的加载、修改、删除、查询172.存储过程233
4、.触发器24(二)开发与使用环境27(三)系统登陆界面27(四)主界面介绍28(五)综合统计功能28(六)系统测试301.系统测试目的302.测试环境303.测试内容30五、全文总结31参考文献32一、绪 论(一)研究的目的和意义学生收费系统是一项复杂的工作,许多学校往往采用人工方式进行,其工作难度大,需要的操作人员多,费工费时,尤其是它的录入与查询工作非常艰苦,为此,很有必要开发一个自动化,智能化的计算机缴费管理系统。为解决学生缴费过程中繁琐的记录,记账和费用清单处理等功能归纳起来,好处大约有以下几点:(1)可以存储历届的学生缴费信息,安全,高效。(2)只需一到二名学生信息录入员即可操作系统
5、,节省大量人力(3)可以迅速查到所需信息。学生收费的设计分析根据实际情况,我们使用原型法(Rapid Protoryping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快的确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐的增加上去,知道所有的性质全部满足,此时模块也发展成为最终产品了。21世纪,网络技术已经越来越广泛的应用于科学管理领域,越来越多的领域已经实现了管理信息化,管理者也更较重视服务绩效。而国内的管理系统,由于计算机网络技术发展起步晚,速度相对缓慢,加之传统的人事管理观念,数据管理的质量与服务绩效等问题尚未引起人们的重,
6、导致国内相当多的单位并未采用科学的管理方法,出现管理不规范、管理混乱、效率低下等问题。所以我国应加快技术发展步伐,以更好更快的实现管理信息化。(二)研究内容和全文安排本文主要研究的是怎样把学校缴费这项复杂繁冗的工作,利用计算机技术,使其变的安全、高效。整篇论文共分为四个部分:内容摘要、英文摘要、正文以及参考文献。其中正文部分划分为五个章节,分别设计如下:第一章:绪论。主要是对本文研究的目的和意义以及研究内容和全文的安排进行一个简单的介绍。第二章:系统分析。划分为可行性分析、组织结构分析、业务流程分析、数据流程分析以及数据字典。第三章:系统设计。主要分析介绍了系统的设计思路,对系统功能模块的划分
7、,数据库结构的设计,数据库逻辑结构的设计以及数据库的创建。第四章:系统实施。主要介绍系统的开发和使用环境、系统的登陆界面、主界面以及综合统计功能模块。第五章:全文总结和研究展望。(三)技术支持分析学生收费管理信息系统是个典型的信息管理系统(MIS)。其设计开发主要包括了后台数据库设计建立和维护以及前台应用程序的设计开发两方面。整个开发的过程中,采用Java和SQL Server2000工具,详细分析了学校缴费流程的各个环节,针对出现的一些问题,设计出来了这样的一个方便、简洁、有效的学生缴费管理系统。Visual Basic是一种可视化的、面对对象和用事件驱动方式的结构化高级程序设计,可用于开发
8、Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。该系统的数据库是用VB默认支持的SQL Server 2000来建立的。SQL Server 2000不仅是一个数
9、据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。二、系统分析(一)可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的计算机,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。1.管理可行性由于本系统主要应用于学院内部,不具备网络查找功能,因此在实现时可以做成单机版,对管理员赋予数据录入、查询、修改以及对数据库的清零等功能。本
10、系统操作简单,易于理解,只需通过简单培训,上手较快,学校学籍管理处的教职员以及相关教师均能进行操作,营运环境要求低。2.技术可行性由于VB语言简单、易学的优点,又增强了可视化、数据库及Internet编程功能,很容易就可以进行系统开发。因此系统开发工具可以采用Java进行开发。而对数据库的建立,由于建立的数据库主要是对光纤的信息进行管理,所以可以采用SQL Server 2000。该软件简单易懂,应用广泛,比较适合新手上路使用,而且建立的数据库较为安全。本系统的设计与开发在技术上的条件都是满足的,因此,它在技术上是可行的。3.经济可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本
11、系统的开发,可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,提高学生信息的利用率,为学校的工作效率带来了一个质的飞跃。主要表现为:实现各级学籍变更智能化,减少管理人员工作量;查询统计方便,能随时查询学校学生等相关数据;实现各类学生学籍和成绩管理的一体化、科学化;保证各级管理部门数据一致,使管理工作规范化;自动生成报表,使上报数据准确、及时、方便;大大的提高学校的工作效率;使敏感文档更加安全,等等。所以,本系统在经济上是可行的。通过可行性分析研究,认为新系统的开发方案切实可行,可进行开发。(二)组织结构分析组织结构是一个组织的组成以及这些组成
12、部分之间的关系,通常可用组织结构图来表示。我们按照管理的特点将整个学校的财务室划分为以下几个部分。组织机构图如下所示:图2-1 组织机构图整个学校的缴费工作都是由学校的财务室来完成的。学校的财务室是一个单独的机构,不属于任何一个垂直管理体系。财务室的组织构成如下: 学校的财务室由一名财务主管进行统筹管理,下设会计,出纳,以及使用本系统所必须的信息录入人员。由上图可以清晰明了的看出,学校的缴费工作主要是由财务室来完成。财务处的组织构成如下:财务室配备一名财务主管,进行学生缴费的统筹管理工作。其下设两个单位,一个是会计部门,进行财务核算,另外一个就是使用本系统时,需要的缴费信息录入人员。通过以上的
13、组织机构图,可以确切的反应出该部门实际负责的工作,可以切实的了解该部门的职责。从图中我们既可以了解纵向的层次领导关系,又可以很清楚的了解到组织机构内的各种联系。组织机构图使我们了解学校财务部门缴费活动的切入点。在组织机构图中,重点画出了与缴费管理系统有关的部分,而一般学校的行政部门等就没有体现在其中。(三)业务流程分析图2-2业务流程图本系统的业务流程图详细的表示了用计算机来实现学生缴费的处理流程。由图可知,该系统的主要模块就是数据录入以及缴费信息管理模块。相对固定的数据长期存贮在数据库中,每学年要进行一次更改,比如新生报到注册等。对变动很大的数据,由人工进行键盘重新输入,每月进行一次统计,最
14、后由计算和打印程序进行报表的生成和输出。具体处理过程如下:财务室的财务主管登入本系统,设置权限,生成普通管理用户,安排会计或者信息录入人员使用并用于缴费业务工作。录入各类缴费信息,进行缴费信息的管理,完成缴费,生成报表,完成整项缴费工作。(四)数据流程分析数据流程图符号:图2-3数据流程图符号顶层数据流程图确定系统的几个主要的综合性的逻辑功能。其中每个逻辑功能由一个数据加工描述。顶层图如下图所示:图2-4学生缴费管理系统顶层图顶层数据图说明了系统总的处理功能、输入和输出。教务处发来学生注册信息,财务处进行信息管理并使用此系统自动录入,进行信息处理。图2-4 学生缴费管理系统第一层流程图图2-5
15、 学生缴费管理系统底层流程图管理员登录系统后,进入用户信息管理界面,进行系统维护,用户只能修改自己的密码,而管理员可以增加、删除和修改用户。 图2-6添加模块流程图管理员登录系统后,进入学生缴费信息管理界面,单击录入,导入学生学籍信息,保存。即完成学生注册信息的添加。图2-7 维护模块流程图第一层数据流程图能全面的描述学生缴费管理系统的逻辑模型,具有抽象性和概括性。抽象性表现在它完全舍去了具体的物质,只剩下数据的流动、加工处理和存储。对于本系统来说,由上图可以很清楚地看清数据的流动方向,处理过程也是一目了然。如验证、数据的录入、数据的查询、数据报表、数据统计都是该系统的处理过程。其中的椭圆表示
16、的是外部实体,本系统的外部实体主要就是用户或管理员。数据存储指通过数据文件、文件夹或账本等存贮数据,用一个右边开口的长方形表示。图形右部填写的是存储的数据和数据集的名字,左边填入该数据存储的标志。底层数据流程图则很详细的描述了学生缴费管理系统中的数据报表产生环节数据的确切流动、加工处理和存储等信息。数据流程图是分层次的,本图绘制时采用的是自顶向下逐层分解的办法。而对数据流程图中的各个元素做出详细的说明,在下面的数据字典中再进行详细的介绍。(五)数据字典为了对数据流图中个元素进行详细的说明,采用了数据字典的说明方法,对图书管理信息系统数据流图的部分数据字典举例说明如下:1.数据元素1-001数据
17、元素条目名称:学号说明:唯一标识每一个学生数据类型:离散类型:文本长度:12取值范围:011000000000011099999999取值含义:前四位是年级,五六位是院系,七八位是专业,九十位是班级号,后两位是学生在班级的编号。有关数据结构:学校、院系、专业、班级1-002数据元素条目名称:班级编号说明:本校班级号数据类型:离散类型:文本长度:20有关数据结构:学校、院系、专业1-003数据元素条目名称:专业编号说明:学生专业号数据类型:离散类型:文本长度:20有关数据结构:院系、年级、专业基本信息、专业设置1-004数据元素条目名称:院系编号说明:学生院系号数据类型:离散类型:文本长度:20
18、有关数据结构:院系、年级、专业、班级、院系基本信息、院系设置1-005数据元素条目名称:年级编号说明:学生年级数据类型:离散类型:文本长度:20有关数据结构:院系、年级、专业基本信息、专业设置2.数据结构2-001数据结构条目名称:超级用户说明:登录时的权限设置结构:useID+Password+Usename有关数据结构:数据存储、超级用户2-002数据结构条目名称:学生说明:新生入学时填写基本信息结构:学号+班级+姓名+性别+出生年月+民族+地址有关数据结构:数据存贮、超级用户有关数据流:数据存储、学生缴费信息表2-003数据结构条目名称:缴费信息表说明:新生入学时缴费的基本信息结构:缴费
19、项目+缴费金额+欠费情况+学号有关数据流:数据存储、学生信息表3.数据流3-001数据流名称:录入信息简述:缴费信息数据流来源:财务合计数据流去向:加工学生缴费信息管理(该加工将录入的数据存入数据库缴费信息表)数据流组成:班级录入+专业录入+院系录入+住房类型录入+所在年级录入+缴费项目录入数据流量:1000人次/天高峰流量:5000人次/天3-002数据流名称:录入信息简述:注册信息数据流来源:教务科数据流去向:加工学生信息管理(该加工将录入的数据存入数据库学生信息表)数据流组成:班级录入+专业录入+院系录入+所在年级录入数据流量:1000人次/天高峰流量:5000人次/天4.处理过程4-0
20、01加工名:注册缴费信息管理处理逻辑:接收缴费信息的录入,并检查有无错误,如无错误,将数据存入读者信息表激发条件:接受到学生信息时输入:录入信息输出:缴费信息4-002加工名:注册信息管理处理逻辑:接收学生信息的录入,并检查有无错误,如无错误,将数据存入学生信息表激发条件:接受到学生信息时输入:录入信息输出:学生信息5.数据存储条目5-001数据存储条目名称:缴费信息一览表说明:按缴费信息汇集学生具体缴费情况结构:班级+学生成绩+学号+姓名+缴费项目+缴费情况有关数据流:P2.1 D1,D1 P2.1.2, D1 P2.1.2, D1 P2.1.35-002数据存储条目名称:学生信息一览表说明
21、:按学生注册信息导入学生具体情况结构:班级+学号+姓名+专业+院系有关数据流:P2.2 D2,D2 P2.2.1, D2 P2.2.2, D2 P2.2.36.外部实体条目6-001数据项名称:学生简述:学校的基本组成结构组成:注册信息、缴费信息类型:字符串个数:约8000人6-002数据项名称:财务室简述:财务室进行缴费业务组成:注册信息、缴费信息类型:字符串个数:1个6-003数据项名称:会计简述:财务室录入学生缴费信息人员组成:缴费信息类型:字符串个数:2人三、 系统设计(一)系统设计思路及分析高校收费的主要问题在于收费人员众多、数量庞大、时间短暂等,这也是本系统所主要针对的。为了提高效
22、率,减少错误,保证安全,该系统设计时主要体现了以下的特点:1.面向对象的体系设计2.使用VB 6.0作为开发工具3.功能全面、强大,覆盖了缴费全过程4.界面友好,设置错误避免设计5.高度智能,简单易用,操作方便6.系统安全,具备数据备份功能7.各种自动填充功能,有效提高效率8.代码标准,易于软件维护和功能扩充9.提供多种小工具,方便拥护使用(二)系统功能模块的划分图3-2功能模块图A 系统管理模块:用户管理和系统维护主要就是用户身份的管理以及系统数据的维护。前者有普通用户和超级用户之分,其区别在于功能使用上的权限不同,系统只有部分功能对普通用户开放,超级用户则拥有系统全部功能的权限。后者包括了
23、数据的备份和数据的恢复,是为了保障系统的使用安全。B 缴费录入模块:学生缴费数据录入实现全屏幕处理或者单条记录的处理,管理员可以在表格中任意修改、增加、删除记录。由于缴费涉及到找零,需有自动计算功能;实现缴费日期的选择输入。C 统计报表产生功能模块:数据统计以及报表产生统计主要是根据用户不同的需求对数据进行统计,分别有以全校、系别、班级为单位进行统计,统计的结果以图的方式显示出来。报表的产生主要就是将统计的数据生成报表,打印出来,方便用户浏览传阅。D 综合查询功能模块:系统数据查询查询功能是本系统最为强大的功能,是为方便用户清楚详细了解学生缴费情况的模块。主要体现在查询功能分条件进行,用户可以
24、以自己的任何想法来对数据进行查询,只要满足系统自身的包含条件。E 其他功能的模块:系统自带工具和帮助主要有日历、计算器、帮助等,提供用户使用,属于附属功能模块,有效提高用户使用效率。(三)数据库概念结构设计分析之后可以设计出能够满足用户需求的各种实体以及他们之间的关系,为下一节的逻辑结构设计打下基础。这些实体包括各种信息,通过相互之间的作用形成数据的流动。本系统数据库的各实体E-R图如下所示:图3-3 年级实体E-R图图3-4 学生实体E-R图图3-5 班级实体E-R图图3-6 缴费项目实体E-R图图3-7 院系实体E-R图图3-8 专业实体E-R图图3-9 用户实体E-R图图3-10 住房实
25、体E-R图图3-11 缴费信息实体E-R图图3-12 各个实体间关系E-R图通过对该系统的反复设计与实施,从系统中可以抽象出如下实体并命名如下: 班级实体、年级实体、住房实体、院系实体、专业实体、学生实体、缴费项目实体以及缴费信息实体等。实体之间的关系如下:学生实体与班级实体、年级实体、住房实体、院系实体、专业实体是一对多的关系。学生实体与缴费项目实体是一对一的关系。学生实体与缴费信息实体是一对一的关系。具体表现在:在一个学校当中,学生是最基本的组成部分,每个学生都对应一个班级、年级、专业、院系、住房,所以抽象出实体便是一对多的关系,如图所示。而一个学生每学年只用缴纳一次费用,对应着一次缴费信
26、息,故学生实体与缴费信息实体是一对一的关系。而对于每个学年,需要缴纳的项目都是固定的,每个学生都只用缴纳相同的项目,故学生实体与缴费项目实体也是一对一的关系。同样,缴费信息实体与缴费项目实体也是一对一的关系。具体对应关系已经在图上表示出来。(四)数据库逻辑结构设计1.关系模式根据第二部分所绘制的图,可以将上述关系转化为两个关系模式,其中一个是学生与院系、专业、年级、班级、住宿之间的联系转化而来,它们的关系是多对一的关系。另一个是学生与缴费信息实体间的联系转化而来,它们之间是多对多的关系。转化后的结果如下所示:学生(学号、姓名、院系、专业、年级、班级、住宿)其中,学号为主键。缴费(缴费编号、学号
27、、缴费项目、缴费金额、缴费日期、经手人)其中,缴费编号和学号共同构成主键。上述的关系模式是经过调整优化后的关系模式,的关系模式基本上已经达到最优,数据的操作效率和存储空间的利用率都有了很大的提高。不仅减少了应用程序存取的数据量,而且提高了存取记录的速度。2.用户外模式设计对应的外模式设计如下:(五)数据库物理结构设计为一个给定的逻辑数据模型选取一个最合适应用环境的物理结构的过程,就是数据库的物理设计。显然,数据库的物理设计是完全倚赖于给定的硬件环境和数据库产品的。数据库物理设计通常分为两步:(1) 确定数据库的物理结构;(2) 对物理结构进行评价,评价的重点是时间和空间效率。数据库的物理设计,
28、现用相关截图表示如下:图3-13数据库物理结构设计图3-14数据库物理结构设计图3-15数据库物理结构设计四、系统实施(一)程序代码设计与分析1.数据库和表的创建以及数据的加载、修改、删除、查询本部分主要实现数据库和表的创建以及数据的加载、修改、删除、查询等。相关的代码如下:数据库创建代码:create database stuDBon primary- 默认就属于primary文件组,可省略(/*-数据文件的具体描述-*/name=stuDB_data,- 主数据文件的逻辑名称filename=D:stuDB_data.mdf,- 主数据文件的物理名称size=5mb,-主数据文件的初始大小
29、maxsize=100mb,- 主数据文件增长的最大值filegrowth=15%-主数据文件的增长率)log on (/*-日志文件的具体描述,各参数含义同上-*/name=stuDB_log,filename=D:stuDB_log.ldf,size=2mb,filegrowth=1mb)图4-1数据库创建运行结果表的创建代码:use stuDBgoif exists(select *from sysobjects where name=stu)drop table stucreate table stu(stuID int primary key,stuname char(25),stu
30、school char(25),stumajor char(25),stugrade int,stuclass int)图4-2 stu表的创建运行结果create table taxmassage(taxId int,stuID int,taxxiangmu char(25),taxnumber int,taxdate char(25),taxmanager char(25)图4-2 taxmassage表的创建运行结果数据插入代码:insertinto stuselect 31100,里根,计算机,通信,10,01union allselect 31101,陈东,医学院,护理,11,01u
31、nion allselect 31102,杨传华,计算机,信管,10,02union allselect 31103,张晓芬,计算机,信管,10,02union allselect 31104,张萌,计算机,信管,10,02union allselect 31105,周帅,计算机,信管,10,02union allselect 31106,程元奔,计算机,信管,10,03union allselect 31107,范冰,计算机,信管,10,03图4-3 stu表数据插入运行结果insert into taxmassageselect 001,31100,学费,3500,2011/9/2,姜鹏u
32、nion allselect 002,31101,住宿费,800,2010/9/5,付峰union allselect 003,31101,书本费,300,2012/8/31,姜鹏union allselect 002,31102,住宿费,800,2011/9/2,姜鹏union allselect 001,31102,学费,3500,2012/9/4,姜鹏union allselect 002,31103,住宿费,800,2011/9/3,付峰union allselect 003,31101,书本费,300,2011/9/2,付峰union allselect 001,31101,学费,3
33、500,2010/9/2,姜鹏图4-4 taxmassage表数据插入运行结果查询语句代码示例:select *from stuwhere stuID in(select stuIDfrom taxmassagewhere stu.stuID=taxmassage.stuID andtaxdate =2011/9/2 );图4-5表的查询数据运行结果2.存储过程存储过程是一组为了完成特定功能的语句集合,存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数来执行它,存储过程是由流程控制语句和SQL语句书写的过程,这个过程经过编译和优化后存储在数据库服务器中,存储过程可由应用程序
34、通过一个调用来执行,而且允许用户声明变量,同时,存储过程可以接收和输出数据,也可以嵌套调用。使用存储过程有以下优点:1、 存储过程已在服务器上存储;2、 存储过程允许模块儿化设计;3、 存储过程可以加快运行速度;4、 存储过程可以减少网络通信流量;5、 存储过程可以作为安全性机制以stu表为例来建立一个存储过程Create procedure stuAsBeginDeclear stuID int,stuname char(25),stuschool char(25),stumajor char(25),stugarde char(25),stuclass char(25),Declear s
35、tu_mg mg forSelect stuID,stuname,stuschool,stumajor,stugrade,stuclass from stu;Open stu_mgFetch next from stu_mg into stuID,stuname,stuschool,stumajor,stugrade,stuclassPrint_While fetch_status=0BeginPrint cast(stuID as int)+stuname + + stuschool + stumajor + + stugrade + + stuclass)Fetch next from s
36、tu_mg into stuID stuname stuschool stumajor stugrade stuclassEndgo上文位存储过程的定义,下文为调用Close stu_mgDeallocate stu_mgEndgo上述代码编译执行后即在stu表中生成了一个新的用户存储过程,当其他程序段需要该功能时即可调用此存储过程,从而达到模块化设计,加快客户端运行速度以及减少网络通信流量的好处3.触发器触发器是一个特殊的存储过程。触发器里面有两个临时表:Deleted,Inserted。注意Deleted与Inserted分别是表示表示触发器事件的表“旧的一条记录”和“新的一条记录”。一个
37、数据库中有两个虚拟表用于存储在表中记录改动的信息,分别是:虚拟表Inserted虚拟表Deleted表记录新增时存放新增的记录不存储记录表记录修改时存放用来更新的新记录存放更新前的记录表记录删除时不存储记录存放被删除的记录更新数据的触发器Create Trigger trustuOn stu -在stu表中创建触发器for Update -为更新事件触发As -事件触发后所要做的事情if Update(stuID) beginUpdate taxmassageSet stuID=i.stuIDFrom taxmassage tm , Deleted d ,Inserted i -Deleted
38、和Inserted临时表Where tm.stuID=d.stuIDend 图4-6数据更新数据的触发器删除数据的触发器Create trigger trdstuOn stufor DeleteAsDelete taxmassageFrom taxmassage tm , Delted dWhere tm.stuID=d.stuID图4-7删除数据的触发器运行结果以上添加了两个触发器,分别是更新触发器和删除触发器。在stu表的内容有更新时,相对应的taxmassage中的数据也会发生改变,保持了两个表中数据的一致性。当stu表中的记录被删除时,taxmassagebiao中的相应的记录也会被删
39、除,从而可以保证两个表中数据的完整性、一致性和正确性。具体执行过程如下图:代码:update stuSet stuID=31109Where stuID=3110图4-8删除数据的触发器运行结果因为stu表中建立了更新数据的触发器,所以当stu表中的数据更新时,taxmassage中的数据也更新了。(二)开发与使用环境本系统开发和使用时采用AMD Athlon(tm)XP 2800+主频为1.84 GHz的cpu,采用最小内存为512 MB,最小硬盘为80G,并采用Windows XP/2000 的操作系统,采用的代码开发工具为Visual Basic 6.0后台数据库选择SQL Server
40、 2000数据库。 (三)系统登陆界面整个系统的初始程序就是登陆界面,好的登陆界面给人的感觉应该简单,友好,这是软件设计的基本要求。图4-1 登陆过程流程图(四)主界面介绍若用户登陆成功,系统将转入主界面。这是用户进行操作的主要界面,各种功能都集中在上面。用户根据界面上的不同功能区进行不同需求的的操作,主界面如下图4.4所示。 图4-2登陆过程流程图主界面包含了数据、录入、缴费、查询、报表等功能。还有一些辅助的工具例如:日历、计算器、帮助此界面功能强大,datagrid控件中显示出需要的记录,在其中选择不同的记录,详细信息中就会显示详细信息,能使用户看到详细信息。点击“显示所有”按钮显示所有记
41、录。点击“重新填写”按钮,重置综合查询控件的信息。点击“添加记录”按钮,详细信息中的控件变为可编写状态,此时,若选定“缴费项目”,则自动计算出“缴费总数”。“学生学号”文本框中输入学号,若学号不符合格式,则弹出对话框说明格式错误,若在学生信息表中已经存在,则自动填充“学生姓名”,“所在院系”,“所在年级”,“所在班级”。若在“缴费数据库”中已经存在,则弹出对话框说明已经存在此信息。还有,条件查询包括学号、姓名、经手人、院系、班级、年度、缴费日期的查询。而综合查询,顾名思义:是符合N项条件的查询(N项包括日期、经手人、年级、院系、班级这几项)。菜单栏包括本系统的所有功能(数据操作、查询、报表、统
42、计、数据管理、可用工具)。工具栏里一些常用的功能,是为了操作方便才设计的。而状态栏是提供一些辅助的信息(例:当前的用户、当前的时间等)。(五)综合统计功能总的来说,统计和报表的生成都是建立在查询的基础之上的。基本的思路是通过查询找出满足条件的内容,然后将查询结果生成统计图和报表。所以用户所希望的统计条件就是查询条件,用户只要在综合查询面板上进行操作就可以,下图4-3就是综合查询面板。图4-3 综合查询面板模块主要代码统计按钮代码Private Sub Command36_Click()综合统计.Show 综合统计.Label2.Caption = 查询统计Command36.Enabled =
43、 FalseEnd Sub需要说明的是上面代码中的“综合统计.Show”是指的统计图所显示在的界面,如下图4-6就是综合统计显示界面。我们还可以看到,界面的下部分有统计单位详细的信息,思路上是将满足统计条件的内容逐列的排下来,然后从头到尾依次显示在对应的控件上,用户可以通过方向键来对每个单位进行浏览。综合统计用于用户详细的统计,有多个条件供用户进行选择,产生的统计结果十分精确。单条件则是粗略地进行统计,由用户确定一个条件进行统计。单条件统计操作区域在系统主界面的上方工具条中。 选择好统计的条件之后,系统弹出操作面板。由于系统包含了多个单条件,这里只举例一个院系统计来进行说明。 模块主要代码Pr
44、ivate Sub stat1_Click()统计选择1.Label2.Caption = 院系统计统计选择2.Label2.Caption = 院系统计统计选择1.DataCombo4.Visible = True统计选择1.Adodc1.ConnectionString =Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & db6.mdb统计选择1.Adodc1.RecordSource = 院系表统计选择1.Adodc1.RefreshSet 统计选择1.DataCombo4.RowSource = 统计选择1.Adodc1 统计选择1.DataCombo4.ListField = 院系统计选择1.DataCombo4.Text = 选择所在院系统计选择1.ShowE