二级VF教案.docx
《二级VF教案.docx》由会员分享,可在线阅读,更多相关《二级VF教案.docx(94页珍藏版)》请在冰豆网上搜索。
二级VF教案
二级VisualFoxpro教案
(内部教参教学使用)
二级VF教案
1. 面向对象:
将小说拍成电视、画面是一种能看得见的真实效果。
2. 面向过程:
就是小说的文字,如人物的描述字符,是虚拟的。
所以VF所学内容中:
程序设计就是一个面向过程的内容。
而表单就是面向对象的内容。
可以说VF是针对数据库操作的。
如:
办公自动化中的Excel是最基本的数据库管理。
因此VF就是一个可以在计算机和服务器上运行的其中一种数据库管理系统。
而数据库管理系统(DBMS)是数据库系统的核心,是处理数据的有效工具。
一、什么叫数据:
是指存储在某种媒体上的能够识别的物理符号如:
数字、字母、文字、特殊字符组成的文本形式数据,还有图形、动画、影像、声音等多媒体数据,而最多、最常用的是文字数据。
注:
数据包括:
描述事物特性的内容和存储在媒体上的数据形式。
二、什么叫数据处理?
是指将数据转换成信息的过程。
三、数据处理的目的(其中核心问题是数据管理)
计算机对数据的管理发展阶段及特点:
经历了五个阶段:
1、人工管理阶段:
20世纪50年代;数据和程序不具有独立性,无法进行长期保存,数据不能共享,数据冗余大。
2、文件管理阶段:
20世纪50年代后期至60年代中后期,程序和数据有一定的独立性,程序和数据分开存储。
3、数据库系统管理;从20世纪60年代后期开始:
特点:
数据和程序具有较高的独立性,实现了数据共享,减少数据冗余(注:
但并不是完全避免数据冗余)
4、分布式数据库系统:
20世纪70年代后期,是数据库技术和计算机网络技术紧密结合的产物。
5、面向对象数据库系统:
20世纪80年代引入计算机科学领域的一种新的程序设计技术模型
特点:
就是按照人们认识世界和改造世界的习惯方法对现实世界的客观事物对象进行最自然的最有效的抽象和表达,同时又以各种严格高效的行为规范和机制实施客观事物的有效模拟和处理。
注:
在数据管理技术的发展过程中:
数据库系统可以实现数据共享。
一、数据库系统:
1、数据库(DB):
是存储在计算机设备上结构化的相关数据的集合,它不仅包括描述事物数据本身,而且还包括相关事物之间的联系。
可以被多个和户、多个应用程序共享
2、数据库应用系统(DBAS):
是指系统开发人员利数据库系统资源开发出来的。
就是在用中调用
3、数据库管理系统(DBMS):
是对数据库的建立,使用和维护进行管理。
4、数据库系统(DBS):
是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据提供数据处理和信息资源共享的便利条件。
注:
visualFoxpro中的数据库管理系统(DBMS)是操作系统支持下的系统软件;
数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是:
DBS包括DB和DBMS。
二、数据库系统的组成:
硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
注:
数据库系统的特点:
1、实现数据共享、减少数据冗余
2、采用特定的数据模型(即称为关系数据模型)
3、具有较高的数据独立性
4、有统一的数据控制功能。
一、数据模型:
1、实体:
客观存在并且可以互相区别的事物称为实体,实体可以是实际的事物,也可能是抽象的事件如:
学生、课本属于实际事物;订货、比赛是比较抽象的;
2、实体的属性:
描述实体的特性称为属性;如学生实体用(学号、姓名、性别、出生日期)等若干属性的描述。
3、实体集和实体型:
属性值的集合表示一个实体,而属性的集合表示一种实体的类型称为实体型,同类的实体的结合称为实体集。
所以在VF中“表”用来存放同一类实体,即实体集。
注:
表中包括若干字段,字段就是实体的属性。
字段值的集合组成表中的一条记录,代表一个具体的实体,即每个纪录表示一个实体。
一、实体间联系及联系的种类:
1、一对一:
指主表中的每一条记录只与相关表中的一条记录相关联。
2、一对多:
指主表中的每一条记录与相关表中的多条记录相关联。
3、多对多:
表现为一个表中的多个记录在相关表中同样有多个记录与其匹配
二、数据模型:
1、层次数据:
用树型结构表示实体及其实体间联系的模型称为层次模型;像倒挂的树,用树型结构表示;
2、网状模型:
用网状结构表示;
3、关系模型:
(非格式模型)用二维表表示)
三、关系数据库:
一个关系是由一个二维表来定义的,一个表就是一个关系;也就是说关系数据库是由若干表格组成的,在表格中:
每行代表着每个记录,而每列则代表着该表存在的不同属性。
1、关系:
一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。
关系文件扩展名为.dbf,称为“表”
2、元组:
水平方向的行称为元组,每一行就是一个元组,元组对应存储文件中的一个具体记录,一个元组对应表中的一个记录。
3、属性:
二维表中垂直方向的列称为属性,每一列都有一个属性名,在VF中属性表示为字段名,每个字段的数据类型、宽度等在创建表的结构时就规定了。
在VF中一个属性对表中的一个字段,属性名对应字段名,属性值对应于各条记录的字段值。
4、域名:
字段的取值范围:
指不同元组对同一个属性的取值所限定的范围。
5、关键字:
属性或属性的组合能惟一标识各个元组(实体)
6、外部关键字:
在本表中不是的关键字,而在另外一个表中是关键字,本表的这个字段(属性)称为外部关键字。
四、关系的特点:
1、关系必须规范,表中不能在含表;
2、关系中不允许有完全相同的元组(记录)存在;
3、关系中不允许有相同的属性名(字段名)存在;
4、关系中元组的次序无关紧要;
5、关系中属性的次序元关紧要;
注:
实际关系模型:
一个具体的关系模型由若干个关系模式组成。
一、关系运算:
1 传统的关系运算:
并、差、交;
1、并:
两个相同结构关系的并是由属于这两个关系的元组组成的集合。
如:
有两个结构相同的学生关系R1、R2,分别存放两个班的学生,把第二个班的学生记录追加到第一个班的学生记录后面就是这两个关系的并集。
2、差:
设有两个相同结构的关系R和S,R差S是结果是由属于R但不属于S的元组组成的集合,即差运算的结果是从R中去掉S中也有的元组。
3、交:
两个具有相同结构的关系R和S,是由既属于R又属于S的元组组成的集合。
既运算的结果是R和S的共同元组。
1 专门的关系运算:
选择、投影、联接;
1、选择:
从关系中找出满足条件元组的操作,是针对行的运算。
如;for\where\while等是选择运算。
选择条件以逻辑表达式给出,使得逻辑表达式的值为真的元组被选取,即从水平方向抽取记录形成新的关系,其关系模式不变如:
从学生表中找出某同学的的考试成绩;
2、投影:
从关系中指定若干个属性组成新的关系,是针对列的运算,如:
fields\select等是连接运算。
是从列的角度进行的运算,相当于对列进行垂直分解。
如:
从学生表中查询学员的所有姓名、性别、出生日期的操作。
3、连接:
将两个关系拼接成一个更宽的关系,是针对横向运算,生成的关系中包含满足联接条件的元组,其联接过程是通过联接条件来控制的,联接条件中将出现两个表中的公共属性名,或得具有相同语义、可比的属性,联接是满足条件的所有记录。
如:
join\on等是连接运算。
如:
设有职工和工资两个表,要查询基本工资高于800元的职工姓名,性别,职称、基本工资、实发工资、奖金。
注:
选择、投影运算对象是一个关系,而连接运算对象是多个关系。
这三种关系运算的最终结果是关系(二维表)
自然连接:
是指去掉重复属一的等值连接。
其义意为:
在联接运算中,按照字段值对应相等为条件进行的联接操作称为等值联接,自然联接是去掉重复属性的等值联接,自然联接是最常用的联接运算。
1 程序设计的步骤:
设计原则:
1、关系数据的设计应遵从概念单一化“一事一地”原则。
2、避免在表之间出现重复字段。
3、表中的字段必须是原始数据或基本数据元素。
4、用外部关键字保证有关联的表之间联系。
二、设计步骤:
1、需求分析、
2、确定需要的表;
3、确定所需字段;
4、确定关系;
5、设计求精
一、安装VisualFoxPro的要求:
注:
VisualFoxPro6.0是一个32位数据库开发系统;
1、CPU:
带有486DX/66MHZ处理器,最好使用Pentium以上的处理器。
2、内存储器:
16MB以上的内存,最好使用24MB的内存;
3、硬盘空间:
最小(典型)安装需要85MB,最大安装需要90MB。
4、显示器:
最好使用VGA或更高分辨率的监视器。
5、操作系统:
需要在Windows95/98(中文版)、WindowsNT4.0(中文版)或者更高版本的操作系统运行;
二、启动VF的方法:
三、窗口的组成:
标题栏、菜单栏、工具栏、命令窗口、状态栏
四、VF工具栏的设置:
分为系统工具栏和用户自定义工具栏两种;
两种工具栏的区别:
3 用户自定义工具栏即可以修改,也可以删除;
4 系统工具栏只能修改但不能删除;
5 工具栏的设置:
单击“显示”菜单——工具栏进行设置;
五、VF命令窗口的显示与隐藏:
1、单击命令窗口右上角关闭按钮可以关闭它,通过“窗口”菜单下的“命令窗口”选项可以重新打开它;
2、单击常用工具栏上的“命令窗口”按钮进行切换;
3、按Ctrl+F4组合键隐藏命令窗口,按Ctrl+F2组合键显示命令窗口。
六、退出VF的方法:
1、用鼠标单击VF标题栏最右面的关闭窗口按钮。
2、从“文件”下拉菜单中选择“退出”选项(并不是关闭)。
3、单击主窗口左上角的狐狸图标,从窗口下拉菜单中选择“关闭”或者按Alt+F4键;
4、在命令窗口中输入Quit命令——回车即可。
一、项目管理器:
1、什么叫项目管理器?
是指文件、数据、文档和VF对象的集合,是处理数据和对象的主要组织工具;
所以在VF中可以创建一个项目文件来集中管理数据和程序。
二、创建项目的方法:
1、文件——新建——项目——新建文件
2、单击“工具栏”上的“新建按钮”——项目——新建文件
3、在命令窗口中输入“createproject”回车
项目管理器的扩展名为:
.pjx
三、项目管理器中各选项卡及包含的内容:
1 数据选项:
包括数据库、查询、视图和自由表;
2 文档选项卡:
包含表单、报表和标签;
3 类选项卡:
用于创建VF的面向对象的事件驱动程序(子类)
4 代码选项卡:
包括扩展名为prg的程序文件,函数库和应用程序.APP文件。
5 其他选项卡:
包含文本文件、菜单文件和其他文件(如:
.bmp,.ico文件等)
6 全部选项卡:
包含以上5个选项卡中的所有内容。
四、项目管理器中各按钮的功能:
有:
新建、添加、移去、删除、修改等;
数据库:
主要用于管理添加到数据库中的表:
是结构化相关文档和数据的集合,一个数据库可以包含一个或多个表或相关视图的容器。
其扩展名为:
.dbc。
一、数据库的创建方法:
1 在项目管理器中创建;
2 通过新建对框;
3 使用命令创建:
createdatabase[<文件名>]
二、打开数据库的方法:
1、使用项目管理器打开;
2、通过新建对话框打开;
3、使用命令打开:
opendatabase[<文件名>]
三、修改数据库(打开数据库设计器的方法)
1 使用项目打开;
2 使用命令打开:
modifydatabase[<文件名>]
四、关闭数据库的方法:
1 直接关闭;
2 在命令行输入closedatabase(all)回车;其中all用于关闭所有打开的数据库及数据库中的表、自由表、索引等。
一、创建数据库表:
注:
表分数据库表和自由表,其文件扩展名都为:
.dbf。
数据库表是指属于某个数据库的表,自由表是指不属于任何数据库的表。
⏹打开项目管理器数据库表新建;
⏹使用新建命令或者使用Create命令建立数据库;
1 方法:
opendatabase打开数据库——create建立表。
注:
如果没有先用opendatabase打开数据库,而是直接用create命令建立表也可以,因为它不包含有些在数据库中才能实现的功能,这时建立的表不是数据库中的表,而是自由表;
新建的表处于打开处状态可以直接进行录入及修改表结构操作,如果以后进行操作:
1 可以直接在盘符中找到打开;
2 在命令窗口中输入USETableName(表名)——单击“显示——浏览”或者在命令行输入BROWSELASE回车即可。
二、数据库表的字段属性:
1、字段显示属性:
⏹字段名⏹是字段的唯一标⏹志,⏹由1—128个非空字符组成;
⏹字段名⏹即关系的属性名⏹或表的列名⏹。
一个表由若干列(字段)构成,⏹每个列都必须有一个惟一的名⏹字即字段名⏹
⏹字段名⏹可以是汉字或合法的西文标⏹识符;
注:
自由表:
2 自由表字段名最长为10个字符。
3 数据库表的字段名最长为128个字符。
4 字段名必须以字母或汉字开头。
5 字段名可以由字母、汉字、数字和下划线组成。
6 字段名中不能包含空格。
注:
字段类型决定了存储的数据类型,字段宽度决定了存储数据的宽度和取值范围。
字段的类型(字段变量)
字段类型
宽度
实际定义宽度
字段类型
宽度
实际定义宽度
字符型C
≤254
自定义
双精度(B)
≤20位
8
数值型(N)
≤20位
8
整型(I)
≤10位
4
浮动型(F)
≤20位
8
逻辑型(L)
1
1
日期型(D)
8
8
备注型(M)
4
不受限制
日期时间型(D)
14
14
通用型(G)
4
不受限制
货币型(Y)
≤20位(bit)
8
注:
⏹备⏹注型和通用型内容存放在扩展名⏹为:
.fpt文件中。
⏹通用型可以存放图片等多媒体内容,而⏹备⏹注型不⏹能存放图片等。
⏹记住各字段类型及字母表示、宽度。
注:
NULL:
空值表示字段或变量还没有确定值。
三、设置字段的显示格式:
格式确定了一个字段在数据浏览窗口、表单或报表中的显示方式。
可以在格式文本框中输入所需要的格式码,常用的格式用。
在当前的“工具”——选项下进行设置;
四、设置字段的有效性:
规则:
即字段有效性规则,用来指定该字段的值必须满足的条件,为逻辑表达式;
信息:
即违背字段有效性规则时的提示信息,为字符串表达式;
默认值:
即字段的默认值,可以减少数据输入的工作量,类型以字段的类型来确定。
一、对数据库表的操作:
⏹添加数据库表:
一个数据库中可以包括一个或多个相关联的数据表,⏹可以向数据库中加入任何已经建立的表,⏹但这个表不⏹能属于其他的数据库,⏹因为同⏹一个表在同⏹一时间只能属于一个数据库。
如果要把其他数据库中的表加入到一个新的数据库中,⏹可以先把要加入的表从原来的数据库中移出。
1 注:
添加数据库表的方法——先打开数据库——右击——添加表——选中要添加的表——确定即可。
2 删除数据表:
在要删除的数据表上右击——移去即可。
如果单击删除,该表将从磁盘上删除。
二、修改表结构:
1、在项目管理器中进行修改;
2、在数据库设计器中进行修改;
3、使用命令进行修改:
如果当前表不在数据库设计器中,则首先用USE命令打开要修改的表——然后输入modifysetructure(此命令后不能有任何参数,其功能是修改当前表的结构)打开表设计器进行修改操作即可。
2 修改已有的字段:
用户可以直接修改字段的名称、类型和宽度。
3 增加新字段:
要在原来的字段后增加新的字段,可以直接将光标移动到增加新字段,然后输入新的字段名、字义类型和宽度;如果要在原来的字段中间插入新的字段,则首先将光标定位在要插入新字段的位置,然后单击“插入”按钮,这时会插入一个新的字段,输入新的字段名、定义类型和宽度。
4 删除不用的字段:
若要删除某个字段,首先将光标定位在要删除的字段上,然后单击“删除”按钮即可。
三、对表的基本操作:
1、打开并游览表有多种方式:
⏹在项目管理器中将数据库展开至表并选中要浏览的表单击❽浏览❾即可。
⏹在数据库设计器中选择要操作的表从数据库中选择❽浏览❾
⏹在命令窗口中,⏹首先用USE打开要操作的表——输入BROWSE命令来浏览表;
即可对表进行浏览、添加、删除和修改操作。
2、浏览表的操作:
A:
下一记录:
下箭头键;
B:
上一记录:
上箭头键;
C:
下一页:
BageDown键;
D:
前一页:
PageUP键;
E:
下一字段:
Tab键;
F:
前一字段:
Shift+Tab键;
还可以使用四个方向键;
3、用命令对表进行操作:
修改表中的数据:
A:
追加记录命令格式:
APPEND[BLANK]
APPEND:
在表文件的尾部追加任意多少记录,并且进入交互式状态,等待用户输入数据.
APPENDBLANK:
在表文件尾部追加一条空白记录。
B:
插入记录的命令格式:
INSERT[BEFOE][BLANK]
INSERT:
在当前记录的后面插入任意多少记录,并且进入交互式状态等待用户输入数据。
INSERTBEFOR:
在当前记录的后面插入任意多少记录,并且进入交互式状态等待用户输入数据。
INSERTBLANK:
在当前记录的后面插入一条空白记录。
INSERTBEFOREBLANK:
在当前记录的前面插入一条空白记录。
C:
删除记录:
在VF中删除记录分为逻辑删除和物理删除两个步骤。
逻辑删除是指给表文件中的记录打上一个删除标记(可以恢复),但表中记录仍然存在,物理删除是指将表文件中的数据彻底删除(不能恢复)。
1 逻辑删除记录命令格式:
DELETE[范围]|[FOR<条件>][范围]⇔[ALL|NEXTN|REST|RECORDN]
ALL:
表示所有。
N:
指文件中的记录号,而不是表中的第几行。
NEXTN:
下面多少条记录。
REST:
从当前记录开始到最后一条记录(剩下的)
RECORDN:
指定的记录。
DELETE:
逻辑删除当前表中的当前记录一条。
DELETEALL:
逻辑删除当前表中所有记录。
DELETEFOR<条件>:
逻辑删除当前表中满足条件的记录。
例如:
逻辑删除当前表中职工编号为003的员工:
DELETEFOR职工编号=003
物理删除记录命令:
3 PACK:
物理删除当前表中打上逻辑删除标记的所有记录。
4 ZAP:
物理删除当前表中所有的记录(不管是否打上逻辑删除标记,但表结构并没有删除)
注:
DELETEALL和PACK两个命令集合等价于ZAP功能
D:
恢复记录的删除:
RECALL[FOR]+逻辑表达式:
如:
将当前表中已经删除的女生记录恢复:
RECALLFOR性别=”女”
1 修改记录命令格式:
REPLACE<被修改的字段名>WITH<表达式>[FOR<条件>]
注:
没有FOR<条件>和<范围>默认只替换当前记录一条。
如果有FOR<条件>和<范围>替换指定范围当中的满足条件的记录(有FOR<条件>没有<范围>时,默认范围是ALL)
例:
将当前表中所有学生的年龄加2。
REPLACEALL年龄WITH年龄+2
2 显示记录命令:
LIST和DISPLAY
LIST:
的默认范围是所有记录。
当SETDELETED为ON时,LIST不显示带删除标记的记录。
DISPLAY:
默认显示当前记录。
TOPRINTER,DISPLAY:
是将结果定向输出到打印机;PROMPT:
可以调整打印机的设置;TOFILEFILENAME:
是将结果定向输出到指定的文件中。
例:
显示XS表中的女生记录;
USEXS打开学生表
LIST姓名,政治,数学FOR性别=”女”即可显示女生的记录。
4 查询定位(或者叫记录指针定位)
5 直接定位的命令:
GOTON|TOP|BOTTOM
说明:
N指表文件中的记录号,而不是表中的第几行;
TOP:
表中的首记录即第一行记录,而不是起始标识BOF。
BOTTOM:
表中的尾记录即最后一条记录,而不是结束标识EOF;
例:
USEXS打开学生表
GOTOP将记录指针定位在表的第一个记录上
GOBOTTOM:
将记录指针定位在表的最后一个记录上。
相对定位命令格式:
SKIPN
N:
表示相对当前记录移动N条记录即N行,正数往下移负数往上移,但当遇到起始标识BOF或结束标识EOF时,则停止移动;
例:
USEXS打开学生表;
SKIP1
?
RECNO()显示2
查询定位命令格式:
LOCATEFOR<条件>
将记录指针定位到从上至下第一个满足条件的记录上。
如果表中没有满足条件的记录时,记录指针则指到结束标识EOF。
如需继续定位到下一个满足条件的记录上用CONTINUE继续查找。
注CONTINUE不能单独使用,必须跟LOCATEFOR联用。
其格式为:
LOCATEFOR查询定位的表达式
DOWHILEFOUND()
//处理……
CONTINUE
ENDDO
注:
当用LOCATE命令发现一个满足条件的记录之后,可CONTINUE命令,从而在表的剩余部分寻找其他满足条件的记录,可重复的执行CONTINUE命令,直到到达表尾。
例:
在下列示例中,搜索所有女生的记录,然后显示总数。
USEXS
STORE0TOGNCOUNT
LOCATEFOR性别=”女”
DoWHILEFOUND()
GNCOUNT=GNCOUNT+1
?
姓名
CONTINUE
ENDDO
?
“女生总数:
”+LTRIM(STR(GNCOUNT))
索引:
是由记录指针构成的文件,当在表文件中建立索引后表中记录的物理顺序(记录号)不会发生改变,只是逻辑顺序发生改变。
也称为逻辑排序。
2 索引文件的扩展名为:
.CDX
注:
索引文件具有如下特点:
4 同一个索引文件中可以有多种排序方式,有多个索引关键字。
5 在对表进行添加、删除、更改操作时,索引文件自动维护。
种类
要求
特点
主索引
是关键字才能建立主索引
只有数据库表才能建立,并且只能建立一个主索引
候选索引
是关键字才能建立主索引
一个表可以