1、国家二级 VF机试模拟试卷 3及答案与解析 一、基本操作题( 30分) 1 (1)请在考生文件夹下建立一个数据库 ks4。 (2)将考生文件夹下的自由表 stud、 cour、 scor加入到数据库 ks4中。 (3)为 stud表建立主索引,索引名和索引表达式均为 “学号 ”; 为 cour表建立主索引,索引名和索引表达式均为 “课程编号 ”: 为 scor表建立两个普通索引,其中一个索引名和索引表达式均为 “学号 ”,另一个索引名和索引 表达式均为 “课程编号 ”。 (4)在以上建立的各个索引的基础 上为 3个表建立联系。 二、简单应用题( 40分) 2 (1)在考生文件夹下有一个数据库
2、gcs,其中 gongch表结构如下: gongch(编号 C(4),姓名 C(10),性别 C(2),工资 N(7, 2),年龄 N(2),职称C(10) 现在要对 gongch表进行修改,指定 “编号 ”为主索引,索引名和索引表达式均为“编号 ”;指定 “职称 ”为普通索引,索引名和索引表达式均为 “职称 ”; “年龄 ”字段的有效性规则在 25至 65之间 (含 25和 65),默认值是 45。 (2)在考生文件夹中有数据库 gcs,其中有 数据库表 gongch。在考生文件夹下设计一个表单,该表单为 gcs库中 gongch表窗口式输入界面,表单上还有一个名为cmdclose的按钮,标
3、题名为 “关闭 ”,单击该按钮,使用 ThisForm.Release退出表单。最后将表单存放在考生文件夹中,表单文件名是 form window。 提示:在设计表单时,打开 gcs数据库设计器,将 gongch表拖入到表单中就实现了 gongch表的窗口式输入界面,不需要其他设置或修改。 三、综合应用题( 30分) 3 在考生文件夹下有仓库数据库 chaxun3包括 3个表 文件: zg(仓库号 C(4),职工号 C(4),工资 N(4) dgd(职工号 C(4),供应商号 C(4),订购单号 C(4),订购日期 D,总金额 N(10) gys(供应商号 C(4),供应商名 C(16),地址
4、 C(10) 设计一个名为 cx3的菜单,菜单中有两个菜单项 “查询 ”和 “退出 ”。 程序运行时,单击 “查询 ”应完成下列操作:检索出工资多于 1230元的职工向北京的供应商发出的订购单信息,并将结果按总金额降序排列存放在 order文件中。 单击 “退出 ”菜单项,程序终止运行。 (注:相关数据表文 件存在于考生文件夹下 ) 国家二级 VF机试模拟试卷 3答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)在命令窗口输入命令: MODIFY DATABASE ks4,新建一个数据库。 (2)右键单击数据库设计器,选择 “添加表 ”快捷菜单命令,系统弹出 “打开 ”对话框,将
5、考生文件夹下的 stud、 coar和 scor三个自由表分别添加到数据库 ks4中。 (3)在数据库设计器中,右键单击数据库表 stud.dbf,选择 “修改 ”快捷菜单命令,进入 stud.dbf的数据表设计器界面,在 “字段 ”选项卡 中为 “学号 ”字段选择一个索引排序,然后单击 “索引 ”选项卡,此处字段索引名默认的为 “学号 ”,在 “索引 ”下拉框中选择索引类型为 “主索引 ”。根据题意,以同样的方法为数据表 cour和 scor建立相应的索引。 (4)在数据库设计器中,将 stud表中 “索引 ”下面的 “学号 ”主索引字段拖到 scor表中“索引 ”下面的 “学号 ”索引字段
6、上,建立 stud和 scor两表之间的联系,以同样的方法建立 cour和 scor两表间的联系,关联字段为 “课程编号 ”,这样就建立了 3个表之间的联系。 【试题解析】 本大题主要考查的是数据 库和数据表之间的联系,以及字段索引的建立。新建数据库可以通过菜单命令、工具栏按钮或直接输入命令来建立,添加或修改数据库表以及建立表之间的联系,可以通过数据库设计器来完成,建立表索引可以在数据表设计器中完成。 二、简单应用题( 40分) 2 【正确答案】 (1)在命令窗口输入两条命令: USE gongch & 打开数据表 gongch MODIFY STRUCTURE & 修改数据表结构 打开表设计
7、器后,在 “字段 ”选项卡中为 “编号 ”字段选择一个索引排序,然后单击 “索引 ”选项卡,在此选项卡中,字段索引名默认的为 “编号 ”,在 “索引 ”下拉框中选择索引类型为 “主索引 ”,建立表的主索引;以同样的方法为 “职称 ”字段建立普通索引。 在 gongch表设计器的 “字段 ”选项卡中,选中 “年龄 ”字段,根据题意,在 “字段有效性 ”的 “规则 ”文本框中输入 “年龄 =65.AND.年龄 =25”,限定字段的取值范围。在 “默认值 ”文本框中输入 “45”,建立该字段的默认值,如图 3-15所示。 (2)利用菜单命令 “文件 ”“新建 ”,或单击常用工具栏的 “新建 ”按钮,
8、打开 “新建 ”对话框,选择 “表单 ”单选项,然后单击 “新建文件 ”按钮,打开表单设计器。 在表单设计器中,鼠标右键单击空白表单,选择 “数据环境 ”快捷菜单命令,打开表单的数据环境,将数据表文件 gongch添加到数据环境中,将数据环境中的 gongch表拖放到表单中,可看到在表单中出现一个表格控件,此时实现了 gongch表的窗 口式输入界面,如图 3-16所示。 最后在 “表单控件工具栏 ”中,选中命令按钮控件添加到表单中,在属性对话框中修改该命令按钮的 Caption属性值为 “关闭 ”,修改 Name属性值为 cmdclose,双击命令按钮,在 Click事件中输入程序行 Thi
9、sform。 Release,用来关闭表单。 单击常用工具栏中的 “运行 ”按钮,系统首先要求保存该表单文件,在弹出的 “另存为 ”对话框中输入表单文件名 form window,保存在考生文件夹下,运行表单。 【试题解析】 本大题 1小题考查的是数据库中数据的完整性,包括 实体完整性以及域完整性和约束规则两个方面,这些都是在表设计器中完成的,且只有数据库表才可以进行数据完整性的设置; 2小题中考查的是在表单中设定数据环境,通过表单的数据环境快速建立表单控件和数据之间的联系。 三、综合应用题( 30分) 3 【正确答案】 在命令窗口输入命令: CREATE MENU cx3,系统弹出一个 “新
10、建菜单 ”对话框,在对话框中单击 “菜单 ”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称 “查询 ”和 “退出 ”,接着在 “查询 ”菜单行的 “结果 ”下拉框中选择 “过程 ”选项 (用于编写程序 ),在 “退出 ”菜单行的 “结果 ”下拉框中选择 “命令 ”选项。 单击 “查询 ”菜单行中的 “创建 ”按钮,进入程序设计的编辑窗口,输入如下程序段: *“查询 ”菜单命令的程序设计 * SELECT * FROM dgd; WHERE职工号 IN(SELECT职工号 FROM zg WHERE工资 1230); AND供应商号 IN(SELECT供应商号 FROM gys
11、WHERE地址 =“北京 “); ORDER BY总金额 DESC; 在 “退出 ”菜单项的 “命令 ”文本框中编写程序代码: SET SYSMENU TO DEFAULT 选择菜单命令 “菜单 ”“生成 ”,生成一个菜单文件 cx3.mpr。关闭设计窗口,在命令窗口输入命令: DO cx3.mpr,看到 Visual FoxPro的菜单栏被新建的菜单所代替,单击 “退出 ”菜单命令将恢复系统菜单。 执行 “查询 ”菜单命令后,系统自动生成新数据表文件 order.dbf用来保存查询结果。 【试题解析】 本大题考查的主要是利用 SQL的嵌套查询来完成多个数据表之间的记录查找,此处应注意运算符 IN的使用,以及排序 短语 ORDER BY的使用;在菜单的设计过程中主要是注意两个菜单命令在 “结果 ”下拉框中应选择的类型。