1、国家二级 VF 机试-试卷 97 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.1. 请在考生文件夹下建立一个数据库 KS1。 2将考生文件夹下的自由表 xsda.dbf 和 QKDY4.DBF 加入到新建的数据库 KS1 中。 3为表 xsda 建立主索引,索引名为 primary key,索引表达式为考生编号 4为表 QKDY4 建立候选索引,索引名为 candi key,索引表达式为邮发代号 为表 QKDY4 建立普通索引,索引名为 regular key,索引表达式为订阅期数(分数:2.00)_
2、二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.1. 在考生文件夹中有一个数据库 STSC,其中有数据库表 STUDENT、SCORE 和 COURSE 利用 SQL 语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在 NETPDBF 文件中(库的结构同STUDENT,并在其后加入课程号和课程名字段)。 2在考生文件夹中有一个数据库 STSC,其中有数据库表 STUDENT,使用一对多报表向导制作一个名为 cj2 的报表,存放在考生文件夹中。要求:选择父表STUDENT 表中学号和姓名字段,从子表 SCORE 中选择课程号和成绩,排序
3、字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有仓库数据库 CK3,包括如下所示两个表文件: CK(仓库号 C(4),城市 C(8),面积 N(4)2G(仓库号 C(4),职工号 C(4),工资 N(4) 设计一个名为 ZC3 的菜单,菜单中有两个菜单项“统计”和“退出”。 程序运行时,单击“统计”菜单项应完成下列操作:检索出所有职工的工资都大于。1220 元的职工所管理的仓库信息,将结果保存在 wh1 数据表文件中,该文件的结构和 CK 数据
4、表文件的结构一致,并按面积升序排序。 单击“退出”菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下)(分数:2.00)_国家二级 VF 机试-试卷 97 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.1. 请在考生文件夹下建立一个数据库 KS1。 2将考生文件夹下的自由表 xsda.dbf 和 QKDY4.DBF 加入到新建的数据库 KS1 中。 3为表 xsda 建立主索引,索引名为 primary key,索引表达式为考生编号 4为表 QKDY4 建立候选索引,索引名为 candi
5、 key,索引表达式为邮发代号 为表 QKDY4 建立普通索引,索引名为 regular key,索引表达式为订阅期数(分数:2.00)_正确答案:(正确答案:在“项目管理器”中选择一个数据库,选择“本地视图”,然后选择“新建”按钮,打开“视图设计器”。选择所有字段,在“筛选”栏内输入条件“积分 4=1500“,关闭并保存。在数据库设计器中打开视图,用 sort on 积分 to v2 命令存入新表。)解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.1. 在考生文件夹中有一个数据库 STSC,其中有数据库表 STUDENT、SCORE 和 CO
6、URSE 利用 SQL 语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在 NETPDBF 文件中(库的结构同STUDENT,并在其后加入课程号和课程名字段)。 2在考生文件夹中有一个数据库 STSC,其中有数据库表 STUDENT,使用一对多报表向导制作一个名为 cj2 的报表,存放在考生文件夹中。要求:选择父表STUDENT 表中学号和姓名字段,从子表 SCORE 中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。(分数:2.00)_正确答案:(正确答案:启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“
7、新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择报表”,或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。)解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有仓库数据库 CK3,包括如下所示两个表文件: CK(仓库号 C(4),城市 C(8),面积 N(4)2G(仓库号 C(4),职工号 C(4),工资 N(4) 设计一个名为 ZC3 的菜单,菜单中有两个菜单项“统计”和“退出”。 程序运行时,单击“统计”菜单项应完成下列操作:检索出所有职工的工资都大于
8、。1220 元的职工所管理的仓库信息,将结果保存在 wh1 数据表文件中,该文件的结构和 CK 数据表文件的结构一致,并按面积升序排序。 单击“退出”菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下)(分数:2.00)_正确答案:(正确答案:利用菜单设计器定义两个菜单项,在菜单名称为“统计”的菜单项的结果列中选择“过程”,并通过单击“编辑”按钮打开一个窗中来添加“统计”菜单项要执行的命令。在菜单名称为“退出”的菜单项的结果列中选择“命令”,并在后面的“选项”列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT “统计”菜单项要执行的程序: 首先中打开数据库文件
9、 OPEN DATABASE CK3DBC 下面我们分析所要用到的查询语句的实现,题面要求“检索出所有职工的工资都大于 1220 的职工所管理的仓库信息”,所以得到满足以上条件的仓库号成为解答本题的关键。“所有职工的工资都大于 1220 的职工所管理的仓库”这个条件可以将其分解为同时满足以下两个条件的结果“仓库号不存在于职工的工资小于等于 1220 的职工所管理的仓库号中”并且“仓库号存在于表 ZG 中”,而以上两个条件我们可以利用SQL 轻松写出来。所以最后形成的查询语句以下:SELECT*FROM CK WHERE 仓库号 NOT IN(SELECT 仓库号FROM ZGWHERE 工资=1220)AND 仓库号 IN(SELECT 仓库号 FROMZG)INTO TABLE wh1. dbf。后面的INTOTABLE wh1 .dbf 决定了查询的结果是生成一个 wh1.dbf 文件。 本题还考对查询的排序和查询的去向进行了考核,可以用 ORDER BY order_ ItemASC|DESC来让查询的结果按某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过 INTO TABLE str Table Name 而直接生成一个文件名为 str Table Name 的DBF 表。)解析: