[计算机类试卷]国家二级VF机试模拟试卷216及答案与解析.doc

上传人:eventdump275 文档编号:500471 上传时间:2018-11-29 格式:DOC 页数:7 大小:88KB
下载 相关 举报
[计算机类试卷]国家二级VF机试模拟试卷216及答案与解析.doc_第1页
第1页 / 共7页
[计算机类试卷]国家二级VF机试模拟试卷216及答案与解析.doc_第2页
第2页 / 共7页
[计算机类试卷]国家二级VF机试模拟试卷216及答案与解析.doc_第3页
第3页 / 共7页
[计算机类试卷]国家二级VF机试模拟试卷216及答案与解析.doc_第4页
第4页 / 共7页
[计算机类试卷]国家二级VF机试模拟试卷216及答案与解析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、国家二级 VF机试模拟试卷 216及答案与解析 一、基本操作题( 30分) 1 (1)建立数据库 orders_manage。 (2)将自由表 employee和 orders添加到新建的 orders_manage数据库中。 (3)表 employee与表 orders具有一对多联系,为建立两表之间的联系建立必要的索引。 (4)建立两表之间的联系并设置参照完整性规则如下:更新规则为 “级联 ”,删除规则为 “级联 ”,插入规则为 “限制 ”。 二、简单应用题( 40分) 2 在考生文件夹下的 selldb数据库中包含 “部门表 ”、 “销售表 ”、 “部门成本表 ”和 “商品代码表 ”等。

2、(1)在考生文件夹下已有程序文件 three prg,其功能如下:查询 2006年各部门商品的年销售利润情况。查询内容为: “部门号 ”、 “部门名 ”、 “商品号 ”、 “商品名 ”和 “年销售利润 ”,其中 “年销售利润 ”等于销售表中一季度利润、二季度利润、三季度利润和四季度利润的合计。查询结果按部门号升序,然后按年销售利润降序排序,并将查询结果输出到表 taba中。表 taba的字段名分别为: “部门号 ”、 “部门名 ”、 “商品号 ”、 “商品名 ”和 “年销售利 润 ”。 请打开程序文件 three prg,修改其中的错误,然后运行该程序。 (2)请用 SQL语句查询 2005年

3、度的各部门的 “部门号 ”、 “部门名 ”、 “一季度利润合计 ”、 “二季度利润合计 ”、 “三季度利润合计 ”、 “四季度利润合计 ”。查询结果按“部门号 ”升序排序存入表 account中,并将 SQL语句存入 four prg中。 注意:表 account dbf中的字段名依次为 “部门号 ”、 “部门名 ”、 “一季度利润 ”、“二季度利润 ”、 “三季度利润 ”和 “四季度利润 ”。 三、综合应用题( 30分) 3 在考生文件夹下创建一个下拉式菜单 mymenu mnx,并生成菜单程序mymenu mpr。运行该菜单程序时会在当前 Visual FoxPro系统菜单的 “帮助 ”子

4、菜单之前插入一个 “考试 ”子菜单,如图 1-16所示。菜单命令 “统计 ”和 “返回 ”的功能都通过执行过程完成。 菜单命令 “统计 ”的功能是以组为单位求订单金额的和。统计结果包含 “组别 ”、 “负责人 ”和 “合计 ”3项内容,其中 “负责人 ”为该组组长 (由 employee中的 “职务 ”一项指定 )的姓名, “合计 ”为该组所有职员所签订单的金额总和。统计结果应按 “合计 ”降序排 序,并存放在 tabletwo表中。 菜单命令 “返回 ”的功能是返回标准的系统菜单。 菜单程序生成后,运行菜单程序并依次执行 “统计 ”和 “返回 ”菜单命令。 国家二级 VF机试模拟试卷 216

5、答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)在命令窗口执行命令; MODIFY DATABASEorders_manaqe,新建数据库并打开数据库设计器。 (2)在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的 “打开 ”对话框中双击 employee表,将表添加到数据库中,以同样的方法将 orders表添加到数据库中。如图 2-27和图 2-28所示。 (3) 右击数据库设计器中的 employee表,选择【修改】快捷菜单命令,打开 employee表设计器,在 “字段 ”选项卡中选中 “职工号 ”,在 “索引 ”列中选择 “升序 ”,然后在 “索引 ”选项

6、卡中修改 “索引类型 ”为 “主索引 ”,建立 “职工号 ”字段的主索引,单击 “确定 ”按钮保存表结构修改。 右击数据库设计器中的 orders表,选择【修改】快捷菜单命令,打开 orders表设计器,在“字段 ”选项卡中选中 “职工号 ”,在 “索引 ”列中选择 “升序 ”,建立 “职工号 ”字段的普通索引 ,单击 “确定 ”按钮保存表结构修改。 拖动 employee表 “索引 ”下方的主索引 “职工号 ”到 ordlers表中 “索引 ”下方的普通索引 “职工号 ”上,为两个表建立联系。 (4) 选中 employee和 orders两个表之间的连线 (被选中的线会变粗 ),首先执行【

7、数据库】 【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】 【编辑参照完整性】菜单命令。 在打开的 “参照完整性 ”对话框的表格中,选择 “更新 ”下的单元格内容为 “级联 ”; “删除 ”下的单元格内容为“级联 ”; “插入 ”下的单元格内容为 “限制 ”。单击 “确定 ”按钮保存参照完整性的修改。 【试题解析】 本大题考查了数据库的建立及使用、索引的建立,建立表间联系及参照完整性的设置。 为数据库添加表可以在数据库设计器中进行;参照完整性是针对同一数据库中的两个表进行设置的,因此建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引 (或候选

8、索引 ),另一个表要建立普通索引。本题的重点是如何确立索引。由于 employee表和 orders表的关联字段是 “职工号 ”,而“职工号 ”在 employee表中是没有重复值的,所以应该在 employee表中的 “职工号 ”字段上建立主索引,相应地,在 orders表的 “职工号 ”字段上建立普通索引。 二、简单应用题( 40分) 2 【正确答案】 (1)步骤 1:在命令窗口执行命令: MODIFY COMMAND three,打开程序文件,文件中的命令代码如下: *请改正以下语句代码中的错误,然后运行程序。 SELECT 部门表部门号,部门表部门名,销售表商品号,商品代码表商品名,销

9、售表一季度利润 +销售表二季度利润 +销售表三季度利润 +销售表四季度利润 AS年销售利润; FRON 部门表,销售表,商品代码表; ON 销售表商品号 =商品代码表商品号; ON 部门表部门号 =销售表部门号; WHERE 销售表年度 =“2006“; ORDER 1, 5; TO TABLE TABA 修改程序中的错误行,修改后的程序如下: SELECT 部门表部门号,部门表部门名,销售表商品号,商品代码表商品名,销售表一季度利润 +销售表二季度利润 +销售表三季度利润 +销售表四季度利润 AS年销售利润; FRON selldb!商品代码表 INNER JOIN selldb!销售表 T

10、NNER JOIN selldb!部门表; ON 销售表商品号 =商品代码表商品号; ON 部门表部门号 =销售表部门号; WHERE 销售表年度 =“2006“; ORDER BY 1, 5 DESC; INTO TABLE TABA 步骤 2:保存文件修改,在命令窗口执行命令: DO three,执行程序文件。 (2)步骤 1:在命令窗口执行命令: NODIFY COMMAND four,打开程序文件,文件中的命令代码如下: SELECT 部门表部门号,部门名, SUN(一季度利润 ) 一季度利润, SUN(二季度利润 )二季度利润, SUN(三季度利润 )三季度利润, SUN(四季度利润

11、 )四季度利润; FRON部门表,销售表; NHERE部门表部门号 =销售表部门号 AND年度 =“2005“; GROUP BY部门表部门号; ORDER BY销售表部门号; INTO TABLE account 步骤 2:保存文件修改,在命令窗口执行命令: DO four,执行程序文件。 【试题解析】 (1)本题考查了 SQL简单联接查询,语句比较简单。题目提供的程序中共有 3处错误,第一处是多表联接的表示错误。当进行多表联接时,如果没有使用 JOTN指定联接的表,而是将所有联接的表都放在 FROM短语后,则表间的联接条件不能使用 ON短语指定,只能将联接条件放在 WHERE短语之后,各联

12、接条件通过 AND运算符联接。 第二处错误是排序短语的错误,排序短语关键字是 ORDER BY。 第三处错误是查询输出短语错误,将结果保存到数据表中应使用 INTO TABLE短语。 (2)本题主要考查的是 SQL分组计算查询。本题根据 “部门号 ”字段分组,计算每个部门每个季度销售利润合计,利用 SUN()函数求合计值。 三、综合应用题( 30分) 3 【正确答案】 步骤 1:在命令窗口执行命令: CREATE MENU mymenu,在弹出的 “新建菜单 ”对话框中单击 “菜单 ”图标按钮,打开菜单设计器。 步骤 2:在菜单设计器 “菜单名称 ”列的文本框中输入 “考试 ”,在 “结果 ”

13、下拉框中选择 “子菜单 ”,单击 “创建 ” 按钮进入下级菜单设计,在 “菜单名称 ”列的第 1、 2行文本框 中依次输入子菜单名 “统计 ”、 “返回 ”,将 “统计 ”和 “返回 ”子菜单的 “结果 ”都设置为 “过程 ”,单击 “统计 ”子菜单行的 “创建 ”命令按钮,打开过程编辑框编写过程代码。 步骤 3:两个子菜单的命令代码如下: *“统计 ”子菜单的过程代码 * SELECT Employee组别, SUM(Orders金额 ) AS合计; FROM订单管理 !employee INNER JOIN订单管理 !orders; ON Employee职员号 =Orders职员号; G

14、ROUP BY Employee组别; INTO CURSOR RES SELECT Res组别, Employee姓名 AS负责人, Res合计, FROM Res, Employee; WHERE Res组别 =Employee组别; AND Employee职务 =”组长 ”; ORDER BY Res合计 DESC; INTO TABLE tabletwo dbf *“返回 ”子菜单的命令代码 * SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 步骤 4:执行【显示】 【常规选项】菜单命令,在 “位置 ”区域选中 “在 之前 ”单选项,然后在该选项后

15、面出现的下拉框中选择 “帮助 (H)”。则新建立的子菜单会在当前 Visual FoxPro系统菜单的 “帮助 ”菜单命令前显示。 步骤 5:执行【菜单】 【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击 “是 ”按钮,接着系统会弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件。 步骤 6:在命令窗口执行命令: DO mymenu mpr,运行菜单,并执行“统计 ”菜单命令。 【试题解析】 本大题考查菜单的建立及使用; SQL简单联接查询和分组计算查询。 表的建立和菜单的建立都属于比较基本的操作,注意向系统菜单追加菜单项时,应在菜单设计器中打开 “常规

16、选项 ”对话框进行设置。本题的关键是菜单命令中 SQL查询、插入和更新语句的设计。编写程序代码基本思路如下: 首先利用 SQL计算查询,统计每组的订单金额总和,将结果保存到临时表中,其中,利用 SUM()函数可以计算订单金额总和,利用 GROUP BY短语按 “组别 ”字段分细计算。 接着,对新生成的临时表与 Emp1表进行 联接查询,两个表的联接字段为 “组别 ”(注意:该字段要作为临时表的输出字段,此处才可以进行联接 ),同时,通过WHERE短语筛选 Empl表中职务为 “组长 ”的职员记录 (这可以保证一个订单金额总和字段仅与一条职员信息联接,否则将导致查询结果表中会生成多条职员记录与订单金额总和联接,因为同一个 “组别 ”中有多个职员记录 );最后将查询结果保存到永久性表中,完成查询。 菜单设计完成后,注意要生成可执行的菜单文件,并执行 “统计 ”菜单命令。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1