Vfp期末复习1.docx
《Vfp期末复习1.docx》由会员分享,可在线阅读,更多相关《Vfp期末复习1.docx(14页珍藏版)》请在冰豆网上搜索。
Vfp期末复习1
WWW.YlmF.CoM
Vfp期末复习
主编
熊茂权
2012/6/8
[在此处键入文档的摘要。
摘要通常是对文档内容的简短总结。
在此处键入文档的摘要。
摘要通常是对文档内容的简短总结。
]
学院
年级
姓名
Vfp期末复习
第一章(10分)
1实体与实体之间的联系可分3类:
一对一(1:
1)、一对多(1:
n)、多对多(n:
n)(选)p4
2常见的数据库模型主要有3种:
层次模型、网状模型、关系模型p4
3在关系数据库中表达数据间的关系,采用的是二维表格形式p4
4专门的关系运算有选择、投影、连接。
P6
5Vfp的三种工作方式:
命令工作方式、菜单工作方式、程序工作方式。
P9
6项目文件扩展名.PJXp10
7系统运行环境的设置
在vfp中,可利用(工具)菜单的“选项”对话框设置系统运行环境p11
8数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是DBS包括DB和DBMS.p19
9元组:
二维表水平向上的每一行在关系中称为元组。
在vfp中,一个元组对应表文件中一个记录p4
记录:
字段的有序集合称为记录
字段:
标记实体属性的命名单位称为字段或数据项。
它是可以命名的最小信息单位,所以又称为数据元素或初等项。
10关系是否可用二维表表示.(对)
第二章(15分)
1将数学式子用vfp表达式表示P29例;一元二次方程求根公式。
X=(-b+sqrt(b^2-4*a*c))/2*a(若题意是减号,则负b后为减号)
2Vfp中使用的表达式有算术表达式、字符表达式、日期和时间表达式、关系表达式、逻辑表达式等。
其运算优先顺序是算术型、字符型、关系型、逻辑型。
P39
3字符串的加减运算(大题)
运算符+表达式:
<字符串1>+<字符串2>
含义:
把两个字符串连接成一个新的字符串。
运算符-表达式:
<字符串1>+<字符串2>
含义:
把<字符串1>尾部空格移到<字符串2>的尾部,然后再连接起来形成一个新的字符串。
4a绝对值函数p26(例2.19)
格式:
ABS(<数值表达式>)
Eg?
ABS(-5),ABS(30-20)
结果显示:
510
b求字符串长度函数p31
格式:
LEN(<字符表达式>)
功能:
求字符串长度,即字符串所包含的字符个数。
若时空串,则长度为0。
函数值为数值型。
如?
LEN(”foxpro”),LEN(“程序设计”)
结果显示:
68
?
LEN(SPACE(3)+”重庆”)
结果显示:
7
c取子串函数p31
格式:
right(<字符表达式>,<数值表达式>)
Substr(<字符表达式>,<数值表达式>[,<数值表达式2>])
功能:
right()从(字符表达式)右边的一个字符开始截取子串,字串的长度由<数值表达式>决定.若<值表达式的值>大于字符串的长度,则给出整个字符串。
若<值表达式的值>小于或等于0,则给出一个空字符串。
Substr()对字符表达式从<数值表达式1>指定的起始位置开始截取字串,字串的长度由<数值表达式2>的值决定.若<数值表达式2>省略或<数值表达式2>的值大于从起始位置到原字符串尾部的字符长度,则从起始位置到原字符表达式末尾截取子串。
若<数值表达式1>为0.或者<数值表达式2>的值小于或等于0,则函数值为空字符串。
Store“visualfoxpro”tox
y=”计算机程序设计”
?
right(x,6),right(y,8),right(y,20),right(x,-2)
结果显示:
foxpro程序设计计算机程序设计空字符串
d字符串替换函数p32
格式:
STUFF(<字符串表达式1>,<数值表达式1>,<数值表达式2>,<字符串表达式2>)
功能:
用<字符串表达式2>值替换<字符串表达式1>中由<数值表达式1>和<数值表达式2>指明的一个子串。
替换和被替换的字符个数不一定相等。
若<数值表达式1>的值等于或小于0,<字符串表达式2>则插在由<数值表达式1>指定的字符前面;若<数值表达式2>的值是空串,那么<字符串表达式1>中由<数值表达式1>和<数值表达式2>指明的一个子串被删去。
如STUFF(“中国重庆地图”,5,4,“上海”),STUFF(“中国重庆地图”,5,0,“上海”)
结果显示:
中国上海地图中国上海重庆地图
STUFF(“中国重庆地图”,5,4,“”),STUFF(“中国重庆地图”,5,8,“上海”)
结果显示:
中国地图中国上海
5常用数据类型的常量主要包括:
字符型、数值型、逻辑型、货币型、日期型、日期和时间型。
P22(注意详细内容)
6同名内存变量与字段变量的引用。
P25
Vfp中可直接使用内存变量名对内存变量进行访问,但在与字段变量同名诗,银子段变量有限,应采用如下格式:
M.内存变量名或M->内存变量名。
7命令dimension和declare功能完全相同。
说明数组后,数组元素的初值均为逻辑值.F.p27
8定义数组内存变量p27
格式:
dimension|declare<数组名1>(<下标上界1>,[<下标上界2>]),<数组名2>(<下标上界3>,[<下标上界4>])
功能:
定义一个或多个一维数组或二维数组
如dimensiona(3),b(2,2),c=
(2)
a
(1)=“重庆”
a(3)={^2008-10-01}
b(1,2)=a
(1)
b(2,2)=123
b(2,1)=10.5
c=2
?
a
(1),a
(2),a(3),b(1,2),b(2,2),b
(2),b(4),c
(1),c
(2)
结果显示:
重庆.F.10/01/08重庆123重庆12322
9内存变量的赋值p25
格式:
STORE<表达式>to<内存变量表>
功能:
首先计算表达式的值,在赋值给多个内存变量。
说明:
store命令中的<内存变量表>可包含多个内存变量,之间用“,”分隔。
1020%10和mod(20,10)的运算结果0(大题)p29
格式:
mod(<数值表达式1>,<数值表达式2>)
功能:
<数值表达式1>除以<数值表达式2>所得出的余数。
余数的符号与表达式相同。
若被除数与余数同号,则函数值为两数相除的余数;若被除数与余数异号,则函数值为两数相除的余数再加上除数的值。
如?
Mod(23,7),Mod(23,-7),Mod(-23,7),Mod(-23,-7),Mod(21,-3)
结果显示:
2-55-20
11世纪值显示开关设置p23-24
格式:
SETCENTURYON|off
说明:
用于设置显示日期型数据时是否显示世纪,即是否用4位数字显示年份。
Off(默认值)设置年份为2位数字表示。
12数据类型测试函数p38(表2.2很重要)
?
VARTYPE(TIME())
TIME()返回当前系统时间,形式为hh:
mm:
ss,函数值为字符型
如x=TIME()
?
VARTYPE(y)
结果显示:
c
第三章(25分)
一1索引的种类:
主索引、候选索引唯一索引、普通索引。
(填空)
主索引的特点:
a一种只能在数据库表中而不能在自由表中建立的索引;b在指定的字段或表达式中,主索引的关键字绝对不允许有重复值。
主要用来在永久关系中的主标与被引用表建立参照完整性设置。
c一个表只能创建一个主索引。
(概念:
一种只能在数据库表中而不能在自由表中建立的索引。
)p62
2工作区是一个带有内存编号的区域。
(概念)(简答)
选择工作区的方法是“select0”表示尚未使用的编号最小的工作区为当前工作区。
p69
3排序和索引的区别和联系P61-62
区别:
a排序生成新的文件,而索引不是,只生成一个索引文件;
b索引不同,它不改变记录的物理顺序,而是按照某个索引关键字(或表达式)建立记录的逻辑顺序。
(总括:
排序是将文件按排序后的格式重新写回磁盘,而索引并不改变文件中记录的物理顺序,只是用一个索引文件通过其它一些方法使文件中记录在内存中有序。
)
联系:
它们都以增加一个文件为代价,单索引文件包括关键字和记录号两个字段,比被索引的表小很多;索引起作用后,当表中记录发生变化,索引文件会自动更新,所以索引比排序更广泛。
4临时关联和永久关系的区别:
表间的“永久关系“保存在数据库中,显示为表索引间的连接线,并可在”查询设计器“或”视图设计器“自动作为默认联系条件保持数据库表之间的联系。
但永久关系不能控制不同工作区记录指针的联动,所以在开发应用程序时,还需要能控制表间记录指针联动的临时联系,这种临时联系称为关联(或临时关联)。
P71
二以下几题为判断:
1对一个设置了多个索引的表来说,当前起作用的索引只能有一个。
(对)p66
2使用delete命令可以将表中的记录物理删除掉。
(错)
3select0表示选取第0号工作区为当前工作区。
(错)
4主索引不能在自由表里创建。
(对)p62
5能够控制表间记录指针联动的联系称为永久联系。
(错)
6一个工作区中,可以同时打开多个表。
(错)p69
7主索引不能在自由表里创建。
(对)p62
8VFP只能提供10个工作区,指定的别名为字母A~J。
(错)p69
9分类汇总之前必须先对分类字段排序。
(对)
10数据库表的字段或记录的有效性规则的设置,都可以在表设计器中进行。
(对)
三填空及选择:
1若locate发现一个满足条件的记录,FOUND()函数的返回值为“真”,eof()函数的返回值.F.p37
2表文件的扩展名.dbf
3表分为自由表和数据库表.
4记录移动命令p56
格式:
Skip[<数值表达式>]
功能:
从当前位置开始移动记录指针,<数值表达式>说明移动记录的个数。
5物理删除(真正从磁盘上删除)带有删除标记记录的命令是PACK。
(说明:
物理删除的记录不能恢复)p55
6命令“select0”表示选择尚未使用的编号最小的工作区为当前工作区。
(功能:
选择一个工作区为当前工作区)P70
7表与表之间建立关联,一般在父表中设置主索引,在子表中设置普通索引
8一对多的关系式通过主表的主索引和子表的普通索引实现的。
9MODIFYSTRUCTURE命令的功能:
修改表结构p48
(MODIFYDATEBASE命令的功能:
打开指定数据库的“数据库设计器”)
10打开表的命令use
11记录定位命令p56
格式:
Go[to]top|Gobottow
功能:
记录指针定位在第一条记录或末尾记录
说明:
gotop将记录指针指向表的第一条记录
Gobottow记录指针指向表的最后一条记录
12创建表的临时关联命令为setrelationtop71
131)LOCATE命令
格式:
LOCATE[范围][FOR<条件>]
功能:
按顺序搜寻数据表,从而找到满足指定条件的第一个记录。
2)CONTINUE命令
格式:
CONTINUE
功能:
LOCATE命令执行后继续移动记录指针到下一个满足条件的记录下。
说明:
aCONTINUE命令只能放在LOCATE命令后使用。
b可多次执行CONTINUE命令
14INDEXON姓名TAG姓名”建立的索引,其索引类型是单索引。
15备注型文件对于表的打开有没有影响?
(有)(注:
备注文件随表打开而打开,随表关闭而关闭)p47(判断)
16浏览和修改已打开表中的记录命令为browse
17LIST命令默认范围为ALL;RECONDN命令默认范围第n个记录;NEXTN命令默认范围为从当前记录开始的N个记录;DISPLAY命令默认范围为当前记录;REST命令默认范围从当前记录到最后一条记录。
18seek命令p68
格式:
seek[表达式]
功能:
在索引文件中查找索引关键字值与指定表达式值相等的记录。
19REPLACE命令
如REPLACE实发工资WITH基本工资-扣款
20DELETE命令p55
格式:
DELETE[<范围>][for<条件>][<条件>]
功能:
对当前表在指定范围内满足条件的记录加上删除标记。
若可选项都缺省,只删除当前记录。
(逻辑删除)
如use学生信息
DELETEfor性别=“女”
第四章(10分)
1视图设计器和查询设计器的区别?
区别:
a查询设计器的结果,是将“查询设置“以.opr为扩展名的文件保存在磁盘中,而视图设置完成后,是把”视图设置“保存在数据库中,在数据库设计器中才可以看见。
(必考p108(4)或(6)选择题)
b【更新条件】选项卡:
是用于设置更新属性的,达到更新数据的目的。
C在视图设计器中没有查询去向的处理。
2建立数据库有菜单方式、命令方式、在“项目管理器“中。
P79
3视图能否修改数据表中的记录。
(能)
4视图能否定义输出去向。
(能)
5创建视图时,相应的数据库是否应打开。
(对)
6Vfp的参照完整性规则不包括(B)
A更新规则B删除规则C查询规则D插入规则
7设置参照完整性前,必须先清理数据库。
(对)
8数据库表之间创建的永久关系保存在数据库中。
P71
9数据库文件的扩展名.dbc
10在下列命令中,用于打开数据库设计器的MODIFYDATEBASE。
11视图不能单独存在,它必须依赖于数据库。
(对)
12打开数据库命令是openDATEBASE;删除数据库命令是deleteDATEBASE;
关闭数据库命令是closeDATEBASE;
14在设置字段有效性规则时,在“规则”框中输入的表达式类型为逻辑表达式。
第五章(10分)
1.1)VFP在SQL方面支持数据查询、数据定义、数据操纵和数据控制功能。
P111
2)SQL的查询语句的命令动词是SELECTP112
Select语句,Select-from–where
如Select学分from课程信息(从课程信息关系中检索出所有课程的学分)
Selectdistinct学分from课程信息(在结果中去掉重复值)
Select*from课程信息(其中“*”是通配符,表所有字段)
如Select成绩表.学号,姓名,课程号,成绩from课程信息from学生信息,成绩表where成绩<60and学生信息.学号=成绩表.学号
3)SQL定义功能包含的命令动词有CREATE、DROP、ALTER。
P112
删除表的命令格式:
droptabletablename
如删除“学生信息2”表的命令:
droptable学生信息2(注意:
该命令为直接从磁盘上删除tablename所对应的“表文件”)
删除视图的命令格式dropviewviewname
如dropview学生平均分(删除视图“学生平均分”)
4)sql语句中数据操作命令动词有INSERT、UPDATE、DELETET。
P112
Update语句,Updatesetwhere
如Update成绩表set成绩=成绩*1.1where成绩<60(将不及格的学生的成绩提高10%)
格式:
deletefromtablename[wherecondition]
其中from指定从那个表中删除记录,
如deletefrom课程信息where课程号=“02”(注意:
delete命令是逻辑删除记录,若要物理删除记录人需使用PACK命令)
2selecttop3*from职工表orderby基本工资desc(降序)
3SQL中消除查询结果中的重复行,每个SELECT句子只能用一次,应该使用的短语为DISTINCT。
P112
4.1)Groupby分组,可利用它进行分类汇总。
P113
Groupby列名[,列名……]将查询结果按指定的列名分组。
(注意:
在orderby中,结果表中的记录根据指定的表达式按升序或降序排序,orderby是对最终的查询结果进行排序,不可在子查询中使用该短语。
)
2)having短语必须跟随Groupby使用,它用来限定分组必须满足的条件。
[having条件表达式]指定每一分组应满足的条件,分组应只有满足条件的分组才能在查询结果中显示,它与WHERE不同,指定表中记录应满足的条件。
5为“职工”表的所有职工增加100元工资,正确的SQL命令:
Update职工set工资=工资+100
第六章(25分)
1程序概念:
能够完成某一特定任务的有序命令集合。
P132
2程序的基本结构有顺序结构、选择(分支)结构、循环结构。
这些结构是实现算法的基本单元.p133
3图形“*****”(写结果)p159的(3)题
图形*clear
***fori=1to5
******?
********forj=1to2*i-1
?
?
”*”
Endfor
Endfor
RETURN
结果显示:
图即为结果
4Docase计算简单分段函数。
(写结果)p160的(3)
SETTALKOFF
CLEAR
I=1
DOWHILEI<=50
IFI/7=INT(I/7)
?
?
STR(1,4)
ENDIF
I=I+2
ENDDU
RETURN
结果显示:
7213549
5计算s=1+1/2+2/3+3/4....9/10(程序填空)
6计算10!
(程序填空)
7求10到100之间偶数和。
(程序填空)
8从键盘输入N个数,找出其中最大值和最小值。
(程序填空)
9编程:
1)、通过键盘输入10个数,求他们的平均值
2)、键盘输入一个自然数,在屏幕上显示其奇偶性。
3)、邮局规定包裹重量在500g以内,每克收费0.5元,如超过500g,超过部分按每克0.2元收取费用,要求编写程序实现邮费的计算。
10、通过键盘输入20个数,求他们的总和。
第七章(5分)
1表单就是操作界面或窗体。
各种对话框和窗口都是表单的不同表现形式.P163
2Caption属性可以表示控件的标题文字。
3VFP中的类分为两种类型:
控件类和容器类。
P163
控件是用户界面上的一种对象,容器可以认为是一种特殊的控件,它能包含其他的控件和容器。
P164
4事件是对象能够识别和响应的某种操作。
P167
Click事件是单击鼠标左键引发的事件。
P168
Dbclick事件是双击鼠标左键引发的事件。
P168
Rightclick事件是单击鼠标右键引发的事件。
P168
5用来描述对象静态特征的数据项,称为属性。
P168
6表单的Refresh方法的功能是刷新表单;
Release方法的功能是释放表单。
P168
8表单的Autocenter属性可以设置