1、国家二级 VF机试(操作题)模拟试卷 135及答案与解析 一、基本操作题 1 (1)使用 SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到result dbf表中 (包含 “歌手姓名 ”、 “最高分 ”、 “最低分 ”和 “平均分 ”4个字段 ),要求结果按 “平均分 ”降序排序。 注意:按 “歌手姓名 ”分组,每个歌手的最高分、最低分和平均分由评分表中的“分数 ”字段计算得出。 (2)修改一个名称为 three prg的命令文件。该命令文件用来查询平均成绩大于等于 75分以上的每个 “女 ”同学的学号、姓名、平均 成绩和选课门数,结果按选课门数降序排序输出到表 three中。该
2、命令文件在第 2行、第 3行、第 4行、第 5行有错误 (每行只有一处必须修改的错误,不出错的地方不要做任何修改 ),打开该命令文件,直接在错误处修改并保存。 注意:修改时,不可改变 sql语句的结构和短语的顺序,不允许增加或合并行。 二、简单应用题 2 在考生文件夹下,打开学生数据库 SDB,完成如下简单应用: (1)使用查询设计器设计一个名称为 two的查询,查询每个同学的学号 (来自student表 )、姓名、课程名和成绩。查询结果先按课程 名升序、再按成绩降序排序,查询去向是表,表名是 two。设计完成后,运行该查询。 (2)修改一个名称为 three prg的命令文件。该命令文件用来
3、查询平均成绩大于等于 75分以上的每个 “女 ”同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表 three中。该命令文件在第 2行、第 3行、第 4行、第 5行有错误 (每行只有一处必须修改的错误,不出错的地方不要做任何修改 ),打开该命令文件,直接在错误处修改并保存。 注意:修改时,不可改变 sql语句的结构和短语的顺序,不允许增加或合并行。 三 、综合应用题 3 设计名为 form book的表单 (控件名为 foml,文件名为 form book)。表单的标题设为 “图书情况统计 ”。表单中有一个组合框 (名称为 Comb01)、一个文本框 (名称为Textl)和两
4、个命令按钮 “统计 ”(名称为 Commandl)和 “退出 ”(名称为 Command2)。如图 3-19所示。 运行表单时,组合框中有三个条目 “清华 ”、 “北航 ”、 “科学 ”(只有三个出版社名称,不能输入新的 )可供选择,在组合框中选择出版社名称后,如果单击 “统计 ”命令按钮,则文本框显示出 “图书 ”表中该出版社图书的 总数。 单击 “退出 ”按钮关闭表单。 注意:完成表单设计后要运行表单的所有功能。 国家二级 VF机试(操作题)模拟试卷 135答案与解析 一、基本操作题 1 【正确答案】 (1)在命令窗口执行如下 SQL命令语句执行查询:(2)在命令窗口执行命令:MODIFY
5、 COMMAND three,打开 three prg程序,经修改后代码如下 (此处省略原错误程序代码 ): 二、简单应用题 2 【正确答案】 (1)步骤 1:命令窗口执行: OPEN DATABASE sdb,打开数据库环境。 步骤 2: 命令窗口执行: CREATE QUERY two,打开查询设计器,在 “添加表或视图 ”中,分别双击 student、 sc和 course表,添加到查询设计器中,添加的表会自动在查洵设计器中建立联系。 步骤 3: “字段 ”选项 k的 “可用字段 ”中,依次双击 “student学号 ”、 “student姓名 ”、 “course课程名 ”、 “sc成
6、绩 ”,将它们添加到 “选定字段 ”列表中。 步骤 4:在 “排序依据 ”选项卡内双击 “选定字段 ”列表框中的 “course课程名 ”添加到 “排序条件 ”列表框中, “排序选项 ”选 “升 序 ”;双击 “选定字段 ”中的 “sc成绩 ”,添加到 “排序条件 ”中, “排序选项 ”选 “降序 ”。 步骤 5:执行【查询】 【查询去向】菜单命令,在 “查询去向 ”对话框中单击 “表 ”按钮,在 “表名 ”中输入文件名 two,单击 “确定 ”按钮。 步骤 6:最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 (2)步骤 1:命令窗口执行: NODIFY
7、 CONNAND three,打开 three prg程序,命令代码如下: 1 OPEN DATABASE sdb 2 SELECT学号,姓名, AVG(成绩 )AS平均成 绩, COUNT(成绩 )AS选课门数; 3 FROH student JOIN sc OF student学 号 =sc学号; 4 WHERE性别 =“女 “AND AVG(成绩 )=75; 5 GROuP BY学号; 6 ORDER BY 4 desc : 7 INTO TABLE three 修改程序中的错误行, 修改后的程序如下: 1 OPEN DATABASE sdb 2 SELECT student学号,姓名,
8、 AVG(成绩 )平 均成绩, COUNT(成绩 )选课门数; &在 “学号 ” 段前加前缀 “student”,指明 “学号 ”来 student表 3 FROM student JOIN sc ON student学 号 =sc学号; &内联接查询中联接条件使用 ON短语 4 WHERE性别 =“女 “; 5 GROUP BY student学号 HAVING AVG(成 绩 )=75; &having短语用来指定分组的条件 6 ORDER BY 4 desc ; 7 INTO TABLE three 步骤 2:单击 “常用 ”工具栏中的 “保存 ”按钮,将程序文件保存到考生文件灾下。 【
9、试题解析】 (1)本题主要考查的是查询设计器的使用,首先要判断查询数据源包括哪些数据表,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段 ,设置查询条件等完成查询。本题操作时要注意 3个表的添加顺序,要按照 student表、 sc表和 course表的顺序进行添加,否则会导致两个表之间无法建立联系,或是导致查询出错。 (2)本题主要考查 SQL的联接查询和分组计算查询。联接查询要判断查询输出字段来自哪个表,再正确设置联接条件。在使用内联接时,联接条件应使用 ON短语。当 FRON之后的多个关系中含有相同的属性名时,须用关系前缀指明属性所属的关系,本查询中用到 student和 s
10、c表中都含有 “学号 ”字段,故应写为“stud学号 ”。 “平均成绩大于等于 75”是 分组条件,使用 HAVING短语。 三、综合应用题 3 【正确答案】 步骤 1:命令窗门执行: CREATE FORM form-book,打开表单设计器新建表单。从 “表单控件 ”工具栏中向表单添加一个组合框、一个文本框及两个命令按钮控件。 步骤 2:选择表甲删 象,修改刘 象属性值,见表 4-25。步骤 3:编写各个命令按钮的 Click事件代码如下: *“统计 ”按钮的 Click事件代码 * 1 SELECT COUNT(*) FROM BOOK WHERE 出 版社=THISFORM COMB0
11、1 DISPLAYVALUE; 2 INTO ARRAY TEMP 3 THISFORM TEXTl VALUE=TEMP(1) *“退出 ”按钮的 C1ick事件代码 * THISFORM RELEASE 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文什保存到考生文件夹下。 【试题解析】 本大题考查了表单及控件的常用属性和方法的设置; SQL简单查询。 本题的关键是 “统计 ”命令按钮的 Click事件的编写,这里求总数用 count()函数,组合框当前值用 Value属性表示,将 求出的总数存放到数组中,再将数组中的值赋给文本框的 value值 (即文本框中显示的内容 )。