高职院校Visual FoxPro课程教学方法探讨
曹耀辉
摘要:针对高职院校,基于“Visual FoxPro程序设计”课程的多年教学经验,文章提出一些行之有效的教学方法与经验,以便对青年教师能有所借鉴,同时对广大学生学习能够起到很好的指导作用。关键词:Visual FoxPro;程序设计;教学;方法
尽管目前“Visual FoxPro程序设计”教材很多,但对于高职学生来说,很难遇到一本通俗易学的教材。教师在讲授内容时,也感到不太好讲,多数学生学不懂,普遍学得比较肤浅,不够扎实。作者针对这种情况以及自己长期从事“VisualFoxPro程序设计”的教学历程,提出如何讲授好这门课程以及学生如何能学好这门课程的一些经验。
多数学生的学习方法不恰当,学习时抓不住重点,一开始也想学好这门课程,学习热情比较高涨,但是学习时一遇到几个困惑问题,就变得灰心丧气,丧失学习这门课程的信心。作为教师,应该引导学生解决这些困扰他们的关键问题,树立学生的自信心,激发学生学习的热情和兴趣,从而使他们能够比较顺利地学完并学好这门课程。下面就这门课程的特点和几个关键的知识点,加以辨析,探究这门课程的教法,以便广大学生能够把握这门课程的主要知识点,从而更深刻地理解这门课程。
1 理解常量、变量、表达式及类型
顾名思义,常量就是一个不变的值,变量的值是能够改变的,尽管简单,学生一听就懂,可是学生在学到后面应用时往往就连最简单的概念都忘了。因此,教师在讲授时千万不能讲完概念就一笔带过,还要给学生多举一些有代表性的例子,比如23,“X-”,{^1998-12-25},X,姓名,AGE 1等,这样就引出常量与变量的表示,同时引出常量与变量的类型,多举实例予以说明,最后一定要告诉学生常量、变量和函数都属于表达式的范畴,都算作表达式的特例。
2 搞清数据库文件、表文件及其关系
作为重点,教师一定要给学生讲透数据库、数据表、自由表及其关系,讲透数据库文件、数据表文件、自由表文件及其关系。很多学生学完数据库后,思想还是没有头绪,分不清数据库文件、表文件的关系,一些同学错误地认为数据库表文件就存放在数据库文件中,移出成为自由表以后才不包含在数据库文件中,一旦自由表添加到数据库后就成为数据库表,从而此表文件就存放在数据库文件中,其实这个理解是不对的。正确的理解应该是,使用数据库时逻辑上认为自由表不包含在数据库中,一旦自由表添加到数据库后就成为数据库表,隶属于该数据库,物理上数据库表的具体数据还是不在包含它的数据库文件中,只是将指向表文件的指针存放到了包含它的数据库文件,数据库文件仍然不直接包含表文件中的数据,只是建立了数据库文件和数据表文件的逻辑联系,这样才符合数据库减少冗余的思想。
3 多表操作中理解工作区的概念及数据工作期的用法
教师应重点讲清讲透数据工作区的本质,既然在同一时刻一个工作区只能打开一个表文件,那么在进行多表操作时肯定要用到多个工作区,要教会学生用命令进行工作区的选择,熟练掌握SELECT命令,理解当前工作区的概念,多用形象比喻,比如多个教师为多个班级上课,就某个教师来说,在某个时刻有一个当前教室。在给学生操作演示时,可借助于数据工作期这一有力的工具来说明,在数据工作期窗口中,依次打开几个表文件,不断切换当前工作区,注意观察数据工作期窗口中的每一个提示信息,从而直观地给学生说明了工作区、当前工作区、非当前工作区的概念。
4 理解索引含义及索引文件
首先,教师要给学生讲清排序与索引的区别。告诉学生Visual FoxPro索引是由指针构成的文件,这些指针逻辑上按.照索引关键字值进行排序。索引文件和表文件分别存储,不改变表中记录的物理顺序。实际上创建索引是创建一个由指向.dbf文件记录的指针构成的文件。若要根据特定顺序处理表记录,可以选择一个相应的索引。
其次,一定要给学生讲清索引的4种类型:主索引、候选索引、唯一索引和普通索引。可以打比方、多举例,切忌平铺直叙,就概念讲概念。比如在学生情况表中通常将学号、姓名等作为候选索引(注意,当表中有不同记录的姓名字段取值相同时,姓名也就不能作为候选索引,因为候选字段在不同记录不允许出现重复值);在某个时刻候选索引可以有多个,但主索引只能有一个,可以从候选索引中选取一个作为主索引,通常将学号作为主索引;而唯一索引是指表中该索引字段值相同的记录只取一个进入索引表,比如看学生情况表中有多少个班级,即可根据班级建立唯一索引;而普通索引允许字段出现重复值。
最后,要给学生强调什么是单项索引(扩展名为IDX),什么是复合索引(扩展名为CDX),在复合索引中要分清结构复合索引和非结构复合索引。重点让学生掌握结构复合索引及其特性,比如在打开表时自动打开。
5 SQL语句中应掌握主要短语的含义
SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。SQL语言是一种高度非过程化的语言,它不必告诉计算机“如何”做,只需用户告诉计算机要“做什么”,SQL语言就可以将要求交给系统,自动完成全部工作。既然SQL语句十分重要,其作用非常广泛,那么教师就要将SQL语句格式中的主要短语给学生讲清楚,当然,必须列举大量的具体实例,同时采取多媒体投影演示教学,可以验证理论分析结果和实际运行结果的统一。SQL语句格式中的主要短语及含义如下:
SELECT短语说明要查询的数据,通常其后跟多个字段。
FROM短语说明要查询数据的来源表。
WHERE短语说明要查询的条件,通常其后跟一个逻辑表达式。
GROUP BY短语用于对查询结果进行分组。
HAVING短语一般跟随GROUP BY短语使用,用来限定分组必须满足的条件。
ORDER BY短语用来对查询的结果进行排序。
注意,最易混淆的就是wHERE短语和HAVING短语,以致许多教材介绍有误,比如,高等教育出版社于2001年出版的《全国计算机等级考试二级教程Visual FoxPro程序设计》教材中提到,“HAVING短语必须跟随GROUP BY短语使用,它用来限定分组必须满足的条件”,作者通过大量实验证明此说法欠妥。正确的说法应该是“sOL语句中若无GROUP BY短语时,WHERE短语和HAVING短语等价;若有GROUP BY短语时,WHERE短语和HAVING短语才有所区别,此时WHERE短语说明要查询的条件,HAVING短语用来限定GROUP BY分组必须满足的条件”。
6 分清查询与视图的区别
查询和视图是检索和操作数据库的两个基本工具和手段,它们都是根据基本表定义的,定义方式十分类似。从普通检索数据的角度来讲,查询和视图基本具有相同的作用。
二者的区别是,查询可以定义输出去向,可以将查询的结果灵活地应用于表单、报表、图形等各种场合,但是利用查询不可以修改数据;而利用视图可以修改数据。教师在讲授这个关键知识点时千万不能一笔带过,也不能照本宣科,而应选用好一两个表,通过实例用多媒体投影演示,才能给学生留下较为深刻的印象。
7 程序设计中掌握三大基本结构
教师在讲授程序设计时,一定要讲清程序的三大结构,即顺序结构、选择结构和循环结构。当然顺序结构是最简单的程序结构,教师可以简单介绍,重点放到选择结构和循环结构的讲解上,难点放到循环结构的讲解上。在讲解循环结构时,应先画出循环流程图,围绕流程图讲解后,再举几个有代表性的典型例子,比如利用循环结构编程计算100以内自然数之和,可以采取从小到大的顺加算法,亦可采用从大到小的倒加算法,将同一问题的多个算法写出来,配合循环流程图讲解,不仅能够讲得清楚,而且能启发学生的创造性思维。
8 表单设计中分清Caption属性与Name属性
笔者发现好多学生经常将Caption属性与Name属性混为一谈,教师在讲述表单属性时,一定要将Caption属性与Name属性的区别给学生讲清楚。Caption属性指的是对象的标题文本,显示在屏幕上以帮助使用者识别各对象;而Nanle属性指定在代码中用以引用对象的名称。
特别注意,在代码设计时,应该用Name属性值,而不能用Caption属性值来引用对象。在同一作用域内两个对象(如一个表单内的两个命令按钮)可以有相同的Caption属性值,但不能有相同的Name属性值。
9 结语
在Visual FoxPro程序设计课程的教学中,文章以这门课程的特点和几个关键的知识点作为主线,加以辨析,分析了教材知识点教法,以便广大高职学生能够把握这门课程的主要知识点,从而更深刻地理解这门课程,进而启发广大学生的学习思维,最后达到提高广大学生分析问题和解决问题能力的目的。