1、国家二级 VF 机试-试卷 11 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.注意:基本操作题为 4 道 SQL 题,请将每道题的 SQL 命令粘贴到 sql_a1.txt 文件,每条命令占一行,第 1 道题的命令是第 1 行,第 2 道题的命令是第 2 行,以此类推;如果某道题没有做,相应行为空。 在考生文件夹下完成下列操作: 1. 利用 SQL SELECT 命令将表 stock sl.dbf 复制到 stock bk.dbf。 2利用 SQL INSERT 命令插入记录(“600028“,4.3
2、6,4.60,5500)到 stock_bk.dbf 表。 3利用 SQL UPDATE 命令将 stock bk.dbf 表中“股票代码”为 600007 的股票“现价”改为 8.88。 4利用 SQL DELETE 命令删除 stock bk.dbf 表中“股票代码”为 600000 的股票。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.1. 在考生文件夹下有一个数据库 stsc,其中有数据库表 student、score 和 course,利用 SQL 语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在 n
3、etp.dbf 文件中(表的结构同student,并在其后加入课程号和课程名字段)。2在考生文件夹下有一个数据库 stsc,其中有数据库表student,使用一对多报表向导制作一个名为 cjb 的报表,存放在考生文件夹下。 要求:从父表 student中选择学号和姓名字段,从广表 score 中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有仓库数据库 ck3,包括如下所示两个表文件: ck(仓库号 C(4),城市 C(8
4、),面积 N(4)zg(仓库号 C(4),职工号 C(4),工资 N(4) 设计一个名为 ZG3 的菜单,菜单中有两个菜单项“统计”和“退出”。 程序运行时,单击“统计”菜单项应完成下列操作:检索所有职工的工资都人于 1220 元(不包括 1220 元)的职工所管理的仓库信息,将结果保存在 wh1 数据表(wh1 为自由表)文件中,该文件的结构和 CK 数据表文件的结构一致,并按面积升序排序。 单击“退出”菜单项,程序终止运行。 (注意:相关数据表文件存在于考生文件火下)(分数:2.00)_国家二级 VF 机试-试卷 11 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题
5、数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.注意:基本操作题为 4 道 SQL 题,请将每道题的 SQL 命令粘贴到 sql_a1.txt 文件,每条命令占一行,第 1 道题的命令是第 1 行,第 2 道题的命令是第 2 行,以此类推;如果某道题没有做,相应行为空。 在考生文件夹下完成下列操作: 1. 利用 SQL SELECT 命令将表 stock sl.dbf 复制到 stock bk.dbf。 2利用 SQL INSERT 命令插入记录(“600028“,4.36,4.60,5500)到 stock_bk.dbf 表。 3利用 SQL UPDATE 命令将 s
6、tock bk.dbf 表中“股票代码”为 600007 的股票“现价”改为 8.88。 4利用 SQL DELETE 命令删除 stock bk.dbf 表中“股票代码”为 600000 的股票。(分数:2.00)_正确答案:(正确答案:请杳看 sql a1.txt 文件,其中的 4 条语句分别为: 1SELECT*FROM stock_sl INTO TABLE stock_bk 2INSERT INTO stock_bk VALUE(“600028“,4.36,4.60,5500) 3UPDATE stock bk SET 现价=8.88 WHERE 股票代码=“600007“ 4DEL
7、ETE FROM stock bk WHERE 股票代码=“600000“)解析:解析:本大题主要考查 SQL 的操作功能,包括数据的插入(INSERT)、更新(UPDATE)和删除(DELETE)。复制表可以使用 SQL 查询功能中表的去向语句来实现。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.1. 在考生文件夹下有一个数据库 stsc,其中有数据库表 student、score 和 course,利用 SQL 语句查询选修了“网络工程”课程的学生的全部信息,并将结果按学号降序存放在 netp.dbf 文件中(表的结构同student,并在其后
8、加入课程号和课程名字段)。2在考生文件夹下有一个数据库 stsc,其中有数据库表student,使用一对多报表向导制作一个名为 cjb 的报表,存放在考生文件夹下。 要求:从父表 student中选择学号和姓名字段,从广表 score 中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表”。(分数:2.00)_正确答案:(正确答案:1.在命令窗口输入命令:MODIFY COMMAND query,打开程序文件编辑器;在程序文件编辑窗口中输入如下程序段: *程序文件 query.prg 程序内容* SELECT student.*,score.课程号
9、,course.课程名; FROM stsc!student lNNER JOIN stsc!score; INNER JOIN stsc!course; ON score.课程号=eourse.课程号; ON student.学号=score.学号; WHERE course.课程名=“网络工程“ ORDER BY student.学号 DESC; INTO TABLE netp.dbf * 保存程序文件,在命令窗口输入命令:DO query,完成查询。 2请按以下步骤完成: 利用菜单命令“文件”“新建”,或从常用工具栏中单击新建图标按钮,在弹出的“新建”对话框中选择“报表”单选项,再单击“
10、向导”图标按钮,系统弹出“向导选取”对话框,在列表框中选择“一对多报表向导”,单击“确定”按钮。 选择“一对多报表向导”后,系统首先要求选择一对多报表中作为父表的数据表文件。根据题意,选择 student 表作为父表,如图 3-1所示,从“可用字段”列表框中将“姓名”和“学号”字段添加到右边的“选定字段”列表框中,用作父表的可用字段。 单击“下一步”设计子表的可用字段,操作方法与父表选取字段的方法一样,将 score表中的“课程号”和“成绩”字段添加到“选定字段”列表框中。 单击“下一步”进入“建立表关联”的设计界面,在此处系统已经默认设置好进行关联的字段:父表的“学号”和子表的“学号”字段。
11、)解析:解析:本大题第 1 小题考查的是利用 SQL 语句进行多表查询以及查询输出,程序设计中应注意数据表之间的关联以及查洵结果的分组排序:第 1 小题主要考查报表向导的使用,只要根据每个向导界面的提示来完成相应的步骤即可。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有仓库数据库 ck3,包括如下所示两个表文件: ck(仓库号 C(4),城市 C(8),面积 N(4)zg(仓库号 C(4),职工号 C(4),工资 N(4) 设计一个名为 ZG3 的菜单,菜单中有两个菜单项“统计”和“退出”。 程序运行时,单击“统计”菜单项应完成下列
12、操作:检索所有职工的工资都人于 1220 元(不包括 1220 元)的职工所管理的仓库信息,将结果保存在 wh1 数据表(wh1 为自由表)文件中,该文件的结构和 CK 数据表文件的结构一致,并按面积升序排序。 单击“退出”菜单项,程序终止运行。 (注意:相关数据表文件存在于考生文件火下)(分数:2.00)_正确答案:(正确答案:在命令窗口输入命令:CREATE MENU zg3,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”图形按钮,进入菜单设设计器环境。根据题目要求,首先输入两个主菜单名称“统计”和“退山”,接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项,如图 2-6 所示。 )解析:解析:本人题考查的主要是利用 SQL 的嵌套查询来完成两个数据表之间的记录查找,此处应注意运算符 IN 和 NOT lN 的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。