1、国家二级 VF机试模拟试卷 189及答案与解析 一、基本操作题( 30分) 1 (1)将当前文件夹下的自由表 class(班级表 )和 teacher(教师表 )添加到学生数据库sdb中。 (2)为班级表 class 创建一个主索引和普通索引 (升序 ),主索引的索引名和索引表达式均为 “班级号 ”;普通索引的索引名和索引表达式均为 “班主任号 ”。为教师表teacher创建一个主索引,索引名和索引表达式均为 “教师号 ”。 (3)通过 “班级号 ”字段建立班级表 class 和学生表 student表间的永久联系。通过 班级表 class的 “班主任号 ”字段与教师表 teacher的 “教
2、师号 ”字段建立班级表 class和教师表 teacher间的永久联系。 (4)为以上建立的两个联系设置参照完整性约束:更新规则为 “级联 ”;删除规则为 “限制 ”;插入规则为 “限制 ”。 二、简单应用题( 40分) 2 (1)使用向导建立一对多报表 report_c,选择父表 employee中仓库号、职工号、姓名字段以及子表 orders中除职工号以外的全部字段,报表按仓库号升序排序,报表样式选择简报式,报表标题是 “职工订单汇总 ”。 (2)使 用 SQL命令建立视图 view_cd曲,视图中显示每个职工签订的所有订单总金额 (签订订单金额合计 )大于 15000元的职工号、姓名及其
3、所签订订单的总金额,结果按总金额升序排序;同时把所用命令保存在文本文件 cmd cb txt中。 三、综合应用题( 30分) 3 设计一个文件名和表单名均为 rate的表单,表单的标题为 “外汇汇率查询 ”,表单界面如图 1-19所示,表单中有两个下拉列表框 (Combo1和 Combo2),这两个下拉列表框的数据源类型 (RowSourceType属性 )均为字段,且数据源 (RowSource属性 )分别是外汇汇率表的 “币种 1”和 “币种 2”字段 (不要给出表名前缀 );另外有币种1(Label1)和币种 2(Label2)两个标签以及两个命令按钮 “查询 ”(Command1)和
4、“退出 ”(Command2)。运行表单时,首先从两个下拉列表框选择币种,然后单击 “查询 ”按钮用 SQL语句从外汇汇率表中查询相应币种 (匹配币种 1和币种 2)的信息,并将结果存储到表 temp_rate 单击 “退出 ”按钮关闭表单。 要求:在 “币种 1”中选择 “澳元 ”,在 “币种 2”中选择 “美元 ”,单击查询按钮生成 temp_rate表。国 家二级 VF机试模拟试卷 189答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY DATABASE sdb,打开数据库设计器。 在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,
5、在弹出的 “打开 ”对话框中双击 “class”表,将表添加到数据库中,以同样的方法将“teacher”表添加到数据库中。 (2) 右击数据库设计器中的 “class”表,选择【修改】快捷菜单命令,打开 “class”表设计器,在 “字段 ”选项卡中选中 “班级号 ”,在“索引 ”列中选择 “升序 ”,以 同样的方法再为 “班主任号 ”建立 “升序 ”排序;然后在 “索引 ”选项卡中选中 “班级号 ”,并修改其 “类型 ”为 “主索引 ”,单击 “确定 ”按钮保存表结构修改。 参照上面的操作,为 “teacher”表建立 “教师号 ”字段的主索引。 (3) 在数据库设计器中拖动 “class”
6、表 “索引 ”下方的主索引 “班级号 ”到 “smdent”表中 “索引 ”下方的普通索引 “班级号 ”上,为两个表建立联系。 以同样的方法,拖动 “teacher”表 “索引 ”下方的主索引 “教师号 ”到 “class”表中 “索引 ”下方的普通索引 “班主任号 ”上,为两个表建立联系 ,这样便建立了 “student”、 “class”和 “teacher”3个表之间的联系。如图 2-65所示。 (4) 选中 “student”表和 “class”表之间的关联线 (被选中的连线会变粗 ),首先执行【数据库】 【清理数据库】菜单命令,清空数据表中带有删除标记的记录,然后执行【数据库】 【编
7、辑参照完整性】菜单命令。 在打开的 “参照完整性 ”对话框的表格中,选择 “更新 ”列下两个单元格中的内容都为 “级联 ”; “删除 ”列下两个单元格中的内容都为 “限制 ”: “插入 ”列下两个单元格中的内容都为 “限制 ”,单击 “确定 ”按 钮保存参照完整性的修改。 【试题解析】 本大题考查了数据表的基本操作;表索引的建立及参照完整性的设置。 向数据库中添加表的操作可以在数据库设计器中进行,而为表建立索引则需要在表设计器中进行。 参照完整性是针对两个表进行设置的,因此建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引 (或候选索引 ),另一个表要建立普通索引,如果
8、表中设置多个索引字段时,鼠标指针一定要拖动到进行联系的字段上,否则进行联接的两个字段会不对应。 二、简单应用题( 40分) 2 【正确答案 】 (1)步骤 1:在命令窗口执行命令: OPEN DATABASE orders_manaqe,打开 orders_manage数据库。 步骤 2:执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在弹出的 “新建 ”对话框中选中 “报表 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向导选取 ”对话框,选中 “一对多报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 步骤 3:在报表向导的 “步骤 1-从父表选择字段 ”
9、界面的 “数据库和表 ”下选中employee表,依次双击 “可用字段 ”中的 “仓库号 ”、 “职工号 ”和 “姓名 ”字段,将其添加到 “选定字段 ”中,单击 “下一步 ”按钮。 步骤 4:在报表向导的 “步骤 2-从子表选择字段 ”界面的 “数据库和表 ”下选中orders表,将 “可用字段 ”中除 “职工号 ”以外的字段全部添加到 “选定字段 ”中,单击“下一步 ”按钮。 步骤 5:在报表向导的 “步骤 3-为表建立关系 ”界面中系统自动建立两个表的联系,单击 “下一步 ”按钮。 步骤 6:在报表向导的 “步骤 4-排序记录 ”界面中双击 “可用的字段或索引标识 ”中的 “仓库号 ”字
10、段到 “选定字段 ”列表中,再选择 “升序 ”,单击 “下一步 ”按钮。 步骤 7:在报表向导的 “步骤 5-选择报表样式 ”界面的 “样式 ”下选中 “简报式 ”,单击 “下一步 ”按钮。 步骤 8:在报表向导的 “步骤 6-完成 ”界面中的 “报表标题 ”下方文本框中输入 “职工订单汇总 ”,单击 “完成 ”按钮。 步骤 9:在 “另存为 ”对话框的 “保存报表为: ”框中输入表单文件名 report_c,单击 “保存 ”按钮。 (2)步骤 1:在命令窗口执 行命令: OPEN DATABASE orders_manage,打开数据库环境。 步骤 2:在命令窗口执行命令: MODIFY F
11、ILE cmd_cb,打开文本文件编辑器编写视图定义代码。 步骤 3:在编辑器中输入如下程序代码: CREATE VIEW VIEW_CB AS; SELECT Employee职工号, Employee 姓名, SUM(Orders金额 ) AS总金额; FROM orders_manage!employee INNER JOIN orders_manage!orders; ON Employee职工号 =Orders职工号; GROUP BY Employee职工号, HAVING总金额 15000; ORDER BY 3 步骤 4:在命令窗口执行命令: DO cmd_cb txt,执行文
12、件 (注意:执行文件时,文件后缀名 txt不能缺省 )。 【试题解析】 (1)本题考查报表向导的使用,根据向导提示一步步完成操作即可。 (2)本题主要考查了利用 SQL命令建立视图。 利用 SQL命令建 立视图的基本命令格式为: CREATE VIEW视图名 ASSELECT语句。本题视图定义的关键是分组以及分组条件的设置,因为题中要显示每个职工签订的所有订单总金额大于 15000元的职工信息,所以应该按职工号分组,而分组限定条件就是 “总金额大于 15000”。 本题中,视图的建立可以通过视图设计器完成。 三、综合应用题( 30分) 3 【正确答案】 步骤 1:在命令窗口执行命令: OPEN
13、 DATABASE 外汇,打开 “外汇 ”数据库。 步骤 2:在命令窗口执行命令: CREATE FORM rate,打 开表单设计器新建表单。 步骤 3:右击表单选择【数据环境】快捷菜单命令打开表单数据环境,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在 “添加表或视图 ”对话框中双击 “外汇汇率 ”表,将其添加到数据环境中。 步骤 4:从 “表单工具栏 ”中依次向表单添加两个标签、两个组合框和两个命令按钮。在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 2-22。步骤 5:双击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代码如下:
14、 *“查询 ”按钮的 Click事件代码 *IF USED(“外汇代码 “) SELECT 外汇代码 ELSEUSE 外汇代码ENDIFLOCATE FOR外币名称 =THISFORM COMBO1 VALUEMM1=外币代码LOCATE FOR 外币名称 =THISFORM COMBO2 VALUEMM2=外币代码SELECT * FROM RATE; WHERE 币种 1 代码 =MM1 AND 币种 2 代码 =MM2;INTO TABLE temp_rate *“退出 ”按钮的 Click事件代码 * THISFORM RELEASE 步骤 6:单击 “常用 ”工具栏中的 “运行 ”按
15、钮运行表单。在“币种 1”中选择 “澳元 ”,在 “币种 2”中选择 “美元 ”,单击 “查询 ”按钮生成 temp_rate表。 【试题解析】 本题主要考查了表单及控件的常用属性的设置; locate查找语句和SQL简单查询。 对本题操作时,首先根据题意新建表单,添加控件并修改其相关属性。注意组合框控件用于设置数据源类型和数据源的属性分别是 RowSourceType和RowSource,将组合框设置为下拉列表框应将 style属性设置为 “2-下拉列表框 ”。在指定数据源为表或表中字段时,应首先把 表添加到表单数据环境中;另外,通过组合框的 DisplayValue属性可以指定当前显示在组合框中的数据。 通过 Locate 查询在 “代码 ”表中查找下拉框中外币名称对应的外币代码,并分别保存到两个变量中,然后再通过 SQL查询语句进行查询。