第三章习题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、思考题

1.什么是数据库表?什么是自由表?

2.什么是表结构?表的哪几种字段的宽度是固定不变的?

3.打开表文件之后,为什么在Visual FoxPro主窗口没有任何显示信息?

4.如何编辑备注型字段的值?

5.LIST命令和DISPLAY命令有什么区别?

6.如果缺省范围子句,哪几条命令只对当前记录操作?

7.ZAP命令和PACK命令有什么区别?

8.什么是记录指针,它的作用是什么?

9.什么是排序和索引?为什么索引的查询效率高?

10.Visual FoxPro有几种类型的索引?是否所有的索引都可以在自由表中使用?在表设计器中可以创建的索引文件是哪一种?

11.什么是主控索引文件和主控索引标识?它们的作用是什么?

12.LOCATE、FIND、SEEK命令在使用上有什么区别?怎么判断查询是否成功?

二、选择题

1.某表文件有5个字段,其中3 个字符型宽度分别为6、12、和10,另外还有一个逻辑型字段和一个日期型字段,该数据库文件中每条记录的总字节数是。

A)37B)38C)39D)40

2.在表文件文件尾部增加一条空记录,应该使用命令。

A)APPEND B)APPEND BLANK C)INSERT D)INSERT BLANK 3.设表文件及其索引文件已打开,为了确保指针定位在物理记录号为1的记录上,应该使用命令。

A)GO TOP B)GO BOF()C)SKIP 1D)GO 1

4.设职工表文件已经打开,其中有工资字段,要把指针定位在第一个工资大于620元的记录上,应使用命令。

A)FIND FOR 工资>620 B)SEEK 工资>620

C)LOCATE FOR 工资>620 D)FIND 工资>620

5.删除学生表中姓王的学生,应使用命令。

A)DELETE FOR “王”$姓名B)DELETE FOR SUBSTR (姓名,1,2)=“王”

C)DELETE FOR 姓名=王* D)DELETE FOR RIGHT (姓名,1)=“王”6.USE职工

LOCATE FOR工资=900

为了将指针定位在下一个工资是900的记录上,应该接着使用命令。

A)SKIP B)CONTINUE C)SEEK 900D)FIND 900 7.设当前表有10条记录,当EOF()为真时,命令?RECNO()的显示结果是。

A)10 B)11 C)0 D)空

8.设当前表中姓名字段为字符型,要把内存变量NAME 字符串的内容输入到当前记录的姓名字段,应当使用命令。

A)姓名=NAME B)REPLACE 姓名WITH NAME

C)REPLACE 姓名WITH &NAME D)REPLACE ALL 姓名WITH NAME 9.在Visual FoxPro中,打开索引文件的命令中,错误的是。

A) USE<库文件名> INDEX TO <索引文件名>

B) USE<库文件名> INDEX <索引文件名>

C) INDEX ON 职工号TO <索引文件名>

D) SET INDEX TO <索引文件名>

10.顺序执行下面命令之后,屏幕所显示的记录号顺序是。

USE XYZ

GO 6

LIST NEXT 4

A)1~4 B)4~7 C)6~9 D)7~10

11.在Visual FoxPro中,可以使用FOUND()函数来检测查询是否成功的命令包括。

A) LIST、FIND、SEEK B)FIND、SEEK、LOCATE

C) FIND、DISPLAY、SEEK D) LIST、SEEK、LOCATE

三、上机题

1.建立表与复制表操作:

(1)建立一个职工表(zg.dbf),字段有:职工号(C,6),姓名(C,8),性别(L),出生日期(D),职称(C,10),基本工资(N,8,2),奖金(N,8,2),实发工资(N,8,2),其内容如下:

(2)修改职工表表结构,在实发工资前增加一个新的字段,扣款(N,8,2)。

(3)将zg.dbf的表结构复制到新表zg1.dbf中。

(4)将zg.dbf 中的所有男教师的记录都复制到zg2.dbf中。

2.写出下列显示表记录的命令。

(1)显示zg.dbf中所有的讲师

(2)显示所有女教师的姓名

(3)显示70年后出生的教师

(4)显示第三条记录的内容

(5)显示前三条男教师的姓名,出生日期,职称

(6)从第3条记录开始显示到末尾记录

(7)显示所有男教授的姓名、年龄、基本工资

(8)显示所有男性教授或副教授

(9)显示所有姓林的教师

(10)显示姓名中有“林”字的记录。

3.修改命令。

(1)计算实发工资字段的值,实发工资=基本工资+津贴-扣款。

(2)在实发工资为0的情况下,分别执行下列三条命令,比较它们的执行结果。

Repl 实发工资with 基本工资+津贴-扣款

Repl 实发工资with 基本工资+津贴-扣款for 职称="讲师"

Repl all 实发工资with 基本工资+津贴-扣款

4.完成下列删除与恢复的命令。

(1)删除所有男教师的记录

(2)在删除所有男教师的记录的前提下,除姓“林”的外,恢复所有男教师的记录

(3)在删除所有男教师的记录的前提下,除姓“陈”的助讲外,恢复所有男教师的记录5.对zg.dbf完成下排序、索引命令。

(1)按基本工资降序建立排序文件szg1.dbf

(2)按基本工资建立单项索引,文件名为izg1.idx

(3)按基本工资建立结构复合索引文件,按降序索引

(4)按基本工资建立独立复合索引文件,索引标识为jbgz,按降序索引,文件名为zgd1.cdx (5)按基本工资升序,基本工资相同再按出生年月建立索引文件,文件名为zgd2.cdx (6)分别按姓名、职称、出生日期建立结构复合索引文件,索引标识分别为XM、ZC、BIRTHDAY。

(7)打开前面所建的所有索引文件,设置结构复合索引文件为主控索引文件,设置XM为主控索引。

6.查找与统计。

(1)查找林一凡

(2)查找姓王的人

(3)查找工资是820.00的记录

(4)查找职工号为3002姓名为丁强的记录

(5)查找66年8月4日出生,职称为副教授的记录

(6)统计男教师与女教师的人数

(7)统计女教师的实发工资、津贴总和

(8)求男教师的平均基本工资

(9)计算平均基本工资、平均津贴、最高基本工资和最少基本工资

(10)按职称进行基本工资的汇总,汇总结果写入表zchz.dbf

相关文档
最新文档