1、国家二级 VF机试(操作题)模拟试卷 475及答案与解析 一、基本操作题 1 在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作: (1)在学生表 student中增加一个名为 “照片 ”的字段,字段数据类型为 “通用 ”。 (2)在教师表 teacher中建立一个索引名为 “教师号 ”的主索引 (升序 ),索引表达式为教师号。在课程表 course中建立一个普通索引 (升序 ),索引名为 “教师号 ”,索引表达式为教师号。 (3)建立选课表 sc和学生表 student之间的永久联系;建立选课表 sc与课程表 course之 间的永久联系;建立教师表 teacher和课程表
2、 course之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为 “级联 ”;删除规则为 “限制 ”;插入规则为 “限制 ”。 (4)使用表单向导建立一个名称为 sform的表单。要求选择学生表 student中所有字段;表单样式为阴影式;按钮类型为图片按钮;选定排序字段为学号 (升序 );表单标题为 “学生表数据输入 ”。 二、简单应用题 2 在考生文件夹下完成下列操作: (1)在考生文件夹下利用查询设计器创建一个查;询,从表中查询所属菜系为 “川菜 ”和 “粤菜 ”的威师。查询结果包含姓名、年龄和性别 3个字段;各记录按 “年龄 ”降序排序,年龄相同的再按 “性别 ”升序排序
3、;查询去向为表 ta。最后将查询保存在qa qpr文件中,并运行该查询。 (2)使用一对多报表向导建立报表,要求父表为 “八大菜系 ”,子表为 “菜品 ”。从父表中选择字段 “菜系 ”和 “产地 ”,从子表中选择字段 “菜名 ”和 “市场价 ”,两个表通过“菜系 ”建立联系,按 “菜系 ”降序排序,选择报表样式为 “简报式 ”,方向为 “纵向 ”,报表标题为 “菜单 ”,生成的报表名为 cdr。 三、综合应用题 3 在做本题前首先确认在 基础操作中已经正确地建立了 order detail表,在简单应用中已经成功地将记录追加到 order detail表。 当 order detail表中的
4、“单价 ”修改后,应该根据该表的 “单价 ”和 “数量 ”字段修改order list表的 “总金额 ”字段,现在有部分 order list记录的 “总金额 ”字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为 od mod的表中 (与 order list表结构相同,自己建立 ),然后根据 order detail表的 “单价 “和 “数量 ”字段修改 od mod表的 “总金额 ”字 段 (注意一个 od mod记录可能对应几条 order detail记录 ),最后 od mod表的结果要求按 “总金额 ”升序排序,编写的程序最后保存为progl prg。 国家二级 VF
5、机试(操作题)模拟试卷 475答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1) 命令窗口执行: MODIFY DA TABASE sdb,打开数据库设计器。 数据库设计器中,右击 student表,选择【修改】,打开表设计器, “字段 ”选项卡的 “字段名 “列的最后一个空白文本框中输入字段名 “照片 ”, “类型 ”下拉框中选 择“通用型 ”,单击 “确定 ”按钮保存表结构修改。 (2) 使用上题中为 student表建立索引类似的方法为 teacher表建立索引。 数据库设计器中,右击 course表,选择【修改】,打开表设计器, “字段 ”选项卡中选中 “教师号 ”,在
6、 “索引 ”列中选择 “升序 ”,单击 “确定 ”按钮保存表结构修改。 (3) 在数据库设计器中,拖动 student表 “索引 ”下方的主索引 “学号 ”到 sc表中 “索引 ”下方的普通索引 “学号 ”上,为两个表建立联系。 拖动 coupe表 “索引 ”下方的主索引 “课程号 ”到 sc表中 “索引 ”下方的普通索引 “课程号 ”上,为两个表建立联系。 拖动 teacher表 “索引 ”下方的主索引 “教师号 ”到 course表中 “索引 ”下方的普通索引 “教师号 ”上,为两个表建立联系。 选中 student和 sc两个表之间的关联线 (被选中的线会变粗 ),首先执行【数据库】 【
7、清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】 【编辑参照完整性】菜单命令。在 “参照完整性 ”对话框的表格中,将其中的三对关系均做如下操作:选择 “更新 ”下的单元格内容为 “级联 ”; “删除 ”下的单元格内容为 “限制 ”; “插入 ”下的单元格内容为 “限 制 ”。单击 “确定 ”按钮保存参照完整性的修改。 (4) 命令窗口执行: OPEN DATABASE sdb,打开 sdb数据库。 执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在 “新建 ”对话框中选 “表单 ”选项,单击 “向导 ”图标按钮,弹出 “向导选取 ”对话框,
8、选中“表单向导 ”项,单击 “确定 ”按钮,启动表单向导。 “步骤 1-字段选取 ”的 “数据库和表 ”下选 “student”表,将 “可用字段 ”全部添加到 “选定字段 ”,单击 “下一步 ”。 “步骤 2-选择表单样式 ”界面的 “样式 ”下选中 “阴影式 ”,在 “按钮类型 ”下选择 “图片按钮 ”,单击 “下一步 ”。 “步骤 3-排序次序 ”中双击 “可用的字段或索引标识 ”中的 “学号 ”字段到 “选定字段 ”列表中,再选择 “升序 ”,单击 “下一步 ”。 “步骤 4-完成 ”界面中的 “请键入表单标题 ”下方文本框中输入 “学生表数据输入 ”,单击 “完成 ”按钮。 在 “另
9、存为 ”对话框的 “保存表单为: ”框中输入表单文件名 sfom,单击 “保存 ”按钮。 二、简单应用题 2 【正确答案】 (1)【操作步骤】步骤 1:建立查询可以使用 “文件 ”菜单 完成,选择“文件 ”下的 “新建 ”子菜单,弹出 “新建 ”对话框,文件类型选择 “查询 ”。步骤 2:单击 “新建文件 ”图标按钮,弹出 “添加表或视图 ”对话框,将 “厨师 ”表添加到查询中,单击 “关闭 ”按钮关闭 “添加表或视图 ”对话框。步骤 3:在查询设计器里面,切换到“字段 ”选项卡,将 “厨师姓名 ”、 “厨师年龄 ”和 “厨师性别 ”添加到 “选定字段 ”。步骤 4:切换到 “筛选 ”选项卡,
10、在 “字段名 ”中选择 “厨师菜系 ”, “条件 ”选择“=”, “实例 ”中输入: ”川菜 ”, “逻辑 ”中选择 “OR”;再选择 “厨师菜系 ”, “条件 ”选择 “=”, “实例 ”中输入: ”粤菜 ”。步骤 5:切换到 “排序依据 ”选项卡,在其中选择字段 “厨师年龄 ”,排序选项为 “降序 ”,选择字段 “厨师性别,排序选项为 “升序 ”。步骤 6:单击 “查询 ”菜单下的 “查询去向 ”子菜单,弹出 “查询去向 ”对话框,选择 “表 ”,在 “表名 ”右边的对话框中输入表名 ta,设置完成后单击 “确定 ”按钮回到查询设计器。步骤 7:单击菜单工具栏的 “保存 ”按钮,弹出 “另
11、存为 ”对话框,输入查询文件名: qa qpr,保存到考生文件夹下。步骤 8:运行该查询。 (2)【操作步骤】步骤 1:启动报表向导可以通过菜单命令来完成,选择 “文件 ”菜单项下面的“新建 ”子菜单,打开 “新建 ”对话框,文件类型选择报表,单击 “向导 ”图标按钮。步骤 2:弹出 “向导选取 ”对话框,选择 “一对多报表向导 ”,如图 4 87所示,然后单击 “确定 ”按钮。步骤 3:弹出 “一对多报表向导 ”的步骤 1,选择父表和字段,单击“数据库和表 ”后面的 “浏览 ”按钮,找到并打开 “八大菜系 ”表,然后选择该表的 “菜系 ”和 “产地 ”两个字段。 步骤 4:单击 “下一步 ”
12、按钮,进入步骤 2选择子表和字段,单击 “数据库和表 ”后的 “浏览 ”按钮,找到并打开 “菜品 ”表,然后选取该表下的“菜名 ”和 “市场价 ”两个字段。步骤 5:单击 “下一步 ”按钮,进入步骤 3设置表间连接,采用默认值不需要修改。步骤 6:单击 “下一步 ”按钮,进入步骤 4设置排序,选取 “菜系 ”字段,排序为 “降序 ”。步骤 7:单击 “下一步 ”按钮,进入步骤 5选择报表样式,保留默认设置。单击 “下一步 ”按钮,进入步骤 6,设置 “报表标题 ”为 “菜单 ”。步骤 8:单击 “完成 ”按钮,弹出 “另存为 ”对话框,输入报表文件名 cdr frx,保存到考生目录。 三、综合
13、应用题 3 【正确答案】 【操作步骤】 步骤 1:在命令窗口执行命令: MODIFY COMMAND proql,打开程序文件编辑 器输入如下程序代码: SELECT订单号, SUM(单价 *数量 )AS总金额; FROM order detail; GROUP BY订单号; INTO CURSOR arrtable SELECT order list *; FROM order list, arrtable; WHERE order list订单号 =arrtable 订单号 AND order list总金额 arrtable总金额; INTO TABLE od mod USE od mod DO WHILE NOT EOF() SELECT arrtable总金额 FROM arrtable; WHERE arrtable订单号 =od mod订单号; INTO ARRAY arr REPLACE总金额 WITH arr SKIP ENDDO CLOSE ALL SELECT*FROM od mod ORDER BY总金额; INTO CURSOR arrtablel SELECT*FROM arrtablel INTO TABLE od mod 步骤 2:保存文件修改,在命令窗口执行命令: DOprogl prg,执行程序文件。