当前位置:文档之家› 重庆二级_vfp计算机二级复习资料

重庆二级_vfp计算机二级复习资料

VFP最新考前复习资料

☆一、数据库系统基础知识与VFP系统概述(单选、判断等题型)

1、英文缩写含义:MIS、DBMS、SQL、RDBS、DBS包括DBMS,DBAS,DB、DDL、DML、DCL

2、关系(是一张二维表,有一个关系名(表名))、关系模式(二维表结构或框架)、元组(行)、属性(列)、域(属性的取值范围)、关键字(主码:能唯一标识一个元组的字段)、外码(外部关键字)、关系模型(是用二维表的结构来描述各实体联系)

3. 三种数据模型(层次、网状、关系)、实体之间的三种联系(一对一、一对多、多对多)、数据库系统的3级模式(外、概、内)、三种关系运算(选择(水平方向)for,while,where、投影(垂直方向)fields,select、连接(一对一,一对多,多对多)),数据的完整性(实体完整性、域完整性、参照完整性)。

4.数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)的概念、特点、核心(DBMS)及三者间关系(DBS包含DB 和DBMS)。

5.32位VFP特点、用户界面、三种操作方式、主要文件类型、项目管理器(.Pjx)

6、各实体之间关系常见有:学生与课程(选课),学生与图书(借阅),商品与客户(订购),项目与零件(使用)(多对多)、校长与学校(一对一)、部门与职工(一对多)。传统的集合运算:并,差,交.

7、启动:单击“开始”→“程序”→“Microsoft Visual FoxPro 6.0”→“Microsoft Visual FoxPro 6.0”。

退出:(1) 单击右上角的“×”。 (2) 单击“文件”→“退出”。 (3) ALT+F4。 (4) 在命令窗口中键入QUIT。三种操作方式:交互式(命令窗口输入命令)和自动化工作方式(程序运行方式)和菜单方式。

显示(CTRL+F2或单击“窗口”→“命令窗口”或单击常用工具按钮“命令窗口”)与隐藏(单击“窗口”→“隐藏”或单击常用工具按钮“命令窗口”)命令窗口的三种操作方法。

设置VFP的默认目录位置:单击“工具”→“选项”→“文件位置”→“默认目录”→“修改”。

或 Set default to 默认目录

(一)、选择题

☆1、使用(

A)选择 C)联接 D)复制

☆2、数据库DB DBS、数据库管理系统DBMS三者之间的关系是()

包括DBS和DBMS B)DBMS包括DB和DBS

包括DB和DBMS D)DBMS、DB和DBS之间没有关系

()的功能是从关系中找出满足给定条件的元组以便形成新的关系。

B)投影 C)联接 D)自然连接

_。

B)一对二联系 C)多对多联系 D)一对多联系

5

A)数据的安全性控制 B)数据的完整性控制 C)并发控制

6、下列关于数据库系统的叙述,正确是()

A)数据库系统只是比文件系统管理的数据更多

C)数据库系统避免了一切数据冗余

7)来进行

A)物理结构 C)顺序结构 D)索引结构

☆8________阶段可实现数据完全共享。

A)人工管理B)文件系统D)人工智能管理

☆9、专门的关系代数运算的3

A)投影、关系、选择 B)选择、关联、关系 D)投影、联接、关联

☆10)

A)数据库 C)操作系统 D)执行系统

☆11)

C)文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件

D)文件系统管理的数据量较小,而数据库系统可以管理庞大的数据

☆12)

A)实体一联系模型 B)层次模型 C)网状模型

☆13、下列有关系数据库优点的描述中,正确的是(

A)实现数据结构化 B)减少数据冗余实现数据共享 C)数据与程序相互独立

☆14、”商品”与”顾客”两个实体集之间的联系一般是()(&&

(A)一对一 (B)一对多 (C)多对一 (D)多对多(&&某商品可被多人购买,一个人可购买多种商品)

☆15、但它们是另外一个关系的主码,则称其为该关系的()

A)主码(主关键字) B)内码(内关键字) D)关系

16)

A)字表处理软件 B)操作系统(DBMS) D)编译系统

17)

A)数组形式 B)层次形式 D)矩阵形式

18)

A)关系树 C)结点路径 D)文本文件

VFP)

B)网状型 C)层次型 D)共享型

B)字段 C)结构 D)文件

、对于关系数据库,若将2)

A)选择 B)投影 D)扫描

24)

A)数据库系统 B)VFP C)数据库管理系统

☆25、数据的逻辑独立性是指()

D)数据的物理结构改变时,数据的逻辑结构跟着改变,应用程序也跟着改变

☆26)

A)字符 C)记录 D)文件

☆27VFP中的一个()

A)数据库文件 B)记录 D)字段

☆28、VFP)

A)表结构对应关系,表文件对应元组,记录对应属性,字段对应属性值

B)表结构对应关系模型,表文件对应关系模型,记录对应元组,字段对应属性

B)实体集 C)分量 D)属性值

、实体型之间的联系类别有()

A)一对一联系 B)一对多联系 C)多对多联系3种都是

31)

A)二维表格 B)层次模型 C)网状模型

32、VFP是一个()

A)8位数据库开发系统 B)16位数据库开发系统位数据库开发系统 D)64位数据库开发系统

33、退出VFP的操作方法是()

A)从【文件】下拉菜单中选择【退出】选项

C)在命令窗口中键入quit命令,然后按回车键

☆34)

A)表单的默认大小 C)日期和时间的显示格式 D)程序代码的颜色

☆35、)

A)数据库、自由表和查询 B)数据库、视图和查询 D)数据库、表单和查询36、)

A)表单、报表和查询 B)数据库、表单和报表 C)查询、报表和视图

37、要启动VFP的向导可以()

A)打开新建对话框

C)从【工具】菜单中选择【向导】

38、程序文件的扩展名为()

A).dbf B).dbt C)

☆39)

(A)主题字 (B)标题关键字 (D)纪录名

☆40、在Visual FoxPro)

(A)关系也被称作表 (B)数据库文件不存储用户数据 (C)表文件的扩展名是多个表存储在一个物理文件中

☆41LIST FOR <条件> 完成的工作相当于关系运算()

(B)连接 (C)自然连接 (D)投影

(二)

1、关系就是一张二维表√

2、在计算机中,数据和信息是同一概念×

3、关系数据库的最大优点是消除了数据冗余×

4、在关系数据库中,一张二维表就是一个关系×

5、VFP能同时打开的最大表文件数是255个×(一次同时打开的表的最大数目 65,535)

6、VFP的【文件】菜单项下的【新建】对话框只能完成【项目】和【表】的建立×

7、VFP对计算机硬、软件的环境没有要求×

8、VFP的窗口大小是不能任意调整改变的×

9、VFP的工作方式有3种,但3种方式都只能单独使用×

二、VFP语言基础(数据与数据运算)

1、常(6种常量表示)、变、函、表及命令格式、功能,明确每一种元素的数据类型。

2、函数的三要素(函数名、参数、返回值)。

3、变量(内存变量(6种类型)、字段变量(13种类型))三要素(名称(命名规则),类型,作用域);内变与字段变同名时访问(字段变量优先,内变访问是:m.内变或m->内变),不能用赋值语句修改字段变量的值(只能用replace和gather实现);

4.赋值、输出(?|??)命令及变量(建立、显示、保存、恢复、释放)操作命令的格式及功能。

5、表达式正确的表示方法、结果类型、计算的优先顺序,特别是条件筛选(关系表达式和逻辑表达式)。

混合表达式运算的优先顺序:圆括号>算术运算符>字符串运算符、日期和日期时间运算符>关系运算符>逻辑运算符如何表示下面的逻辑表达式:

⊙性别等于“男”或等于“女”:性别=“男” or 性别=“女”或性别 $ ”男女”

⊙基本工资高于400元且低于1000元:基本工资>400 and基本工资<1000

⊙工龄大于等于20的未婚男职工:工龄>=20 and (not 婚否 and 性别=“男”)

⊙职称是“教授”或者是“副教授”:职称=“教授” or 职称= “副教授”或”教授” $ 职称(不能交换)

⊙工龄大于20年,职称为“副教授”或“讲师”的未婚男职工:工龄>20 and (职称= “副教授” or职称=“讲师”) and (not 婚否 and 性别=“男”)

⊙职称为“副教授”且年龄不超过35岁的未婚女职工: 职称= “副教授” and 年龄<=35岁 and (not 婚否 and 性别=“女”)

(一)、选择题

1、下列选项中,()不能作为VFP

A)ABEFG B))def E)_abc F) abc_123

☆2、下列关于数据的操作说法中,正确的是

B)2个日期型数据可以进行加法运算

D)字符型数据能比较大小,日期型则不能

3、已打开数据表中有一日期型字段“日期”)

A)ctod(“09/18/97”) B)日期日期) D)date()-2

☆4、下列选项中,()可以正确地将2003年11rq中

A)rq=dtoc(“11/12/2003”“11/12/2003”)

C)rq=11/12/2003 D11/12/2003”

5、假定学生档案.dbf表文件共有8条记录,函数的返回值为逻辑真时,执行命令?reccount( )的输出是()

A)1 B))9

☆6、用dimension s(4,5)命令数组s后,再对各数组元素赋值:s(1,1)=1,s(1,2)=2,s(1,3)=3,s(1,4)=4,s(1,5)=5,s(2,1)=6,s(2,2)=7,s(2,3)=8,s(2,4)=9,s(2,5)=10,然后再执行命令?s(6),则显示结果是()

A)变量未定义的提示 B)).f.

☆7、假定系统日期是12月20日,执行该命令后,NJ的值是()

A))061220 D)1 220

8、函数len(alltrim(“的结果是()

A)4 B))13

☆9)

A)ctod(“12/24/2006”)-28 B)”1234”+”5678” C)“ABCE”)-1 10、函数的返回值是()

A))1234 D)出错信息

☆11name,执行命令?name后,显示的结果是()

A)内存变量的值 C)随机显示变量值 D)出错

、已知D=”,则表达式10+&D的计算结果是()

B)字符型 C)日期型 D)数据类型不匹配

5)

A)5 B))8

14、使用dimension)

A)字符型 B)数值型 D)未定义

☆15、在执行命令a=”A b=a=”C b的值分别是()

A)”C”和”C”A”和.F. C)”C”和”A” D)”A”和”C”

16、表达式-36%7)

))-6

m=”15”,执行命令?”&m”+”25)

)20 C)m05 D)出错信息

VFP)

A)常量 C)运算符 D)函数

、设a=5后,变量a 的值为()

)6 C).T. D).F.

、在字符比较运算中,当分别执行命令set exact off和?”计算机”=”计算机公司”,”计算机”$”计算机’公司’”后,屏幕上的显示结果为()

A).T. .T. B)).F. .F.

21、在执行命令store .NULL. TO x 后,命令的输出结果是()

).NULL. .F. .T.

).NULL. .F. .F.

?stuff(“数据库”,5,6,),输出的结果是()

A)数据库管理系统

C)管理系统

☆23、字符串长度函数的值是()

A)3 B))6

☆24m=[28+2],?m,屏幕显示结果为()若?&m

A))[28+2] D)30.00

☆25、下列VFP)

)ctod(“04/05/97”)-date()

“04/05/97”)-3 D)date()+”04/05/97”

()返回的函数值是C型的

A)found( ) B)recno( ) C)

、表达式”ABV”>”ABT”>.F.的值是()

).F. C)难以确定 D)非法表达式

.F.>10>1的值是()

A).T. B).F. C)难以确定

☆30、表达式100>10>1的值是( )

A).T. B).F. C)难以确定

、执行命令declare dg(9,11)后,与数组元素dg(7,9))

)dg(86) C)dg(72) D)dg(88)

、设op=‘*’,命令:)

A)语法错 B))666.546

☆33、下列表达式中,结果为逻辑真的是(

ABCDEFG”=”ABCD ” B)”100”>”76”

“03/21/2002”)>ctod(“03/12/2002”) D)[张三]>[ 张三]

X=.NULL.,Y=100,则命令)

A).T. .F. B).T. .T. C)运行出错

☆36、在下列说法中,正确的是()

A)空串和空格串是2个相同的概念

bof( )和eof( )的返回值是相同的

10条记录,则当函数bof( )和eof( )的返回值分别为.T.时,函数recno( )的返回值分别为0和11

☆37)

A){“2006-05-18”)”2006-05-18” D){[2006-05-18]}

☆38、在下面的VFP)

){^2006-10-1}-date( )

)[^2006-10-01]+[1000]

、若x=56.789?str(x,2)-substr(“56.789”,5,1)的显示结果是()

A))48 D)49

☆☆40、在下面的)

A)empty(.NULL.) B)like(“acd”,”ac?”) C)AT(“a”,”123abc”

41、在VFP中,有下面几个内存变量赋值语句:

x={^2002-07-28 10:15:20PM}

y=.T.

m=$123.45

n=123.45

z=”123.45”

执行上述语句之后,内存变量x,y,m,n和z

A)D,L,Y,N,C B)D,L,M,N,C C)

42、如果内存变量mx的类型是D,那么给变量mx)

A)mx=04/05/97 B)mx=”04/05/97” C)“04/05/97”) 43、在下叙VFP表达式中,结果总是逻辑值的为(

A)字符运算表达式 B)算术运算表达式 D)日期运算表达式

☆44、在已知y=4)

A)store 8,9 to x,y B))x=8,y=9

☆45、设x=5,则执行命令? x=x-1

A)6 B)4 C)

46)

a=”123”

b=3*5

c=”XYZ”

A))val(a)+b D)str(b)+c

☆☆47VFP严格定义了字段宽度的:①字符型、②日期型、③数值型、④浮点型、⑤逻辑型、⑥备注型、⑦通用型。()(&&:D、T、Y、L、I、D、M、G,用户定义的有:C、N、F)

A)①②⑤ B)②④⑥⑦ D)⑤⑥⑦

☆48、数学表达式1≤x≤6)

A)1≤x .or. x≤)x≤6 .and. 1≤x D)x>=1 .or. x<=6

☆49y的值是()

Store “职工表.dbf” to x

Y=subs(x,1,at(“.”

A) C)职工表.dbf D).dbf

☆50、设x=”11”,y=”,下列表达式结果为假的是()

A)not (x= =y) and (x$y) B)not (x$y) or (x<>y) C)

☆51、在下面的VFP表达式中,运算结果不为逻辑真的是(

A)empty(space(0)) B)like(“xy*”,”xyz”“xy”,”abcxyz”) D)isnull(.NULL.) 52)

A)单引号 C)[ ] D)双引号

53

A)12 B))[AB CDEF]

la)

)la=”.F.” C)store “F” to la D)la=False 、表达式“01/12/06”)的数据类型是()

A))D D)L

56)

A)37 B)”变量” C)日期+时间

☆57、已知字符串m=”□□AB□□CD□□”,n=”□□EF,则连接运算m—n的结果应是()。(□

AB□□CD□□EF□□IJ□□□□” B)”ABCD□□EF□□IJ”

AB□□CD□□□□EF□□IJ□□” D)”□□ABCDEF□□IJ□□□□”

58、假定N,C,L)

A)3*N B)C-“A” C)

☆59、在VFP中,数组元素在赋值以后可()

A)在内存中长期保存

C)不重新赋值就可以长期保存

60、在VFP中,执行d=01/08/96vartype(“d”)和)的返回值分别是()

A)D、C B)C、C C)S、、N

61、对命令或表达式中直接给出值的

A)数值型常量和字符型常量

C)数值型常量和日期型常量

、在下列给出的函数中,运算结果不是数值型的是()

)round(34.8759,-1) C)val(”98/1/1”) D)sqrt(16/04/2002) VFP)

A)ctod(“12/23/78”123”-”43”

C)”ABC”+”XYZ”=”ABCXYZ””01/06/88”

64、若从字符串”上海市”中取出汉字”海”,应使用函数()

A)substr(“上海市”,2,2) B)substr(“上海市”,3,1)

C)substr(“上海市”“上海市”,3,2)

65、设A=[6*8-2],B=6*8-2,C=”6*8-2)

A)A-B B))B+C

☆66、在VFP中,逻辑运算之间的运算顺序是()

A)先进行.and.运算,再进行.not.运算,最后进行.or.运算

.and.运算,再进行.or.运算,最后进行.not.运算

.not.运算,再进行.and.运算,最后进行.or.运算

.not.运算,再进行.or.运算,最后进行.and.运算

☆67、在VFP中,表达式的运算顺序是()

D)首先进行关系运算,再进行算术运算,最后是逻辑运算

、可以进行比较大小运算的数据类型包括()

B)数值型、字符型 C)数值型 D)数值型、字符型、日期型VFP中,可以在同类数据之间进行减“-”运算的数据类型是()

A)字符型、数值型、逻辑型

C)字符型、日期型、逻辑型

70、在VFP”,下列叙述中正确的是()

??”在当前光标位置输出表达式结果,“?”命令在下一行开始输出

?”在当前光标位置输出表达式结果,“??”命令在下一行开始输出

C)“?”命令在显示器上输出,“??”命令在打印机上输出

D)“?”可以输出一个变量、常量或表达式,而“??”命令可以输出若干个变量、常量、表达式

45、执行定义数组的命令“x的数组元素有()个

A)36 B))27

71设当前数据库有5条记录,1、eof( )为真、bof( )为真3种情况下,函数recno( )的结果分别是()

A))1,5,0 D)1,6,0

72、release all

A)删除指定的内存变量

C)删除指定的部分内存变量

、已知n=886,m=345,k=”m+n”,则表达式1+&k的值是()

)数据类型不匹配 C)1+M+N D)346

、表达式“奔腾586”,5,1))+len(“Visual FoxPro”)的结果是()

A))19.00 D)21.00

75)

Set exact off

x=”A”

?iif(“A ”=x,x-“BCD”,x+”BCD

A)A B))A B CD

☆76、操作的数据表中有字段:姓名()、年龄(数值型)

A)姓名+年龄 B)?姓名-年龄 C)?val(姓名)+年龄姓名+str(年龄,2)

77)

A)字符型变量 B)日期型变量 D)逻辑型变量

78、计算从2006年5月1日到2006年)

A)“10/01/2006”)-ctod(“05/01/2006”)

C)?(“10/01/2006”)-(“05/01/2006”)

☆79、清除当前内存中所用名字的第2个字符为a的内存变量,应使用()命令

A)

C)

80、不能释放内存变量的命令是()

A)release all B))clear memo

☆81、命令?iif(substr(‘de’,2,2)>right(’,2),vartype(‘a’),val(‘abcde’))的结果是() (&&type(‘a’)则选C答案)

A)N(数值C(字符) C)U(未知) D)M(备注) (&&vartype(‘a’)则选B答案)

83)

A)eof( ) B)ctod(‘01/01/96’‘人民’,‘中华人民共和国’) D)substr(dtoc(date()),7) 、表达式substr(right(“ZIYUANGUANLI的结果是()

)GUAN C)YUAN D)ZIYU

86、已知rq=”2001/3/11”,rq1=ctod(“year(rq1)+val(rq)的结果为()

A)无效运算 B)4001 C)

87、VFP每条记录的字段数最多为()

)225 C)254 D)125

、设a=’1234’,表达式?’32’+&a的结果是(

A)123432 B)1266 C)

☆☆89、操作的数据表中有字段姓名(字符型))、工资(数值型),要显示当前记录的姓名,出生日期和工资,可用的命令是()

A)?姓名+出生日期+工资姓名+dtoc(出生日期)+str(工资,4,1)

C)?val(姓名)+val(出生日期)+工资)?姓名+出生日期+str(工资,4)

90、下列逻辑表达式中,结果为.T.的是()

A)20/4-2 B)”重庆市”$”重庆” C)”何”=”何兵”01/01/96”<”12/31/95”

92、设x=”123”)

A)?at(“2”,x) B))?&x

☆☆93、已知一表文件中有(姓名/C/10,性别/C/2)要显示所有姓张的女同学,应使用的逻辑表达式为()A)”姓名”=”张*” .and. “性别”=”女” B”张*” .and. 性别=”女”

C)left(“姓名”,2)=”张” .and. “性别”=”女”姓名,2)=”张” .and. 性别=”女”94位小数

A)2 B))5

95)

A))& D)#

96)

A)在字符串中的空串和空格串是等价的

B)符号””只能作字符串定界符而不能作为字符串内容的一部分使用

一次只能显示一个表达式的值,而??一次能显示多个表达式的值

ab”=””的值在某种条件下可以为逻辑真 (&&在set exact off时为真)

4)

A)set exact on B))set century off VFP中,下列说法正确的是()

stroe一次能给多个变量赋值

C)内存变量的内容可以根据需要而修改,但其类型不能再随意更改

D)对于数组而言,一次只能给其中一个数组元素赋值

☆99、在表达式{^2002-08-01}-57和{^2002-08-01 11:45:30 am}-127中,57和127代表的意义是()

A)纯粹的数学加减,无实际意义

C)都表示具体的秒数

100、有一表文件,其中包含字段(书名,现欲查询所有书名中包含”计算机”3个字的记录情况,则查询时所涉及的条件表达式应为()

A)书名=”*计算机” B)书名$“计算机“$书名 D)at(“计算机”,书名)=0

☆☆101、表达式val(subs(““9””),3))的值是()

A)129 B))299

102、设a=2,b=3的执行结果为()

A))1 D)0

103)

A))val( ) D)asc( )

☆☆104、求一个3

A)str(n,2) B)val(n,2) C)

105、函数mod(-4*4,-40/4)的值是()

)-4 C)4 D)6

、表达式(“天津”#”天京”))

A)天津天京 B))津京

多选题设("&D"( )。

C C.

,不正确的一项是 (&&,字段变量是定义结构确定)

B)在Visual FoxPro中,变量分为字段变量和内存变量

D)在Visual FoxPro中,可以将不同类型的数据赋给同一个变量、下列表达式中,其值为.T.的表达式是()

“PUT”$“COMP”十“UTER” B)“ABC”>“ASC”.AND..T..OR..NOT.23<>60/2 BASIC”= =“BAS”.AND.“XY”$“EFG”+“XY”.OR..NOT..T.

D)“BAS”$“FoxBASE”.AND.“红”$“江小红”.AND..F.

☆☆114. CTOD(“97.4.16”“97.4.2”)的运算结果是()

A)97.4.14 D)97.4.16 (二)、判断题

1.假定当前系统时间为2007年1月1日10点10分00秒,time( )函数返回的值为字符串”10:10:00”√

(&&time()返回C型,不是D或T型)

2、T代表逻辑型常量逻辑真×(&&.T.代表逻辑真常量,T不是)

3、在命令窗口分别执行a=10,b=11,a=b=12三条命令后,a变量的值仍为10 × (&&a变量的值应为.F.)

4、date( )+year(date( ))是一个错误的表达式× (&&D+N是一个正确表达式,得D

型)

5、函数mod(26,-3)的结果是-2 × (&&结果应为-1)

6、当数据表刚打开时记录指针指向首记录并且bof( )函数的值为.T. ×(&&起始位置不是首记录位置,故bof()

为.F.)

7、关系表达式a=int(a/b)*b的意义是其值为真时表示a能被b整除,否则a不能被b整除√

8、设m=ctod(“08/25/97”)+10,函数dtoc(m,1)的值为.F. × (&&变量m存放{09-04-97},dtoc(m,1)值为

C型

9、表达式chr(65)-str(mod(1,7),2)的结果是“A1”,串长=2 ×

(&&mod(1,7)为1,str(mod(1,7),2)为”□1”, 结果是“A□1”, 串

长=3

10、表达式str(mod(1,7),2)#”9812”的值为.T. √

☆(11)判断题表达式MOD(-22,5) < =MAX(-23.2,2) 的值是.T.×(&&关系运算符左边为3,右边是2,结果

为.F.)

(三)、填空题

☆1、已打开的表文件和内存变量都有变量名“学号”,要将当前记录的字段“学号”值存入变量“学号”中,应使

用的命令是store 学号 to M.学号或 M.学号=学号

2、执行下列命令后,变量r1的值为22,r2的值为14

Store space(5)+”数据库管理系统”+space(3) to r

r1=len(r)

r2=len(trim(ltrim(r)))

三、表与数据库的基本操作(注:每次数据操作执行后明确记录指针的位置)

(命令使用类型A.命令格式是否正确,B.已知目的功能,找出正确的命令)

(0)数据库(.dbc、.dct、.dcx ),数据库表与自由表有不同的特性(如长表名和长字段名、字段默认值、设置字段、

记录的有效性和表间永久关联、主索引),项目(.pjx)

(1)表结构操作,与数据表关系比较密切的有.FPT和.CDX,多个备注FIELDS和通用型都存入一个备注文件

(2)记录数据的操作(在数据操作之前是指针定位、插、删(逻辑/物理删除)、修、复制)

(3)统计(行、列方向)、排序、索引、关联、查询、数据库的创建与基本操作等。

(4) 多表操作(工作区选择、互访、关联、连接、数据库及表相关内容)sele0:未使用最小工作区

(5) (四种范围:ALL、RECORD N、NEXT N、REST的含义)、同时用while /for时while优先for条件

(6)数据的完整性:①.实体完整性:由主索引和候选索引保证记录的唯一性

②.域完整性:表示字段范围只在数据库表中字段设置:类型和宽度及有效规则限制字段的取值范围。

③.参照完整性:描述数据库表与表之间的关系,保证表与表之间数据的一致性。

参照完整性规则:更新规则(级联、限制、忽略);删除规则(级联、限制、忽略)插入规则(限制、忽略);

(7)当前记录→数组命令:scatter to 数组名

当前记录←数组命令:gather from 数组名

(一)、选择题

☆☆0、 use gzb &&此数据表有性别(男、女)和政治面貌(群众、团员、党员等)字段。

Do while not eof()

If 性别<>’男’ &&此IF成立时才检查下面IF条件,若此IF不成立退出不检查下面条件,知上面IF

优先

Exit

Endi

If 政治面貌=”群众”

Dele

Endi

Skip

Endd

(&&一条命令同时带while/for条件式时while优先for,且默认范围是REST)

dele while 性别=”男” for 政治面貌=”群众”

政治面貌=”群众” or 性别=”男”

C) dele for 性别=”男” or 政治面貌=”群众”

D)dele for 性别=”男” and 政治面貌=”群众”

☆☆1( )中 (&&视图和永久关系都保存到数据库)

A)数据库表 C)表设计器 D)数据环境设计器

☆☆2、数据表文件中有字段:姓名/C、出生日期/D、成绩/N等,要建立姓名、成绩、出生日期的组合索引,

其索引关键字表达式是( )

A)姓名+成绩+出生日期 B+”成绩”+”出生日期”

C)姓名+str(成绩)+str(出生日期+str(成绩)+dtoc(出生日期)

☆☆4、当前数据表文件记录如下:

姓名性别年龄

1 李易女 18

2 王雯女 19

3 龙霞男 20

4 郭亮男 19

5 宋睿女 18

第2条记录为当前记录。执行命令list rest for 性别=( )

A)1,2,5 B)3,4,5 C)1,2,3,,5

☆☆5、使用replace all或rest( )

A)末记录 B)首记录 D)首记录的后面

6)

B)字符表达式 C)数值表达式 D)前3种都可能

( )

)delete

)zap

8、某数据表文件有字符型、数值型和逻辑型3个字段,其中字符型字段宽度为5,数值型字段宽度为6,小数为2。表文件中共有100)

A)1100 B))1400

☆☆9( )

A)seek,,browse

C)total,find,locate

10、有以下命令序列:

use student

list

屏幕回显:

记录号姓名出生日期

1 张谦 07/02/85

2 秦生 02/04/86

3 闻文 11/03/87

index on dtoc(出生日期) to bd

list

执行该命令序列后,记录号顺序是( )

A)1,2,3 B)3,2,,1,3 D)3,1,2

☆☆11go top命令,此时当前记录指针指向()

A) C)0 D)基本工资最多的记录

☆☆12

use student

index on 姓名 to name

set exact off

find 吴

display 姓名,年龄

屏幕回显:

记录号姓名年龄

2 吴静 20

set exact on

find 吴

? eof( )

最后,eof( )函数的值为( )

A)1 B)).F.

☆13、执行下列命令序列:

set deleted on

use student

count

屏幕回显:

15 记录

go top

delete next 5

count (&&count:受set deleted on|off影响。当为on时,统计未有删除标记的记录;当为off时,统计含有删除标记的所有记录.)

屏幕回显:

10 记录

?reccount( ) (&&reccount()统计表中全部记录(含有删除标记,不受set deleted on|off影响)

A))10 D)1

☆☆14、数据表文件已经打开,共有10条记录,按关键字xm排序,执行命令sort on xm to cj后,屏幕显示()

条记录排序完成 B)cj.dbf已存在,覆盖吗?(Y/N)

D)出错信息

)表达式统计基本工资在200~1500的人数

A)coun for 200<基本工资<1500 B基本工资>200 && 基本工资<1500

C)coun for 基本工资>=200 .or. 基本工资基本工资>=200 .and. 基本工资<=1500

☆15(多选条件筛选)设数据表GZ.dbf中有逻辑字段“婚否”、日期型字段“工作日期”和数值型字段“工资”,现

65年度以及65年以前的职工加50元工资的正确操作有()

工资 with 工资+50 FOR 婚否.and.1965>=YEAR(工作日期)

REPL ALL 工资 with 工资+50 FOR 婚否.and. .not. YEAR(工作日期)>1965

REPL ALL 工资 with 工资+50 FOR .not.(.not.婚否.and. YEAR(工作日期)>1965)

工资 with 工资+50 FOR 婚否.and.CTOD(“12/31/65”)>=工作日期

REPL ALL 工资 with 工资+50 FOR 婚否.and. “12/31/65”>=DTOC(工作日期)

☆☆16 (多选条件筛选)对数据表中所有职称为副教授和教授的工资总额进行统计,并将其统计结果赋给变量ZGZ,可以使用的命令有()

A.SUM 工资 TO ZGZ FOR 职称=“副教授“.and.”教授“

B.SUM 工资 TO ZGZ FOR 职称=“副教授“.and. 职称=”教授“

SUM 工资 TO ZGZ FOR 职称=“副教授“.OR.”教授“

工资 TO ZGZ FOR 职称=“副教授“.OR. 职称=”教授“

工资 TO ZGZ FOR “教授”$ 职称

.在打开的数据表中,有逻辑型字段【团员】和日期型字段【出生日期】;现欲显示表中所有1980年以后出生的团员的记录,可选择()。

A) LIST FOR 团员=.T. .AND. YEAR(出生日期团员 .AND. YEAR(出生日期)>1980

C) LIST FOR 团员 .OR. YEAR(出生日期团员=.F. AND YEAR(出生日期)<=1998)

18、数据表中有30(原始顺序),如果当前记录号为第5条,执行skip 5,则recno( )函数的返回值是()

A))30 D)31

☆☆19dg中去,应使用的命令是()

A)scatter to dg

C)scatter memo to dg

☆☆20、要将数组dg中的内容作为一个记录追加到当前表文件的末尾,应执行的命令为()

)go bottom与gather from dg

与gather from dg D)insert blank与gather from dg

21、执行以下命令序列:

use try &&设try.dbf中有15条记录

list

?recno( ),eof( )

recno( ),eof( )”显示的分别是()

和.T. B)16和.F. C)15和.F. D)15和.T.

use zz &&zz.dbf中有10条记录

list next 4

?recno( )

list

? recno( )

命令?的结果分别是()

A)4和10 B)5和11 C)5和和11

☆23memo)

A)这个数据表文件中 C)多个备注文件中 D)一个文本文件中

24)和数据库备注文件(.dct)的叙述中,正确的是()

.fpt B).fpt和.dct文件没有区别

25、以下关于自由表和数据库表操作的叙述中,错误的是()

B)数据库表的表名可超过8个字符

D)数据库表可执行的操作,自由表不一定能执行

☆26、以下关于VFP的数据库操作的叙述中,正确的是()

和modify database的功能相同

delete database命令删除数据库的同时,数据库所包括的所有数据库表均被删除

D)当打开数据表时,数据表所属的数据库也同时被打开

、在VFP中,可以对字段设置默认值的表()

B)必须是自由表 C)自由表或数据库表 D)不能设置字段的默认值、在当前数据库表第3条记录之前插入一条空记录的命令是()

)go 3

C)go 3 D)go 3

append append blank

☆☆29、要从数据表中真正删除掉一条记录,应使用命令()

delete命令,再用zap命令 B)直接用zap命令

delete命令,再用pack命令 D)直接用delete命令

VFP中,browse命令也可以修改记录,它的特点是()

B)成批自动替换

D)对符合条件的记录做顺序修改

☆32、函数deleted( )的值是.T.)

A)删除的记录不存在

C)当前记录已被删除

33、在VFP)

A)pack B))erase

34)

A))edit D)change

3520条记录,而当前记录指针指向第2条记录,则执行()语句后,记录指针指向最后一条记录

A))list all D)list record 19

361的记录上,应该使用命令()

A)go top B)go bof C)

37、recall

A)pack B))clear

38、下列列出的命令中,等效的是()

和delete all ,pack B)zap 和delete ,pack C)zap 和delete all D)zap 和pack all 、下列是数据表复制命令copy的功能说明,其中错误的是()

B)可以进行数据表部分记录的复制

D)如果数据表有备注字段,则自动复制同名的备注文件

40、为显示年龄为10的整数倍的在职职工记录,下列各命令错误的是()

A)list for mod(年龄,10)=0 B)年龄/10=int(年龄/10)

C)list for substr(str(年龄,2),2,1)= “0”for年龄=20 .or. 30 .or. 40 .or. 50 .or.

60

41、显示当前数据表文件中平均分超过90分和不及格的全部男生记录,应使用命令()

A)list for 性别=“男”,平均分>=90,平均分<=60 B)list for性别=“男”,平均分>90,平均分<60

C) list for性别=“男”.and. 平均分>90 .and. 平均分性别=“男”.and.(平均分>90 .or. 平均分<60)

☆☆42、在已打开的数据表文件中有“姓名”字段,已经定义了一个内存变量“姓名”。要把此内存变量的值传送给

A)姓名=m->姓名姓名with m->姓名

C)store m->姓名 to 姓名gather from m->姓名 fields 姓名

43、有2中的记录追加到b.dbf之后,应使用的命令组()

A)

C)use a D)use b

copy to b copy from a

44、设有学生数据表,有24条记录,学号字段的值是1~25,其中缺少学号为16的记录,用append命令来追加学号为16的记录,这个新记录的记录号是()

A)16 B)17 C)

45)

委培=”委培”委培

委培=.F. D委培=”.F.”

x中全部记录的学号和姓名2个字段复制到数据表y,应该用命令()

)use x

学号,姓名 copy to y 学号,姓名

C)copy to x y fields 学号 D)copy file x to y 学号,姓名

47、在VFP中使用命令将当前工作区中打开的表文件aa.dbf A盘中,应使用的命令是()

A)

C)copy a:aa.dbf from aa.dbf

☆48、某数据表中数学、英语、计算机和总分字段,都是数值型。将所有学生的各门成绩平均分存入平均分字段中,应使用的命令是()

平均分 with (数学+英语+计算机)/3 B)repl 平均分 with (数学,英语,计算机)/3

平均分 with (数学+英语+计算机)/3 D)repl 平均分 with (数学+英语+计算机)/3 for 49)

A)副索引 C)子索引 D)多重索引

500,可使用的最简捷的命令是()

总分 B)browse all fields 总分

总分 with 0 D)change all fields 总分

、有数据表a,b,c,已建立了a→b的关联,欲再建立b→c的关联,以构成a→b→c的关联,则()additive子句的set relation 命令

additive子句的set relation命令即可

a→b关联的基础上不能再建立b→a的关联

D)在保持a→b关联的基础上不能再建立b→a的关联,但可以建立a→c的关联

52、执行go 50和skip 50命令(假设有若干条记录),二者有何不同?()

50的记录上

50的记录上,后者将指针定位在当前记录后第50个记录上

50的记录上,后者将指针定位在当前记录前第50个记录上

D)前者将指针定位在当前记录后第50个记录上,后者将指针定位在记录号为50的记录上

53、执行以上命令序列:

use zggz

sum 工资 for 工资>=500 to qwe

copy to qaz fields 职工号,姓名 for 工资>=500

use qaz

num=reccount()

aver=qwe/num

?aver

最后显示的值是()

A)所有工资在500元以上的职工人数500元以上的职工平均工资数

C)所有职工的平均工资数

54、在执行了set index to score之后,当前文件的记录已按“成绩”字段升序索引,现要定位于成绩及格(大

60)的第1条记录,应使用的命令是()

成绩>=60 B)find 成绩>=60 C)seek 60 D)go 60

55、已知数据表db1.dbf中“姓名”字段的宽度为8,执行如下各条命令:

Store 姓名 to mname

? mname &&屏幕回显:王宇

? len(mname)

最后一条命令显示的结果是()

A)mname B)4 C)

B)降序排列 C)由开关控制次序 D)随机次序

57后,屏幕上将显示()

A)1,0 B))出错信息

58)

set exact off

x=”A□” (□为空格)

?iif(”A”=X,X-”BCD”,X+”BCD”)

A)A B)ABCD C)□BCD

☆59、当前数据表文件中有一长度为10的字符字段replace sname with ”张治国”;?len(sname);)

A)3 B))11

☆☆60

(&&.fpt)

A)单索引文件(idx) B)复合索引文件 D)非结构化复合索引文件

☆61、工资按降序排列,建立一个索引文件dsgz.idx,使用命令是()

工资/d to dsgz B)set index on –工资 to dsgz

–工资 to dsgz D)reindex on 工资 to dsgz.idx

st.dbf有字段:姓名/C/8、英语/N/2、数学/N/2、总成绩/N/3,要求按总成绩从高到低排序,成绩相同时按英语成绩从低到高排序,生成新表sst.dbf,正确的命令是()

英语,总成绩/D B)sort to sst on 英语/A,总成绩/D all

总成绩/D,英语 D)sort to sst on,-总成绩+英语

63、学生成绩数据表文件按总分/N/3降序,姓名/C/8升序建立单索引文件abc.idx,应使用命令()

A)index to abc on 总分/D,姓名总分+姓名

C)index to abc on str(-总分)+姓名总分)+姓名

☆☆64、如果有一数据库表包含有:部门/C/2和价格

格降序建立结构复合索引,其标识名为bmjg,正确的命令是()

部门),str(价格,9,2) tag bmjg

部门+str(1000000-价格,9,2) tag bmjg

部门)-str(价格,9,2) tag bmjg

D)INDEX ON VAL(部门)-价格 tag bmjg

☆☆65、按工资(/N/6/2)升序,工资相同者按参加工作日期/D早晚顺序建立单索引文件ge.idx,使用的命令是()工资/A,工作日期/D to ge B)set index on 工资-工作日期 to ge

工资,6,2)+dtoc(工作日期,1) to ge D)index on str(工资+year(工作日期)) to ge

66、相应的数据表和索引文件已经打开,已用find命令把记录指针指向姓为“李”的第1条记录,要是指针指向下一条同姓记录的命令是()

A)go next B))find 李

67、将总分不低于500new.dbf中,应使用命令()

A)copy to new 总分总分>=500

C)total to new 总分总分>=500

68、对于以下关于索引的说明中,错误的是()

A)索引可以提高查询速度

C)索引和排序具有不同的含义

☆69、在VFP中,)

A)建立索引的字段值的唯一性

C)索引名称的唯一性

☆70、在VFP)

A))find,display,seek D)list,seek,locate

☆☆71,其中前6条记录都为性别为男的记录,执行下列命令:

use student

go 3

locate next 3 for 性别=”男”

3条记录 B)第4条记录 C)第5条记录 D)第6条记录

、在打开数据表的同时已经打开了姓名索引文件,下列命令中作用相同的2个命令是()

”张”和 find 张 B)seek 马和find ”马”

和go 1 D)list for 姓名=”李”和list while 姓名=”李”

☆☆73、在打开数据表的同时已经打开了姓名索引文件,变量xm=”王灵”,要用变量xm来查其记录,应使用的命令是()

A)find xm B)seek &xm C)

741个工资字段的值大于620元的记录上,应使用命令是()

A)find for 工资>620 B)seek 工资工资>620 D)find 工资>620

75、有等级考试数据表djks.dbf2006年8月20日的记录,应使用命令()

A)find 06 08 30 B)”08/20/06”) D)seek dtoc(“08/20/06“)

900元的记录,应使用命令()

)locate for 900 C)seek for 工资=900 D)find for 工资=900

A)对数据表文件zggz.dbf建立按姓名的索引文件xm.idx,那么zggz.dbf中的所有记录全部按姓名排序后放在xm.idx索引文件中

sort是对数据表文件中的记录按指定关键字排序后重新放回原数据表文件中

命令既可以直接在表文件中查找,也可以在使用索引时查找

命令和seek命令可以直接在表文件中查找,也可以在使用索引时查找

79、使用count)

A)需要建立索引文件 C)需要建立排序文件 D)需要建立索引或排序文件

80、工资数据表共有10当前记录号为5,用sum命令计算工资总和,如果不给出范围短语,那么命令将()

A)只计算当前记录工资值

C)计算后5条记录工资值之和6条记录工资值之和

81、下列描述中,错误的是()

A)2个赋值语句(“=“和“store”)都可以给内存变量赋值sum可以给内存变量赋值

C)求平均值命令average可以给内存变量赋值total可以给内存变量赋值

82、要查找第2个性别为“女”的记录,应使用命令()

性别=”女” B)locate for 性别=”女”

C)locate for 性别=”女” D)list for 性别=”女”

next 2

☆83、若销售数据表(含有商品名、库存量、总价等字段)及相应的索引文件已经打开,要求对库存量及总价字段按商品名汇总,结果存在kc.dbf中,可使用命令(

A)total all on 商品名商品名 fields 库存量,总价C)sum to kc on 商品名 fields 库存量,总价商品名

☆84、使用total)

A)).bas D).bak

☆☆85、在VFP

A)限制(Restrict) B)忽略(Cascade) D)级联(Cascade)或限制(Restrict)

86、VFP)

A)更新规则 C)删除规则 D)插入规则

87、要控制22个表()

2个表 B)不同数据库中的2个表

个自由表 D)一个是数据库表,另一个是自由表

☆☆88、在VFP中,利用()保证实体完整性

B)主索引、候选索引、普通索引

D)主索引、候选索引和唯一索引

89、在VFP的命令窗口中,使用set relation 命令可以建立2个表之间的关联,这种关联是()

B)永久性关系或临时性关系

D)永久性关系和临时性关系

90、在VFP中进行参照完整性设置时,必须建立2个表之间的关系,这种关系是()

B)永久性关系或临时性关系

D)永久性关系和临时性关系

.字段名 B)数据表名(字段名) C)copy 字段名 D)字段名

C)关联在“数据库设计器”中显示为表索引间的连接线

D)关联在每次使用数据表时不一定要重新建立

93、在数据库设计器中,建立2个表之间的一对多联系是通过以下索引实现。()

“多方”表的普通索引

“多方”表的普通索引或候选索引

C)“一方”表的普通索引,“多方”表的主索引或候选索引

D)“一方”表的普通索引,“多方”表的候选索引或普通索引

☆94、设数据表student.dbf中有记录100个,执行下列命令:

set deleted off

use student

delete

count to x1

pack

count to x2

zap

count to x3

?x1,x2,x3

的值分别是()

,99,0 B)99,99,0 C)100,100,0 D)100,99,99

、有如下命令序列:

close all

use student alias b2

select d

select 0 (&& 0表示没有使用的最小工作区,即这里为2号区)

select b2

)2 C)3 D)4

select 1

use f1

select 2

use f2

select 3

use f3

现在要给f1)

A)或select f1 C)go f1 D)go 1

97、VFP)关联

A)终身 C)短期 D)永无

☆98

A)edit B)browse C)

99、执行下述命令:

a=”8”

aa=[a]+a

use &aa

则现在打开的表文件是()

A)aa B)aaa C)

☆100、要对所有工程师的工资增加150元,应使用命令(

A)change 工资 with 工资+150 for 职称=”工程师”

B)replace 工资 with 工资+150 while 职称=”工程师”

工资 with 工资+150 for 职称=”工程师”

工资 with 工资+150 for 职称=”工程师”

、在多个工作区操作中,如果选择了1、3、5、6号工作区并打开了相应的数据表,在命令窗口执行命令select 0,其功能是()

A)选择0号工作区为当前工作区2号工作区为当前工作区

C)选择7号工作区为当前工作区

☆102、在1号工作区打开的stud.dbf文件中含有“姓名/C/6”等字段,在3号工作区打开的score.dbf文件中含/C/6”等字段,当前为1号工作区,要显示3号工作区内当前记录中“姓名”字段的值,正确的操作是()

姓名 B)list score.姓名 C)display 姓名 D)display stud.姓名VFP中,关于自由表的叙述正确的是()

A)自由表和数据库表是完全相同的

C)自由表不能建立候选索引

104、如果在没有打开项目管理器情况下,选择【文件】菜单下的【新建】命令所创建的数据库()

D)不包含在项目中,也不可以添加到项目中

☆105、打开一个数据库的命令是() (&&打开数据库、打开数据表 use 表名)

A)use B)use database C)

106)

A)modi stru B)copy to C)

107)工资 to ab B)aver all 工资 to ab

)total all on 工资 to ab

VFP中,要删除一个数据表文件x.dbf)

A)dele x.dbf B)pack x.dbf C)

☆109、在VFP中,学生表student

名为() (&&.ftp、.cdx)

A)student.doc B)student.mem C)

110、数据库表的字段设默认值,默认值是()

A)逻辑表达式 B)字符表达式 C)数值表达式种都可能

☆111) ( &&)

A))free table D)release table

112、用命令“”建立索引,其索引类型是()

A)主索引 B)候选索引 D)唯一索引

113、设表bg.dbf中有下列记录:

记录号姓名性别出生日期籍贯总分

1 张林鹃女 01/23/78 四川 255.50

2 李清芬女 08/09/77 湖南 198.00

3 刘张一男 03/11/78 贵州 268.00

4 程从张女 12/02/76 四川 250.50

5 彭小平男 05/12/77 湖北 260.00

6 张威金男 07/02/79 贵州 250.00

当执行以下命令后,显示出的记录的记录号是()

use bg

list for “张”$总分>250

A))1,3,4,6 D)1,3,4,5

114、仍以上表bg.dbf)

use bg

delete for 总分>250 .and. 性别=”男”

go 3

recall

pack

A)3,5,6 B))3

115、设表zg.dbf中有下列记录:

记录号姓名性别单位补贴

1 全今三男保卫科 0.00

2 魏少东男保管科 0.00

3 武青芳女秘书科 0.00

4 江钢男设计室 0.00

5 李建黎女宣传科 0.00

6 张金平男设计室 0.00

当执行以下命令后,获得50元补贴的人员是()

use zg

go 4

replace rest 补贴 with 50

B)武青芳、魏少东、全今三

D)李建黎、张金平

、利用scatter命令将表bm.dbf中第3号记录传送给数组

dimension r(5)

use bm

list

记录号编号姓名性别工作部门职称

1 0005 张建立男质量检测科助理工程师

2 0006 李平原女产品开发部工程师

3 0007 赵自强男研究所高级工程师

4 0008 姚力女信息中心工程师

go 3

scatter to r

?r(2),r(4),r(5)

最后一条命令?输出的结果是()

A)0007、赵自强、男

C)0007、赵自强、高级工程师

☆118至20岁之间,当输入的数值不在此范围内,则给出错误信息,我们必须

定义。A)实体完整性 C)参照完整性 D)以上各项都需要定义

(二)、判断题

1、打开数据表的命令是open表名×(&&open命令打开是库,use命令打开表)

2、delete all与pack 2条命令联合执行的功能等价与zap命令执行的功能√

3replace 工资 with 工资+100 命令的功能是将表中所有记录的工资字段值增加100 ×(&&修改当前记录,不是所有)

4、任一表中均可建主索引、候选索引、唯一索引和普通索引×(&&只有库表才能,自由表只有三种)

(三)、填空题

☆1、VFP的主索引和候选索引可以保证数据的实体完整性

☆2、数据库表之间的一对多联系通过主表的主或候选索引和子表的普通索引实现

3、在VFP中,最多同时允许打开32767 个数据库表和自由表

4、有考生数据表student.dbf和不合格考生数据表bhg.dbf,2个表的表结构相同,首先将student.dbf中的笔试成绩和上机成绩都不及格(小于60分)的学生的记录中的“合格否”字段值修改为逻辑假值,然后将不合格的记录追加到不合格库bhg.dbf中,并打印。请将下列命令填写完整:

use student

replace 合格否 with .F. for 笔试成绩<60 .and.上机成绩<60

use bhg

append from student for not 合格否或笔试成绩<60 .and.上机成绩<60

list to printer

use

5、执行如下操作后,插入的数据记录在数据表中是第5 条记录

use student

list next 5

insert before

6、若某表文件有50条记录,当前记录号为30,执行skip -20后,再执行?recno( ),其结果是10

7、数组在SCATTER 命令中可以不必遵循先定义后使用的原则

8、数据表字段参数一般包括字段名、字段类型、_宽度和小数位数 4部分

9、自由表中的字段名必须以字母、汉字开头,长度一般不超过10 个字符

10、从数据库中移去表可以在命令窗口中键入REMOVE table

11、在VFP中,表索引文件有2种结构:idx单索引文件和.CDX 复合索引文件

12、在VFP中,设置字段有效性规则在表设计器的字段选项卡上进行

13、在VFP中,设置记录有效性规则在表设计器的表选项卡上进行

14、VFP的数据库表之间有一对一、一对多和_多对多 _关联

15、参照完整性是根据表间的某些规则,使得在插入、删除和修改记录时,确保已定义的表间关系

16、排序改变的是表文件的物理顺序,索引改变的是表文件的逻辑顺序

17、打开表时或之后,可以同时打开多个索引文件,同一时刻起作用的索引(主控索引)有_一 _个

18、在find和seek命令中,索引查询日期型数据时,只能用SEEK 命令

19、在VFP中共有4种索引类型,分别为:主索引、候选索引、惟一索引和普通索引

20、在数据表的查找命令中,continue命令与LOCATE 命令配合使用

21、数据表文件books.dbf,有进馆日期字段为D型,要求显示2000年和2000年以后进馆的图书记录,命令是_LIST FOR YEAR(进馆日期)>=2000 _

22、设有职工工资数据表(zggz.dbf),其内容是:

编号姓名部门工资奖金

1001 程云一车间 850.00 200.00

1002 汪洋一车间 700.00 200.00

1003 林海一车间 680.00 200.00

2001 柳江二车间 900.00 500.00

2002 刘军二车间 1200.00 500.00

3001 唐尊三车间 1200.00 140.00

3002 李洋三车间 780.00 140.00

3003 章勤三车间 690.00 140.00

① use zggz

total on 部门 to bm

use bm

sort on 工资 to new1

use new1

display 部门,工资,奖金

执行后显示的数据是__二车间 2100.00 1000.00_______

② use zggz

average 工资 to a for 部门=”三车间”

变量a的值是__890____

③ use zggz

index on 工资 to gz

go 1

?编号,姓名

显示结果是__1001 程云___

seek 700

skip 3

?工资+奖金

显示结果是____1400_____

locate for 工资=1200

continue

?姓名

显示结果是___唐尊____

④ use zggz

sum 奖金 to b for substr(编号,4,1)=”1”

变量b的值是_____840__________

23、请在下面的命令序列中填空

use teacher

list

记录号姓名性别年龄职称代码

1 李群男 29 1

2 何雅女 4

3 3

3 刘荣女 5

4 4

4 赵红梅女 3

5 3

5 周永清男 32 2

select 2

use title alias q

list

记录号职称代码职称

1 1 助教

2 2 讲师

3 3 副教授

4 4 教授

index on 职称代码 to tc

select 1

set relation to 职称代码 into q

go 3

?recno(2) && 屏幕回显___4_____

24、现有考生数据表student.dbf和考试成绩表std.dbf。使用关联的方法显示2个表的相关数据,请对下述命令序列填空

select 1

use student

list

记录号考生编号姓名年龄性别

1 1001 尚明 25 女

2 1002 李欣 22 男

3 1003 杨勇 27 女

4 1004 刘玉 22 男

5 1005 王东 20 男

select 2

use std alias t1

list

记录号考生编号笔试成绩上机成绩

1 1004 7

2 85

2 1002 67 92

3 1003 93 88

4 100

5 8

6 74

5 1001 6

6 90

index on 考生编号 to abc

select 1

SET RELATION TO 编号 INTO B

List 考生编号,姓名,性别,b->笔试成绩,b->上机成绩

25、设有设备数据表sbk.dbf,其中有若干仪器设备信息,结构为:部门代码/C/1,设备名称/C/10,购入价格/N/10/2,购入日期/D,是否可用/L;另一个部门表bmk.dbf与设备表配合使用,其结构为:部门代码/C/1,部门名称/C/10,部门人数/N/3,顺序执行下列命令计算“信息部”部门人均占有设备价值,请填空

select 1

use sbk

select 2

use bmk

locate for 部门名称=”信息部”

select 1

sum 购买价格 to zj for 部门代码=____B.部门代码____

select 2

?部门名称+”共有”+str(部门人数,3)+”人”

?”人均占有设备价值为”, ____ZJ/部门人数 _

☆☆26、设有3个数据表,其结构如下所示,请完善下列命令序列,使之能够显示每个学生所选课程的成绩及相应课程的学分

学生数据表xs.dbf,有字段:学号、姓名、性别、年龄

成绩数据表cj.dbf,有字段:学号、课程号、课程名、成绩

课程数据表kc.dbf,有字段:课程号、课程名、学分

select 1

use xs

index on 学号 tag xs1

select 3

use kc

index on 课程号 tag kh

select 2

use cj (&&一父多子:cj为父表,xs和kc为cj两子表,当父表与第二个子表建立临时关联时须加ADDI) set relation to 学号 INTO A

set relation to 课程号 INTO C ADDI (&&因ADDI是保留与第一子表关联同时建立与第二子表的关联)

list 学号,a.姓名,c.课程名,成绩,c.学分

☆☆27、执行如下命令序列: (&&按照两个表的记录号建立关联)

select a

use a1

select b

use a2

set relation to recno( ) into a

select c

use a3 (&&父子孙:a3为父表,a2为子表,a1为孙子表,当a3与a2和a2与a1建立临时关联时不需加ADDI) set relation to recno( ) into b (&&因ADDI是保留与第一子表关联同时建立与第二子表的关联) select b

go 8

?recno( ),recno(1),recno(3)

显示结果为 8 8 1

(四)、写出命令序列的执行结果

1、已知学生档案表文件xsda.dbf,有5条记录如下:

记录号姓名年龄性别

1 刘红 23 男

2 赵芬 24 女

3 张敏 22 女

4 王双 24 男

5 周密 23 女

执行下列命令:

use xsda

index on 年龄 to n1

seek 24

? 姓名,年龄

skip

? 姓名,年龄

最后一条?命令显示内容为王双 24

2、有计算机等级考试的笔试考试成绩表bsh.dbf和上机考试成绩表shj.dbf,其内容分别如下:

bsh.dbf

记录号姓名笔试成绩

1 欧阳惠 87

2 陈冬梅 77

3 吴明友 94

4 杨红 60

5 李霞 68

shj.dbf

记录号姓名上机成绩

1 欧阳惠 100

2 陈冬梅 55

3 吴明友 70

4 杨红 60

5 李霞 85

执行下列命令序列:

select 2

use shj

select 1

use bsh

set relation to recno( ) into b

locate for 笔试成绩<=80

?姓名

select b

?姓名

执行完命令后,第1个?命令显示的姓名是陈冬梅,第2个?命令显示的姓名是陈冬梅

3、设有表spfile.dbf的数据如下:(当set deleted off 时,删除的记录有效;为ON时,删除的记录无效)

记录号商品名金额

1 电冰箱 3100.00

2 洗衣机 2300.00

3 25彩电 1800.00

4 空调机 4100.00

执行如下命令序列后,变量S的值应该是17300

set deleted off

use spfile

go 3

delete

go bottom

insert blank

replace 商品名 with “34彩电”, 金额 with 6000

sum 金额 to s

☆☆13、以下程序段执行后,数据记录指针指向()

dimension A(3)

A(1)=‘top’

A(2)=‘bottom’

A(3)=‘skip’

Go &A(2)

(A) 表头表的最末一条记录 (C)第五条记录 (D)第二条记

☆☆14、“作者”复合索引,索引标识与字段名相同,执行以下命令:

set order to tag 作者

seek ‘巴金’

‘巴金 2’ (D)find 巴金

四、SQL(数据定义(建立表结构、修改(添、删、改、更名及设置默认值和有效性检查规则)表结构、数据操作(插、删、修)、数据查询(可查询、显示、排序、连接、分组与计算等,查询结果仍为关系,结果关系根据查询去向保存相应地方)、数据控制(VFP不支持)

1.各实体之间关系常见有:多对多:学生与课程(选课),学生与图书(借阅),商品与客户(订购),项目与零件(使用);一对多:部门与职工,班级与学生;一对一:班长与班级、董事长与公司、校长与学校。(注:将多对多转化为两个一对多来实现)

2.查询结果是只读,视图(本地/远程)依赖于数据库存在,它既具有查询的特点,又具有表的特点,故称它为虚表。视图的定义:是一个虚拟表,是从一个或多个数据库中导出的表;在视图中只存放视图的定义,不存放视图的内容。☆视图与查询的比较:

●相同点:可以从数据源中查找满足一定筛选条件的记录和选定部分字段;

自身不保存数据,它们的查询结果随数据源内容的变化而变化;

视图有更新条件,查询有查询去向;

视图可以更新,查询是只读;

查询有7个去向,视图无;

●不同点:视图可以更新数据源表,而查询不能;

视图可以访问远程数据,而查询不能直接访问,需借助于远程视图方可;

视图只能在数据库中存在,而查询不是数据库的组成部分,它是一个独立的程序文件;

视图的基表只能是数据库表,而查询的基表可以是自由表,数据库表以及多个数据库的表;

都可以生成SQL语言。

●建立视图必须是数据库表或已经存在的视图(库已打开),建立查询只要是表都可以。

(一)、选择题

(1) 在VFP的[查询设计器]]选项卡对应的SQL短语是()

(2)在SQL的查询语句中,()

相关主题
文本预览
相关文档 最新文档