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