1、国家二级 VF机试(操作题)模拟试卷 452及答案与解析 一、基本操作题 1 在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作: (1)在学生表 student中增加一个名为 “照片 ”的字段,字段数据类型为 “通用 ”。 (2)在教师表 teacher中建立一个索引名为 “教师号 ”的主索引(升序),索引表达式为教师号。在课程表 course中建立一个普通索引(升序),索引名为 “教师号 ”,索引表达式为教师号。 (3)建立选课表 SC和学生表 student之间的永久联系;建立选课表 sc与课程表course之 间的永久联系;建立教师表 teacher和课程表 cour
2、se之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为 “级联 ”;删除规则为 “限制 ”;插入规则为 “限制 ”。 (4)使用表单向导建立一个名称为 sform的表单。要求选择学生表 student中所有字段;表单样式为阴影式;按钮类型为图片按钮;选定排序字段为学号(升序);表单标题为 “学生表数据输入 ”。 二、简单应用题 2 在考生文件夹下,打开学生数据库 sdb,完成如下简单应用: (1)使用查询设计器设计一个名称为 svg的查询,查询每个 “女 ”同学 的学号(来自student表)、姓名、课程名、成绩和任课教师(来自 teacher表的教师名),查询结果按学号升序排序
3、并输出到表 one(查询去向)中。设计完成后,运行该查询。表 one中的字段分别为:学号、姓名、课程名、成绩、任课教师。 (2)在考生文件夹下,使用快捷菜单设计器设计一个名称为 smenu的快捷菜单。要求如下: 菜单包括 “数据浏览 ”和 “退出 ”两个菜单项: “数据浏览 ”菜单包括 “学生表 ”、 “选课表 ”和 “课程表 ”三个子菜单: 学生表子菜单在过程中使用 SQL语句 “SELECT*FROM student”查询学生表的记录。 选课表子菜单在过程中使用 SQL语句 “SELECT*FROM SC”查询学生选课表的记录。 课程表选项在过程中使用 SQL语句 “SELECT*FROM
4、 course”查询课程表的记录。 “退出 ”菜单使用命令返回系统默认的菜单。 三、综合应用题 3 在考生文件夹下,先打开学生数据库 sdb,然后创建文件名为 tform的表单,完成如下综合应用: 在该表单中设计两个命令按钮,各命令按钮的功能如下: “查询 ”按钮 (Commandl):在该按钮的 “Click”事件中使用 SQL的 SELECT命令 查询选课数量大于等于 4门且平均成绩大于等于 75分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 two中。表 two中的字段名分别为:学号、姓名、平均成绩、选课门数。 “退出 ”按钮 ( Command2):
5、单击 “退出 ”按钮时,关闭表单。 表单设计完成后,运行该表单,点击 “查询 ”按钮进行查询。 国家二级 VF机试(操作题)模拟试卷 452答案与解析 一、基本操作题 1 【正确答案】 (1) 命令窗口执行: MODIFY DATABASE sdb, 打开数据库设计器 。 数据库设计器中,右击 student表,选择【修改】,打开表设计器, “字段 ”选项卡的 “字段名 ”列的最后一个空白文本框中输入字段名 “照片 ”, “类型 ”下拉框中选择“通用型 ”,单击 “确定 ”按钮保存表结构修改。 (2) 使用上题中为 student表建立索引类似的方法为 teacher表建立索引。 数据库设计器
6、中,右击 course表,选择【修改】,打开表设计器, “字段 ”选项卡中选中 “教师号 ”,在 “索引 ”列中选择 “升序 ”,单击 “确定 ”按钮保存表结构修改。 (3) 在数据库设计器中,拖动 student表 “索引 ”下方的 主索引 “学号 ”到 sc表中 “索引 ”下方的普通索引 “学号 ”上,为两个表建立联系。 拖动 course表 “索引 ”下方的主索引 “课程号 ”到 sc表中 “索引 ”下方的普通索引 “课程号 ”上,为两个表建立联系。 拖动 teacher表 “索引 ”下方的主索引 “教师号 ”到 course表中 “索引 ”下方的普通索引 “教师号 ”上,为两个表建立联
7、系。 选中 student和 sc两个表之间的关联线(被选中的线会变粗),首先执行【数据库】 【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】 【编辑参照完整性】菜单命令。 在 “参照完整性 ”对话框的表格中,将其中的三对关系均做如下操作:选择 “更新 ”下的单元格内容为 “级联 ”; “删除 ”下的单元格内容为 “限制 ”; “插入 ”下的单元格内容为 “限制 ”。单击 “确定 ”按钮保存参照完整性的修改。 (4) 命令窗口执行: OPEN DATABASE sdb,打开 sdb数据库。 执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,
8、在 “新建 ”对话框中选 “表单 ”选项,单击 “向导 ”图标按钮,弹出 “向导选取 ”对话框,选中“表单向导 ”项,单击 “确定 ”按钮,启动表单向导。 ”步骤 1字段选取 ”的 “数据库和表 ”下选 “student”表,将 “可用字段 ”全部添加到“选定字段 ”,单击 “下一步 ”。 “步骤 2选择表单样式 ”界面的 “样式 ”下选中 “阴影式 ”,在 “按钮类型 ”下选择 “图片按钮 ”,单击 “下一步 ”。 “步骤 3排序次序 ”中双击 “可用的字段或索引标识 ”中的 “学号 ”字段到 “选定字段 ”列表中,再选择 “升序 ”,单击 “下一步 ”。 “步骤 4完成 ”界面中的 “请键
9、入表单标题 ”下方文本框中输入 “学生表数据输入 ”,单击 “完成 ”按钮。 在 “另存为 ”对话框的 “保存表单为: ”框中输入表单文件名 sform,单击 “保存 ”按钮。 使用数据库;索引;参照完整性;创建和运行表单。 【试题解析】 本题考查了表结构的修改:索引的建立及参照完整性的设置:表单向导的使用。 在表设计器的 “字段 ”选项卡中选择 “排序 ”中的 “升序 ”或 “降序 ”为指定的字段建立一个索引名与索引表达式相同的普通索引, “索引 ”选项卡中可对索引名或索引类型进行修改。 在建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引(或候选索引),另一个表要建
10、立普通索引,建立 两个表联系后要先清理数据库,然后再设置参照完整性。 二、简单应用题 2 【正确答案】 (1)步骤 1:命令窗口执行: OPEN DATABASE sdb, 打开数据库环境。 步骤 2:命令窗口执行: CREATE QUERY svg, 打开查询设计器,在 “添加表或视图 ”对话框中,分别双击 student表、 sc表、 course表和 teacher表添加到查询设计器中,在查询设计器中自动建立 4个表之间联系。 步骤 3:在 “字段 ”选项卡的 “可用字段 ”中,依次双击 “student学号 ”、 “student性名 ”、 “course课程名 ”、 “sc成绩 ”,
11、添加到 “选定字段 ”列表中;在 “函数和表达式 ”下的文本框中输入表达式: teacher教师名 as任课教师,再单击 “添加 ”按钮,将其添加到 “选定字段 ”列表中。 步骤 4:在 “筛选 ”选项卡内的 “字段名 ”列中选择 “student性别 ”, “条件 ”列选择“=”, “实例 ”列输入 “女 ”。 步骤 5:在 “排序依据 ”选项卡内双击 “选定字段 ”列表框中的 “student学号 ”,将其添加到 “排序条件 ”列表框中,在 “排序选项 ”中选择 “升序 ”。 步骤 6:执行【查询】 【查询 去向】菜单命令,在 “查询去向 ”对话框中单击 “表 ”按钮,在 “表名 ”中输入
12、文件名 one,单击 “确定 ”按钮。 步骤 7:最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 查询的建立与使用。 (2)步骤 1:命令窗口执行: CREATE MENU smenu, 弹出的 “新建菜单 ”中单击 “快捷菜单 ”按钮,打开菜单设计器。 步骤 2:在 “菜单名称 ”列的文本框中依次输入 “数据浏览 ”和 “退出 ”两个主菜单名,“数据浏览 ”菜单命令的 “结果 ”下拉框中选择为 “子菜单 ”,单击 “创建 ”按钮进入下级菜 单设计,在 “菜单名称 ”列的第 1、 2、 3行文本框中依次输入子菜单名 “学生表 ”、“选课表 ”和 “课程表
13、 ”,将 3个子菜单的 “结果 ”都设置为 “过程 ”,分别单击 3个过程后面的 “创建 ”按钮打开过程编辑器,编写过程代码。 步骤 3:三个过程代码如下: “学生表 ”菜单命令: SELECT*FROM student。 “课程表 ”菜单命令: SELECT*FROM course。 “选课表 ”菜单命令: SELECT*FROM sc。 步骤 4:通过 “菜单级 ”下拉框返回主菜单项设计界面,设置 “退出 ”菜单项的 “结果 ”列为 “命令 ”,并输入命令语句: SET SYSMENU TO DEFAULT。 步骤 5:执行【菜单】 【生成】菜单命令,在弹出的 Visual FoxPro对
14、话框中单击 “是 ”按钮,系统会弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件 (smenu mpr)。 快捷菜单设计。 【试题解析】 (1)本题主要考查的是查询设计器的使用。应按照 student表、 sc表、 course表和 teacher表的顺序将其添加到查询设计器,再根据题目要求从每个表中选取字段, 设置查询条件等完成查询。 可在查询设计器 “字段 ”选项卡的 “函数和表达式 ”下的文本框中输入表达式,同时也可以通过打开 “表达式生成器 ”对话框进行输入,可以通过 AS短语指定为输入的表达式指定一个新的字段名。 (2)本题主要考查了快捷菜单的设计,快捷菜单仅
15、包括一个弹出式菜单,其他设计基本上都与下拉菜单的设计一致。编写 “退出 ”菜单命令时,要熟记返回系统菜单的命令语句: SET SYSMENU TO DEFAULT;最后注意生成可执行菜单文件。 三、综合应用题 3 【正确答案】 步骤 1:命令窗口执行: CREATE FORM tform,建表单。从 “表单工具栏 ”中依次向表单添加两个命令按钮。步骤 2:选择表单对象,修改对象属性值,见表 434。步骤 3:编写各个命令按钮的 Click事件代码如下: *“查询 ”按钮的 Click事件代码*SELECT Student学号,姓名, AVG(成绩) AS平均成绩, COUNT(*)AS选课门数
16、; FROM Student, Sc; WHERE Student学号 =Sc学号; GROUP BY Sc学号; HAVING COUNT(*) =4 AND平均成绩 =75; ORDER BY 平均成绩DESC; INTO DBF TWO*“退出 ”按钮的 Click事件代码*THISFORM RELEASE步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮运行表单,单击 “统计 ”按钮查看结果,将表单文件保存到考生文件夹下。创建和运行表单;基本型控件; SQL分组与计算查询。 【试题解析】 本题主要考查的是表单的建立、常用属性的设置: SQL简单查询及 SQL简单计算查询。 “统计 ”按钮中需要设计一个 SQL查询,用于计数的函数为 COUNT(),用于求平均值的函数为 AVG()。