VFP学生管理系统(FoxPro+SQL)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
甘肃广播电视大学金昌分校毕业设计
设计题目:学生管理系统
入学年月 2001年8月
姓名__张琦____
学号__017040114_
专业_计算机应用_
指导教师__陈耀昌
完成日期2004年5月
目录
摘要 (3)
第一章前言 (4)
第二章设计用软件技术介绍 (4)
2.1 FoxPro (4)
2.2 SQL (4)
第三章学生信息管理系统的具体实现 (5)
3.1 学生管理信息系统设计 (5)
3.1.1 学生管理信息系统设计 (5)
3.1.2 学生管理信息系统功能模块设计 (5)
3.2 学生管理信息数据库设计 (6)
3.2.1 数据库需求分析 (6)
3.2.2 数据库中的关系设计 (7)
3.2.3.1 关系设计的原则 (7)
3.2.3.2 学生管理信息系统的关系设计 (7)
3.3 学生管理信息数据库结构的具体实现 (9)
3.3.1 创建数据库、表 (10)
3.3.2 创建查询、视图和报表 (10)
3.3.3 创建表单 (11)
3.3.4 主程序的构造 (12)
3.4 学生管理系统运行 (14)
第四章结束语及参考文献 (15)
摘要
本课题设计是为适应信息化的要求,提高教务教学管理水平而设计的。
教务教学管理包括多项内容,本课题设计只是承担了其中的一部分即:学生管理。
本课题设计作为一个数据库应用程序,用到了多项技术,诸如:关系数据库、面向对象编程等。
论文对部分重要内容分别予以简要介绍。
在课题的实现过程中,本人先后几次同指导老师陈耀昌进行沟通,逐步明确所要实现的目标,从而正确的进行设计,并实现了所要达到的功能。
本课题为了要实现功能,建立了一个数据库,包括了五个表:学生基本情况表(dbfjbqk.dbf)用于存储学生基本情况;成绩表(dbfcj.dbf)用于存储学生成绩;成绩总库用于存储学生各门课程(dbfcjzk.dbf)、课程表(dbfkc.dbf)用于存储课程名称;名次表(dbfmc.dbf)用于存储学生成绩名次。
关键字:面向对象(Object)、数据窗口(DataWindow)、信息管理系统(Mis)、学生管理。
This lesson design is for adapt cational administration teaching the management included the contents of many items, this lesson the design to just
undertook among them of a part namely:Student management.
This lesson the design be used as the procedure of a database application, and use the technique of many items, such as:Relation database, face to the object the plait the etc..Right part of and important contents of thesis respectively to introduce with the synopsis.
In the lesson function for proceeding for target for of realizing process inside, oneself successively a fews guiding the clear proceeding of teacher Liu's 永the communication, gradually clear and definite wanting realizing, from but rightly design, and realizes wanting attaining.
This lesson the in order to realizes function, established a database, and include five forms:The basic circumstance form( dbfjbqk.dbf) of student used fors the basic circumstance of student of save ;The score form( dbfcj.dbf) used fors a score of student of save ;The total base of score used fors the save the each door of student the course( dbfcjzk.dbf), course the form( dbfkc.dbf) to used for the save course the name;The position form( dbfmc.dbf) used fors the save student score the position.
This thesis totally is divided intoes seven chapters, chapter 1:Summary;Chapter 2:The design uses the software introduction;Chapter 3:In a specific way realizes;Chapter 4:End the language;Chapter 5 is a test the data;Chapter 6 is an enclosure.
第一章前言
学生管理信息系统是一个学校不可缺少的部分,它能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工作效率,因此,开发这样一套管理软件就很有必要。
近年来,随着计算机厂家的不断增多,计算机硬件成本的大幅度下降,加之人们对计算机也不再觉得神秘陌生,计算机已经不再是高档用品,为学校建立学生管理信息系统提供了物质条件。
而现在我国的大部分学校对学生的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
使用学生管理信息系统,有以下几点好处:
1、可以存储历届的学生档案,安全、高效;
2、只需一到二名录入员即可操作系统,节省大量人力;
3、可以迅速查到所需信息,包括学生的基本情况、考试成绩等;
4、为将来学校上网做好准备。
现在互联网已经十分普及,一些用人单位希望能在世界的任何一个角落查到学生的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。
第二章设计用软件技术介绍
2.1 FoxPro语言概述
Visual FoxPro 是由Microsoft公司推出的用于中小型企业的一个优秀的小型数据库开发系统。
它从单机数据库Foxbase发展而来,现已发展成为具有很强的网络功能的小型数据库系统。
它可以用作小型的单机、网络数据库,也可以作为大型数据库的前端开发工具来开发客户机/服务器应用程序。
在目前众多的开发工具中,Visual FoxPro在数据库开发工具中有着不可替代的地位,并且易学、易用,对计算机的配置要求也很低,还支持大型数据库通用的SQL语言,故而,实现本系统Visual FoxPro是一个相对较好的选择。
2.2 SQL语言简介
SQL是结构化查询语言Structured Query Language)的缩写,它实际上包括查询、定义、操纵和控制四个部分,是一种功能齐全的数据库语言。
数据定义是指对关系模式一级的定义。
数据操纵是对关系中的具体数据的增、删、改和更新等操作。
数据控制是指对数据访问权限的授予或撤消。
该语言在70年代中期由Boycet和Chamberlin提出,在IBM大型计算机上实现(当时为SEQUEL语言)。
由于SQL具有语言简洁、方便实用、功能齐全等优点,很快得到推广和应用,随着关系数据库的流行,SQL在计算机界和广大用户中已得到公认。
1986年10月美国国家标准局(ANSI)的数据库委员会颁布了SQL的美国标准,作为标准关系数据库语言。
1987年6月,国际标准化组织(ISO)采纳SQL为关系数据库语言的国际标准。
我国也在1990年制定了SQL 标准。
SQL作为查询标准语言,在人工智能、软件工程等领域得到了广泛的应用。
SQL语言既可以以用户联机的方式联机使用,也可以直接嵌入到程序设计语言中使用,特别适合于程序设计人员编写应用程序并与数据库打交道时,嵌入到主语言中使用。
在本课题设计中就使用了SQL语言。
第三章学生信息管理系统的具体实现
3.1 学生管理信息系统设计
3.1.1 学生管理信息系统功能分析
本系统主要用于学校信息管理,主要任务是用计算机对学生各种信息进行日常管理,如录入、查询、增加、删除。
另外还考虑到课程管理和成绩管理,设计了本学生信息管理系统。
该系统主要包括学籍管理、学籍查询、成绩管理、成绩汇总、课程管理五部分。
“学籍管理”主要是实现学生基本情况的浏览、添加、编辑和删除;“学籍查询”主要是实现学生基本情况的查询,可以按照学号、姓名、性别、籍贯和生日等进行综合查询,并根据要求浏览结果;“成绩管理”主要是实现学生各学期各门课成绩录入、修改;“成绩汇总”主要是实现所有学生的各门课成绩列表,打印家长通知书和补考通知书;“课程管理”主要是选定学生每学期所修课程。
以上功能主要为教务员使用,使用时要核对用户名和口令。
3.1.2 学生管理信息系统功能模块设计
本系统的功能分为如下几大模块:
(1)主界面设计
该模块提供教务管理系统的主界面,是主系统唯一入口和出口。
该界面提供用户选择并调用各子模块,对于进入系统的用户还要核对用户名和口令。
(2)课程管理模块
该模块提供选定学生每学期所修课程界面,然后进行维护工作(增、删、改)。
(3)课程名称模块
该模块实现添加所需课程名称的功能,每增加一门课程,课程号自动加1。
(4)成绩管理模块
该模块主要用于录入学生各学期各门课成绩。
(5)成绩汇总模块
该模块实现汇总所有学生的各门课成绩列表,打印家长通知书和补考通知书。
(6)学籍管理模块
该模块实现学生基本情况的浏览、添加、编辑和删除。
(7)学籍查询模块
该模块实现学生基本情况的查询,按照学号、姓名、性别、籍贯和生日等进行综合查询,并根据要求浏览结果。
(8)用户管理模块
该模块用于设置所有用户的口令和权限。
(9)改变口令
该模块用于登录用户改变自己的口令。
(10)放音(静音)
该模块实现播放和停止背景音乐。
(11)选曲播放
该模块实现播放磁盘中存在的曲目的功能(后缀是".wav"的文件)。
(12)改变背景
该模块实现选择磁盘中存在的图象文件作为系统的背景。
采用模块化的思想,可以大大提高工作效率,并且可以最大限度地减少不
3.2 学生管理信息数据库设计
3.2.1 数据库需求分析
Visual FoxPro 数据库设计的第一步是明确数据库的目的和如何使用,也就是在数据库中存放哪些信息。
明确目的之后,就可以确定需要设计哪些表,以及每个表中的字段。
在本课题中要实现如下功能并相应地建立建立的数据库表如
3.2.2 数据库概念结构设计
用E-R图来说明学生信息管理系统的数据库概念模式,如下图所示。
3.2.3 数据库中的关系设计
利用Foxpro进行管理信息系统的应用软件开发时,其核心任务是数据库中的关系设计,它是系统应用软件设计的基础。
其质量的好坏,直接影响到信息管理系统的功能和质量。
关系设计的任务是消除数据删除、插入操作中的异常现象,最大限度地降低数据的冗余度,并保证数据的一致性。
3.2.3.1 关系设计的原则
关系设计的理论基础是规范化理论,设计数据库的过程实际上是对关系模型进行规范化和分解的过程,使非规范化的关系满足规范化理论的要求。
要做到这一点,在关系设计时我们应遵循以下原则:一是关系分解后信息不丢失,不增加,即是无损连续分解。
必须把全局模式的数据分解到各个子模式关系中,不能丢失数据,也不能因分解而增加数据,以保证数据的完整性。
二是合理选择规范程度。
记录数多的关系,低级规范造成的冗余度很大,浪费了存储空间又影响了数据的一致性;但对相互联接的运算,低级模式又比高级范式好。
另一方面,从存取、插入速度上,又希望一个子模式的属性越少越好,即取高级范式。
因此速度与空间、速度与一致性在范式上是矛盾的。
所以应根据情况,合理选择规范化程度。
三是正确性与可实现性原则。
3.2.3.2 学生管理信息系统的关系设计
通过分析,消除部分重复组、函数部分依赖和传递函数依赖,本系统建立了一个数据库,包括了五个表:学生基本情况表(dbfjbqk.dbf)用于存储学生基本情况;成绩表(dbfcj.dbf)用于存储学生成绩;成绩总库用于存储学生各门课程(dbfcjzk.dbf)、课程表(dbfkc.dbf)用于存储课程名称;名次表(dbfmc.dbf)用于存储学生成绩名次。
3.3 学生管理信息数据库结构的具体实现
程序设计大体要经过下面的步骤:
(1)创建数据库、表,利用Visual Foxpro的工具创建数据库、表,并设置表的索引和表间的关系。
(2)创建查询、视图和报表,根据需求,创建对数据的查询、视图和报表。
(3)创建适合的类,利用Visual Foxpro的基类,创建适合的类。
(4)创建表单,通过表单将数据库、表、视图、报表集成起来,用类对它们进行操作。
(5)创建程序,编制程序将表单连接成一个系统。
(6)调试、连编,利用调试工具检查、修改程序错误,最终编译成应
用程序文件(.app)或者可执行文件(.exe).
3.3.1创建数据库、表
(1)新建项目管理器
a)在Visual Foxpro新建,在打开的“新建”对话
框中选择“项目”,单击“新建文件”按钮,接着打开“创建”对话
框,在对话框中选择磁盘、文件夹,输入项目名“student”。
b)单击“保存”按钮,窗口现出“项目管理器”界面,它是一
个具有多个选项卡的对话框,其中列出了项目可以管理的文件类型。
(2)创建数据库和数据库表
a)打开“student”项目,将数据库建立在该项目中,让“项目管理器”来管理建立的数据库文件。
b)在“项目管理器”中选择“数据”选项卡;
c)单击“项目管理器”右侧的“新建”按钮,出现“新建数据库”对话框,选择“新建数据库”;
d)在出现的“创建”对话框中单击“保存在”下拉式列表,选择要保存数据库的磁盘和文件夹,然后在“数据库名”的右边
输入“学生”,单击“保存”按钮。
e)按数据库设计器工具栏上的“新建表”按钮;
f)按“新表”,输入新表名,按“保存”;
g)按照系统分析中的数据表结构输入有关数据库表的结构;
h)设置数据库表的索引。
3.3.2 创建查询、视图和报表
一、创建查询
数据库最常用的操作就是查询,由于查询操作非常频繁,因此查询效率的高低将在很大程序上影响程序执行的效率。
查询是搜索哪些满足条件的记录,同时也可以根据需要对这些记录进行排序和分组,可以将查询结果创建为报表、表及视图。
无论目的是什么,建立查询的过程是相同的,主要有以下几个步骤:
(1)使用“查询向导”或“查询设计器”;
(2)选择将要出现在查询结果中的字段;
(3)设置选择条件,以满足所需结果的记录;
(4)设置排序或分组项,用以组织查询结果;
(5)定向查询结果,如浏览、报表、表、标签等,如果要保存创
建的查询,可以指导一个名称,将查询文件保存为带.QPR扩展名
的文件;
(6)运行查询。
二、创建视图
视图是数据库中的一个特有的功能,只有当包含视图的数据库被打开时,才能使用视图。
利用视图,可以从表中提取一组记录,改变这些
记录的值,并把更新结果送加到源表中。
如果不但要检索数据,还想更
新它,就需要使用视图。
从多表中选取字段也是视图的一个重要用途。
创建视图和创建查询的步骤类似。
创建视图时要选择包含在视图中的表
和字段、指定用来联接的联接条件、指定过滤器选择特定的记录,与查
询不同的是,视图可以把在视图中做的数据修改传给原表。
建立视图的
主要步骤是:
(1)从“项目管理器”中选定一个数据库;
(2)在“数据库”下,选定“本地视图”,并单击“新建”按钮,启动“新的本地视图”对话框;
(3)在“新的本地视图”对话框中,单击“新视图”按钮,进入“视图设计器”,系统将提示从当前数据或自由表中选择表或视图。
(4)根据一定的条件进行“联接”和“更新数据”操作。
三、创建报表
查询和视图能够显示或存储数据,而报表和标签则是数据打印输出的工具。
在Visual Foxpro中打印数据,并不是直接送到打印机,而是先建立一个报
表或标签文件,从数据表中提取内容,并且设计报表或标签格式,然后
再打印报表或标签。
使用“报表向导”可以快速创建报表,具体步骤是:
(1)在“项目管理器”的“文档”选项卡中,选择“报表”;
(2)单击“新建”按钮,出现“新报表”对话框;
(3)在对话框中单击“报表向导”按钮,出现“向导选取”对话框;
(4)选择“报表向导”后,单击“确定”按钮,进入“报表向导”步骤1 “字段选取”;
(5)在“数据库和表”中选择“视图”,按照向导屏幕上的指令完成后面的操作,最后要保存报表文件(.frx),在保存对话框中输入
报表文件名。
(6)通过“预览”和“修改”,最终达到报表打印要求。
3.3.3 创建表单
在Visual Foxpro中表单是面向对象编程的主要工具,面向对象编的大多数工作在表单中进行。
设计表单的过程就是设计程序界面的过程。
通过表单的设计,设计出用户界面,然后运行它,使用户能够与系统进行交互操作。
表单显示了表和视图中的字段和记录,而且包含定位控件,在Visual Foxpro 中可以使用“表单向导”或“表单设计器”创建表单。
在本系统的设计中,主要使用“表单设计器”来设计表单,步骤如下:
一、启动“表单设计器”
(1)在“项目管理器”中选择“文档”选项卡,然后选择“表单”;
(2)单击“新建”按钮,现出“新建表单”对话框;
(3)单击“新建表单”按钮,进入“表单设计器”。
二、“表单设计器”窗口
“表单设计器”中有表单和九种工具栏,常用的有三个:
(1)“布局”工具栏
(2)“表单控件”工具栏,可以向表单添加各种对象。
(3)“属性”工具栏:设置、编辑表单对象的各种属性。
通过表单设计器既可以修改对象属性,也可以向对象添加控件。
3.3.4主程序的构造
主程序作为应用程序的入口,在VFP中是必需的,本软件的主程序主要完成初始环境设置、调用开始界面、进入事件循环、等待用户输入、结束时清理环境等一些基本的功能,具体如下:
**********************************************
*程序名: MAIN
*作用:主程序
*
* 作者:张琦
* 2003/05/02
**********************************************
HIDE WINDOW SCREEN
DO FORM FORMS\loader
DO PROGS\SETTING.PRG
DO FORM FORMS\LOGIN TO IN_FLAG
*返回用户的操作权限标志
loader.RELEASE()
IF P_FLAG!=0
*全程变量P_FLAG在表单LOGIN的INIT()中定义,记录着用户的操作权限DO FORM FORMS\MAINFORM WITH IN_FLAG
READ EVENTS
ENDIF
DO PROGS\RESET.PRG
QUIT
*********************************************
*程序名: SETTING
*作用:初始化设置
*
* 作者:张琦
**********************************************
SET SYSMENU OFF
SET SYSMENU TO
SET TALK OFF
SET NOTIFY OFF
SET CLOCK STATUS
SET PALETTE OFF
SET BELL ON
SET SAFETY OFF
SET ESCAPE ON
SET KEYCOMP TO WINDOWS SET CARRY ON
SET CONFIRM ON
SET EXACT ON
SET NEAR ON
SET ANSI OFF
SET LOCK ON
SET EXCLUSIVE OFF
SET MULTILOCKS ON
SET DELETED ON
SET OPTIMIZE ON
SET REFRESH TO 0,5
SET ODOMETER TO 100
set date to YMD
SET RESOURCE ON
SET CENTURY on
SET CURRENCY LEFT
SET CURRENCY TO '¥'
SET HOURS TO 12
SET DECIMALS TO 2
SET FDOW TO 1
SET FWEEK TO 1
SET MARK TO '.'
SET SEPARATOR TO ','
SET POINT TO '.'
*****************************
* 环境设置还原
* 程序名:RESSET.PRG
****************************** SET SYSMENU TO DEFAULT
SET SYSMENU ON
SET NOTIFY ON
SET EXCLUSIVE ON
SET SAFETY ON
*SET HELP TO
SHOW WINDOW SCREEN
*!* MODIFY WINDOWS SCREEN
3.4 学生管理系统运行
启动VFP6.0,在VFP中设置默认路径为“driver:\student”,打开项目文件“student.pjx”,可查看项目中的所有内容,运行程序“main.prg”,可启动“学生管理信息系统”。
第四章结束语
经过二个多月的设计和开发,学生信息管理系统基本开发完毕。
其功能基本符合用户需求,能够完成学生基本信息的录入、修改、删除,数据统计以及各类相关报表的打印。
同时也考虑到了学校实际情况以减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。
但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。
这些都有待进一步改善。
在本次毕业设计中,我从陈耀昌指导老师身上学到了很多东西。
陈老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。
他无论在理论上还是在实践中,都给于我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢他细心而又耐心的辅导。
另外,在系统开发过程中班主任吴英瑞老师以及同组的其他同学也给于我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成,这里我一并表示感谢。
参考文献
[1] 信息管理系统
侯炳辉主编中央广播电视大学出版社 2002年版
[2] Visual FoxPro 6.0 使用与实例揭秘
孟昭光吴兴兴高保禄董志锋编著人民邮电出版社 1999年版
[3] 数据库基础与应用
王利主编中央广播电视大学出版社 2002年版。