第四章 VFP数据库及其操作练习题一、选择题
1.下列属于内存变量文件的扩展名是:
A).TXT B).FPT C).DBF D).MEM
2.一个数据表中有2个备注型字段,这些字段的内容存放在:
A)2个.FPT文件中 B)同一个.FPT文件中 C)2个.DBF文件中 D)同一个.DBF文件中
3.数据表文件中的字段是一种
A)常量 B)变量 C)函数 D)运算符
4.在数据表中,逻辑型、日期型和备注型字段的宽度分别被系统定义为:
A)3,8,10 B)1,6,10 C)1,8,任意 D)1,8,4
5.一个数据表文件的数值型字段要求保留5位小数,那么它的宽度最少应当定义成:
A)5位 B)6位 C)7位 D)8位
6.已打开数据表文件,假设“出生日期”字段为日期型,下列表达式中结果不是日期型的是:
A)CTOD(”08/12/96”) B)出生日期+5 C)DTOC(出生日期) D)DATE()-2
7.在Visual FoxPro的数据表文件中,每条记录的总长度比用户定义的各个字段宽度之和多一个字节,该字节用于:
A)存放删除标记 B)存放记录号 C)存放索引关键字 D)存放记录宽度
8.下列操作中,不能用MODIFY STRUCTURE命令实现的是:
A)增加数据表中的字段 B)删除数据表中的字段
C)修改数据表中字段的宽度 D)删除数据表中的某些记录
9.假设数据表中“婚否”字段为逻辑型(已婚为逻辑真值),如果要显示所有未婚职工的情况,应该使用的命令是:
A)LIST FOR 婚否=F B)LIST FOR 婚否=”F” C)LIST FOR,NOT.婚否 D)LIST FOR 婚否=“未婚”
10.数据表文件“学生表.DBF”中有性别(字符型)和平均分(数值型)字段,如果显示平均分超过90分和不及格的全部女生的记录,应该使用的命令是:
A)LIST FOR 性别=“女”.OR.平均分>90.OR.平均分<60
B)LIST FOR 性别=“女”,平均分>90,平均分<60
C)LIST FOR 性别=“女”.AND.平均分>90.AND.平均分<60
D)LIST FOR 性别=“女”.AND.(平均分>90.OR.平均分<60)
11.当打开一个数据表文件后,执行命令SKIP –1,则命令?RECNO()的结果是:
A)0 B)1 C)-1 D)出错信息
12.假设数据表中共有10条记录,当执行命令GO BOTTOM和SKIP后,命令?RECNO()的结果是:
A)9 B)10 C)11 D)1
13.假设数据表中共有30条记录,当前记录号为20,当执行命令LIST NEXT 6之后,命令?RECNO()的结果是:
A)24 B)25 C)26 D)30
14.假设数据表中共有50条记录,当执行命令DISPLAY ALL之后,命令?RECNO()的结果是:
A)1 B)50 C)51 D)0
15.当前数据表中共有20条记录,如果在第5条记录后面插入一条新记录,应该使用的命令是:
A)GO 5 B)GO 5 C)EDIT 5 D)BROWSE
INSERT APPEND
16.假如数据表中有“数学”、“语文”、“物理”、“化学”、“英语”、以及“总分”等字段,它们都为数值型数据,如果要求出所有学生的总分并添入总分字段中,应使用的命令是:
A)REPLACE 总分 WITH 数学+语文+物理+化学+英语
B)REPLACE 总分 WITH 数学,语文,物理,化学,英语
C)REPLACE ALL 总分 WITH 数学+语文+物理+化学+英语
D)REPLACE 总分 WITH 数学+语文+物理+化学+英语 FOR ALL
17.如果要恢复用DELETE命令删除的若干条记录,应该使用:
A)RECALL命令 B)按下ESC键 C)RELEASE命令 D)FOUND命令
18.ZAP命令可以删除当前数据表文件的
A)全部记录 B)满足条件的记录 C)本身 D)全部有删除标记的记录
19.命令DELETE ALL和ZAP命令的区别是:
A)DELETE ALL只删除当前工作区的所有记录,而ZAP删除所有工作区的记录
B)DELETE ALL删除当前工作区的所有记录,而ZAP只删除当前记录
C)DELETE ALL只删除记录,而ZAP连同表文件一起删除
D)DELETE ALL删除记录后,可以用RECALL命令恢复,而ZAP删除后不能恢复
20.某数据表中共有10条记录,当前记录为6,先执行命令SKIP 10,再执行命令? EOF(),执行最后一条命令后,显示的结果是:
A)错误信息 B)11 C).T,D).F.
21.打开一个空的数据表文件,用函数RECNO()进行测试,结果为:
A)空格 B)1 C)错误信息 D)0
22.对职称是副教授的职工,按工资从多到少进行排序,工资相同者,按年龄从大到小排列,排序后生成的表文件名是FGB.DBF,应该使用的命令是:
SORT TO FGZ ON 工资/A,出生日期/D FOR 职称=“副教授”SORT TO FGZ ON 工资/D,出生日期/A FOR 职称=“副教授”C)SORT TO FGZ ON 工资/A,出生日期/A FOR 职称=“副教授”SORT TO FGZ ON 工资/D,出生日期/D FOR 职称=“副教授”23.在学生数据表中,有姓名、性别、出生日期、总分等字段,现要求对总分在270分以上的男同学按年龄从大到小排序,排序后生成的新表文件为XSM.DBF,应该使用的命令是:
A)COPY TO XSM ON 出生日期 FOR 性别=“男”.AND.总分>270
B)SORT TO XSM ON 出生日期/D FOR 性别=“男”.AND.总分>270
C)SORT TO XSM ON 出生日期 FOR 性别=“男”.AND.总分>270
D)INDEX TO XSM ON 出生日期 FOR 性别=“男”.AND.总分>270
24.数据表中有工资字段,现要求按工资字段的降序建立索引文件GZJX.IDX,应该使用的命令是:
A)INDEX ON 工资/D TO GZJX B)SET INDEX ON –工资 TO GZJX
C)INDEX ON –工资 TO GZJX D)REINDEX ON 工资 TO GZJX
25.假设日期格式是yy.mm.dd,要求按工资升序排序,工资相同者按参加工作时间的先后顺序排列建立索引文件,应该使用的命令是:
A)INDEX ON 工资/A,工作日期/D TO GR.IDX B)SET INDEX ON 工资-工作日期 TI GR.IDX
C)INDEX ON STR(工资,6,2)+DTOC(工作日期) TO GR.IDX
D)INDEX ON STR(工资+YEAR(工作日期)) TO GR.IDX
26.TOTAL命令的功能是:
A)对数值型字段按关键字分类求和 B)分别计算所有数值型字段的和
C)计算每个记录中数值型字段的和 D)求满足条件的记录个数
27.计算各类职称的工资总和,并把结果存入GZZH数据表中的命令是:
A)SUM 职称 TO GZZH B)SUM 工资 TO GZZH
C)TOTAL ON 职称 TO GZZH FIELDS 工资 D)TOTAL ON 工资 TO GZZH FIELDS 职称
28.一个数据表中共有10条记录,当函数EOF()为.T.时,当前记录号应为:
A)10 B)11 C)0 D)1
29.下列说法中正确的是:
A)当项目管理器处于打开状态时,使用CREATE DATABASE命令创建的数据库将会自动添加到项目中
B)当数据库处于打开状态时,用CREATE命令创建的表文件将会自动添加到该数据库中
C)CLOSE DATABASE在关闭数据库的同时,不会将数据库中的表同时关闭
D)自由表不能被添加到数据库中
30.下列命令中能打开数据库设计器的是:
A)CREATE DABASE B)OPEN DATABASE
C)SET DATABASE TO D)MODIFY DATABASE
31.下列命中不能关闭数据库的是:
A)CLOSE DATABASE B)CLOSE ALL C)CLOSE D)CLOSE DATABASE ALL
32.下列说法中正确的是:
A)自由表中的字段名最多只能为10个字符,数据库表则最多可为128个
B)当数据库表变成自由表时,数据库表的长字段名将保留
C)对于数据库表的长字段名,可以只使用字段名的前10个字符代表该字段
D)当数据库表成为自由表时,使用长字段名创建的索引文件可继续使用
33.下列有关数据表之间关系的说法中错误的是:
A)永久关系在数据库设计器中表现为联系数据表索引的一条连线
B)永久关系同临时关系一样,可以控制各数据表内记录指针的同步移动
C)在一对多关系中,一方必须为主索引文件 D)多对多关系可以拆分为两个一对多关系
34、Visual FoxPro数据库文件是
A)存放用户数据的文件 B)管理数据库对象的系统文件
C)存放用户数据和系统数据的文件 D) 前3种说法都对
35、以下关于自由表的叙述,正确的是
A)全部是用以前版本的FoxPro(FoxBASE)建立的表
B)可以用Visual FoxPro建立,但是不能把它添加到数据库中
C)自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表
D)自由表可以添加到数据库中,但数据库表不可以从数据库中移出成为自由表
36,在下面有关索引的描述中正确的是
A)索引实际上就是将数据库表中记录的物理顺序重新排序 B)只有数据库表可以建立索引
C)数据库表和自由表都可以建立索引 D)使用索引并不能加快对表的查询操作
37,在Visual FoxPro中数据库表字段名最长可以是
A)10个字符 B)32个字符 C)64个字符 D) 128个字符
38、Visual FoxPro的字段支持如下数据类型
字符型、数值型、二进制数值型、二进制字符型等字符型、数值型、通用型、图像型等
字符型、数值型、日期型、时间型等 D) 字符型、数值型、二进制字符型、二进制备注型等
39、命令MODIFY DATABASE的功能是
A)修改数据库表的结构 B) 打开数据库设计器 C)删除数据库 D) 移动数据库
40、以下关于空值(NULL)叙述正确的是
A)空值等同于空字符串 B)空值表示字段或变量还没有确定值
C)Visual FoxPro不支持空值 D) 空值等同于数值0
41、可以起到主关键字作用的索引是
A)主索引和候选索引 B)主索引和惟一索引 C)惟一索引 D) 只有主索引
42、当前工作区号是1,执行如下命令后当前工作区号是
CLOSE ALL
USE student IN 1
USE course IN 2
A)1 B)2 C)3 D)4
43、在Visual FoxPro 6.0中,利用数据库表的字段有效性规则可以实现数据的
A)实体完整性 B)参照完整性 C)域完整性 D) 更新完整性
44、以下叙述不正确的是数据库表可以建立多个候选索引 B)数据库表可以建立多个主索引
C) 数据库表可以建立多个普通索引 D) 数据库表可以建立多个惟一索引
45、可以保证实体完整性的索引是
A)主索引和候选索引 B)候选索引和普通索引 C)惟一索引和主索引 D) 主索引和普通索引
46、下面有关两个表之间“临时”联系的叙述正确的是
A)父表记录指针移动时,不会影响到子表记录指针
B)两表之间“临时性”联系是建立在两表之间“永久性”联系基础之上的
C)当父表记录指针移动时,子表记录指针按一定的规则跟随移动
D) 当子表记录指针移动时,父表记录指针按一定的规则跟随移动二、填空题
1.有计算机等级考试考生数据表STD.DBF和合格考生数据表HG.DBF,两个表结构相同。为了颁发合格证书并备案,把STD数据表中的“笔试成绩”和“上机成绩”均及格(大于等于60分)记录的“合格否”字段修改为逻辑真,然后将合格的记录追加到合格考生数据表HG.DBF中。请对以下操作命令填空。
USE STD
LIST
记录号 准考证号 姓名 性别 笔试成绩 上机成绩 合格否
1 11001 梁小冬 女 70 80 .F.
2 11005 林 旭 男 95 78 .F.
3 11017 王一平 男 60 40 .F.
4 11083 吴大鹏 男 90 60 .F.
5 11080 杨纪红 女 58 67 .F.
REPLACE (1) FOR 笔试成绩>=60.AND.上机成绩>=60
USE HG
APPEND FROM STD FOR (2)
LIST
USE
2.假设有数据表SBK.DBF,其中存有若干仪器设备清单,其结构如下:部门代码(C,1)、设备名称(C,10)、购买价格(N,10,2)、购入日期(D)、是否可用(L)。该表包含的记录如下:
记录号 部门代码 设备名称 购买价格 购入日期 是否可用
1 3 示波器 13500.00 05/30/90 ,T.
2 1 微机 9280.00 02/16/98 ,F.
3 4 打印机 870.00 11/05/98,F.
4 3 打印机 3870.00 12/15/99,T.
5 1 投影仪 650.90 09/23/94,T.
6 5 空调器 2100.00 07/08/95,T.
7 3 微机 9280.00 05/13/98 .T.
8 2 服务器 32500.00 06/11/99,T.
根据以下各题的要求写出相应的命令:
1)打开设备数据表SBK.DBF的命令是 。
2)显示数据表结构的命令是 。
3)用分屏方式显示所有记录 。
4)查询95年12月31日以前购买的所有设备的情况 。
5)统计所有不能使用的设备数,并存入内存变量BFSH 。
6)把所有记录按照购入日期从早到晚的顺序,同年购买的按照购买价格的降序排列,存入一个新数据表SBN.DBF 。
3.打开上题的设备表后,依次执行如下命令,请写出相应的显示数据。
1)LOCATE FOR 设备名称=“打印机” DISP OFF 部门代码,购买价格,是否可用屏幕上显示的数据为 。
2)CONTINUE
DISP OFF 部门代码,购买价格,是否可用屏幕上显示的数据为 。
3)SKIP –2
DISP OFF 设备名称,部门代码屏幕上显示的数据为 。
4)INDEX ON 部门代码 TO SBI
GO TOP
DISP 购入日期屏幕上显示的日期为 。
5)SKIP 5
DISP 购入日期屏幕上显示的日期为 。
6)GO BOTTOM
DISP 购入日期屏幕上显示的日期为 。
4.执行如下命令序列:
USE BOOKS
LIST
记录号 书号 书名 作者 定价
1 P8291D 操作系统 王亮 12.00
2 P1322F 接口技术 刘云力 15.00
3 B1963E 离散数学 周云飞 13.50
4 F9136H 单片机 于丽丽 18.00
INDEX ON 书号 TO SH
SET INDEX TO SH
LIST
在最后一条命令所显示的数据记录中,记录号的顺序是 。5.执行如下命令序列:
USE STUDENT
LIST
记录号 姓名 学号 年龄 性别
1 王亮 098725 20 男
2 刘云力 099321 19 男
3 周云飞 097310 21 女
4 于丽丽 099512 18 女
5 李红云 098320 20 女
6 钱博声 099132 18 男
INDEX ON 年龄TO NL
FIND 20
SKIP
DISP 姓名最后一条命令显示的学生姓名是 。6.执行如下命令序列
USE ZG
LIST
记录号 姓名 职称 基本工资
1 王亮 工人 300.00
2 刘云力 工程师 450.00
3 周云飞 工人 280.00
4 于丽丽 技术员 350.00
5 李红云 总工程师 550.00
INDEX ON ZC+STR(1000-基本工资,6,2) TO ZG
LIST 职称,基本工资执行最后一条命令后,记录号的显示顺序是 。
7.设数据表文件SC.DBF中有如下记录,其中学号、姓名为字符型字段,其余均为数值型字段,并且假定该表已打开。
记录号 学号 姓名 出生日期 性别 籍贯 贷款
1 913101 王刚 03/11/73 男 广西 350
2 913102 李力 03/21/72 女 江西 200
3 913103 赵冲 04/23/73 女 安徽 150
4 913104 李心 04/28/74 女 辽宁 100
5 924104 章文 05/06/75 男 云南 230
6 924105 曾红 05/03/75 男 河北 50
7 924106 寒雪 01/18/73 男 山西 50
8 924107 陈冬 09/16/75 男 贵州 100
1)按“贷款”建立索引文件SCDK.IDX,应该使用命令 。
2)求出贷款的总和并存入变量DKH中,应该使用命令 。
3)求出贷款的平均值并存入变量PJDK中,应该使用命令 。
4)统计女学生的人数并存入变量NXRS中,应该使用命令 。8.设有职工数据表文件,其内容如下:
编号 姓名 部门 工资 奖金
1001 王刚 会计系 850 200
1002 李力 会计系 700 200
1003 赵冲 会计系 730 200
2001 李心 金融系 900 300
2002 章文 金融系 1000 200
3003 曾红 财务科 900 100
3008 寒雪 财务科 1200 100
3006 陈冬 财务科 1300 100
请对以下命令的执行结果填空:
USE 职工
INDEX ON 部门 TO BM
TOTAL ON 部门 TO TEMP
USE TEMP
SORT ON 工资 TO TEMP1
USE TEMP1
DISP 部门,工资,奖金 &&该命令的显示结果是 。USE 职工
AVERAGE 工资 TO A FOR 部门=“财务科” &&变量A的值为 。
INDEX ON 工资 TO GZ
GO 1
编号,姓名 &&该命令的显示结果为 。
SEEK 900
SKIP 3
工资+奖金 &&该命令的显示结果是 。
LOCATE FOR 工资=900
CONTINUE
姓名 &&该命令的显示结果是 。
9.在学生数据表中,年龄字段为数值型,标志字段为逻辑型,请填空:
USE 学生
INDEX ON 年龄 TO NL
将记录指针定位在第一个年龄是20的记录上,应该使用的命令是 。显示所有年龄为20的学生记录,应该使用命令DISP ALL 。
执行下列命令:
SET INDEX TO
GO 11
之后,把从记录号11到最后一条记录的标志字段设置为逻辑真,应使用命令:
REPLACE 标志 WITH,T,。
10、Visual FoxPro中数据库文件的扩展名(后缀)是 。
11、Visual FoxPro中所谓自由表就是那些不属于任何 的表。
12、一个数据库表只能有一个 索引。
13、在Visual FoxPro中,通过表之间的关联可以实现数据的 完整性。
14、不带条件的DELETE(非SQL)命令将删除指定表的 记录。
15、在编辑参照完整性之前,一般应该先进行 操作。
16,Visual FoxPro 6.0的数据完整性规则通常包括 [1],[2] 和 [3] 。
17、由SET RELATION命令建立的两个表或多个表之间的联系是一种 (永久/临时)联系。
18、为表建立索引后,索引文件名与表文件同名,当表打开时,索引文件自动打开的索引是 [1],这种索引文件的扩展名是 [2] 。
19.Visual FoxPro的主索引和候选索引可以保证数据的 完整性。
20.数据库表之间的关联通过主表的 [1] 索引和子表的 [2] 索引实现。
21.实现表之间临时关联的命令是 。
22.在定义字段有效性规则时,在规则框中输入的表达式类型是 。
23.在Visual FoxPro中,最多同时允许打开 个表(数据库表或自由表)。
24.在Visual FoxPro 6.0中,结构复合索引文件扩展名是 。
25.使用SET RELATION TO命令取消表之间已经存在的 联系。
26.Visual FoxPro数据库表之间的参照完整性是通过表之间的 联系建立的。
27.数据完整性一般包括实体完整性,和参照完整性。
28.参照完整性规则包括更新规则,和插入规则。