1、国家二级 VF机试(操作题)模拟试卷 483及答案与解析 一、基本操作题 1 (1)将当前文件夹下的自由表 class(班级表 )和 teacher(教师表 )添加到学生数据库sdb中。 (2)为班级表 class创建一个主索引和普通索引 (升序 ),主索引的索引名和索引表达式均为 “班级号 ”;普通索引的索引名和索引表达式均为 “班主任号 ”。为教师表teacher。创建一个主索引,索引名和索引表达式均为 “教师号 ”。 (3)通过 “班级号 ”字段建立班级表 class和学生表 student表间的永久联系。通过班级表 class的 “班 主任号 ”字段与教师表 teacher的 “教师号
2、 ”字段建立班级表 class和教师表 teacher间的永久联系。 (4)为以上建立的两个联系设置参照完整性约束:更新规则为 “级联 ”;删除规则为“限制 ”;插入规则为 “限制 ”。 二、简单应用题 2 在考生文件夹下完成下列操作: (1)使用 SQL语句完成下列功能:根据 “职工 ”和 “部门 ”两个表,计算每个部门1980一 1990年出生的职工人数,存储于新表 new中,新表中包括 “部门号 ”和 “人数 ”两个字段,结果按 “人数 ”递减排序。请将 SQL语句存储于 test中并执行 。 (2)修改程序 five prg并执行。程序的功能是: 1)建立数据库表 “学生 ”(表结构为
3、 “姓名 ”20个字符, “学号 ”10个字符,其中学号为主键 ); 2)为刚建立的 “学生 ”表增加一个字段: “总分 ”,整型; 3)定义 “总分 ”的有效性规则: “总分 ”大于等于 0并且小于等于 800; 4)插入一条记录 (”林红 ”、 ”20100808”、 788)到 “学生 ”表中; 5)将刚插入的学号为 “20100808”的记录的总分修改为 786。 三、综合应用题 3 在考生文件夹下已有 一个菜单文件 mymenu mnx,运行相应的菜单程序时会在当前 VFP系统菜单的末尾追加一个 “考试 ”子菜单,如图 3-9所示 (在菜单设计器环境下,使用 “常规选项 ”命令打开相
4、应对话框,在 “位置 ”中指定 “追加 ”)。 在考生文件夹下还有一个表单文件 myform scx,表单中包含一个标签、一个文本框和两个命令按钮,如图 3 10所示。 现在请按要求实现菜单项和命令按钮的相关功能。菜单命令 “统计 ”和 “退出 ”的功能都通过执行过程完成。菜单命令 “统计 ”的功能是运行 myform表单。菜单命令 “退出 ”的功能是恢复标准的系统菜单 。单击 “确定 ”按钮要完成的功能是:从 customers、 orders、 orderitems和 goods表中查询金额大于等于用户在文本框中指定的金额的订单信息。查询结果依次包含订单号、客户号、签订日期、金额四项内容,
5、其中金额为该订单所签所有商品的金额之和。各记录按金额降序排序,金额相同按订单号升序排序。查询去向为表 tabletwo。单击“关闭 ”按钮要完成的功能是:关闭并释放所在表单。最后,请运行菜单程序、打开表单,然后在文本框中输入 1000,单击 “确定 ”按钮完成查询统计。 国家二级 VF机试(操作题)模拟 试卷 483答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1) 命令窗口执行: MOD工 FY DATABASE sdb,打开数据库设计器。 右击数据库设计器,选择【添加表】,在 “打开 ”对话框中双击 “class”、 “teacher”表添加到数据库中。 (2) 右击数据库
6、设计器中的 “class”表,选【修改】,打开 “class”表设计器, “字段 ”选项卡中选 “班级号 ”, “索引 ”列中选 “升序 ”,同样方法为 “班主任号 ”建立 “升序 “排序;在 “索引 ”选项卡中选 “班级号 ”,并修改其 “类型 ”为 “主索引 ”,单击 “确定 ”按钮保存表结构修改。 参照上面的操作,为 “teacher”表建立 “教师号 ”字段的主索引。 (3) 在数据库设计器中拖动 “class”表 “索引 ”下方的主索引 “班级号 ”到 “student”表中“索引 “下方的普通索引 “班级号 ”上,为两个表建立联系。 以同样的方法,为 “teacher”表和 “cl
7、ass”表建立联系,这样便建立了 “student”、“class“和 “teacher”3个表之间的联系。 (4) 选中 “student”表和 “class”表之间的关联线 (被选中的连线会变粗 ),首先执行【数据库】 【清理数据库】菜单命令,清空数据表中带有删除标记的记录,然后执行【数据库】 【编辑参照完整性】菜单命令。 在打开的 “参照完整性 ”对话框的表格中,选择 “更新 ”列下两个单元格中的内容都为 “级联 ”; “删除 ”列下两个单元格中的内容都为 “限制 ”; “插入 ”列下两个单元格中的内容都为 “限制 ”,单击 “确定 ”按钮保存参照完整性的修改。 二、简单应用题 2 【正
8、确答案】 (1)【操作步骤】 步骤 1:建立菜单可以使用 菜单命令的方式,选择 “文件 ”菜单下的 “新建 ”自命令,弹出 “新建 ”对话框,文件类型选择 “程序 ”。 步骤 2:单击 “新建文件 ”图标按钮打开程序编辑界面。 步骤 3:在代码编辑界面输入命令: select部门部门号, count(*)as人数; from职工,部门 where部门部门号 =职工部门号 and year(出生日期 )=1980 and year(出生日期 )=0。 步骤 5:第四个错误处应改为: insert into学生 values(林红 ”, ”20 100808“,788)。 步骤 6:第五个错误处应
9、改为: update学生 set总分 =786 where学号 =20100808“。 步骤 7:修改完成后保存程序,并执行该程序。 三、综合应用题 3 【正确答案】 【操作步骤】步骤 1:打开菜单文件 mymenu mnx文件,增加两个子菜单向:统计和退出, “结果 ”设置均为 “过程 ”,并设置这两个菜单项的 “主菜单 ”为 “考试 ”,如图 4-67所示。 步骤 2:在 “统计 ”菜单的 “过程 ”中输入命令:do form myform步骤 3:在 “退出 ”菜单 的 “过程 ”中输入命令: set sysmenu to default 步骤 4:保存菜单文件。 步骤 5:通过工具栏的
10、 “打开 ”按钮打开 myform sex文件,进入表单设计器环境。步骤 6:双击 “设置 ”按钮,进入按钮的 Click事件代码编辑界面,输入如下面的代码: je=val(This form: Text0: Value)SELECT Orders订单号, customers客户号, Orders签订日期; sum(Orderiterns数量*Goods单价 )As金额; FROM customers INNER JOIN ordersINNER JOIN orderitems; INNER JOIN 9oods ; ON Orderitems商品号 =Goods商品号; ON Orders订单号 =Orderitems订单号; ON customers客户号 =Orders客户号;GROUP BY Orders订单号; HAVING 金额 =je!ORDER BY 4 DESC,Orders:单号; INTO TABLE tabletwo dbf步骤 7:双击 “关闭 ”按钮,进入其 Click事件代码编辑界面,输入如下 代码: this form release步骤 8:保存表单。运行菜单程序和表单,在表单的文本框输入 1000,单击 “确定 ”按钮完成统计查询。