1、国家二级 VF 机试-试卷 120 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)首先打开 Ecommerce 数据库,然后为表 Customer 增加一个字段,字段名为 emai1、类型为字符、宽度为 20。 (2)为 Customer 表的“性别”字段定义有效性规则,规则表达式为:性别$“男女“,出错提示信息为“性别必须是男或女”,默认值为“女”。 (3)通过“会员号”字段建立客户表 Customer 和订单表 OrderItem 之间的永久联系;通过“商品号”字段建立商品表 Article
2、和订单表 OrderItem 之间的永久联系。 (4)为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.在考生文件夹下,打开资源数据库 frdb,完成如下简单应用: (1)使用表单向导选择资源表 fr_t 生成一个名为 fr_edit 的表单。要求选择 fr_t 表中所有字段,样式为阴影式;按钮类型为图片按钮:排序字段选择户主编号(升序);表单标题为“资源数据输入维护”。 (2)使用查询设计器设计一个查询 one,按户主编号(取自 fr_t 表
3、),树种名称(取自 tree_t 表)分组汇总每个农户的面积(取自 fr_t 表)和蓄积(取自fr_t 表),查询结果按户主编号升序排序,并输出到 one 表中。one 表中的字段为户主编号、树种名称、面积合计、蓄积合计。注意:查询设计完成后必须运行。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.请编写名称为 change_c 的程序并执行;该程序实现下面的功能: 将雇员工资表 salarys 进行备份,备份文件名为 bak_salarysdbf;利用“人事部”向“财务部”提供的雇员工资调整表 c_salary1 的“工资”,对 sa
4、larys 表的“工资”进行调整(请注意:按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。 设计一个名称为 form2 的表单,上面有“调整”(名称Command1)和“退出”(名称 Command2)两个命令按钮。单击“调整”命令按钮时,调用 change_c 命令程序实现工资调整;单击“退出”命令按钮时,关闭表单。 注意:在两个命令按钮中均只有一条命令,不可以有多余命令。(分数:2.00)_国家二级 VF 机试-试卷 120 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_
5、解析:2.(1)首先打开 Ecommerce 数据库,然后为表 Customer 增加一个字段,字段名为 emai1、类型为字符、宽度为 20。 (2)为 Customer 表的“性别”字段定义有效性规则,规则表达式为:性别$“男女“,出错提示信息为“性别必须是男或女”,默认值为“女”。 (3)通过“会员号”字段建立客户表 Customer 和订单表 OrderItem 之间的永久联系;通过“商品号”字段建立商品表 Article 和订单表 OrderItem 之间的永久联系。 (4)为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(分数:2.0
6、0)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABASE ecommerce ,打开数据库设计器。在数据库设计器中,右击 customer 表,选择【修改】快捷菜单命令,打开“customer”表设计器,在“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“email”,在“类型”下拉框中选择“字符型”,在“宽度”文本框中输入“20”,单击“确定”按钮保存表结构修改。 (2)右击数据库设计器中的 customer 表,选择【修改】快捷菜单命令,打开表设计器,在“字段”选项卡中选中“性别”,在“字段有效性”的“规则”文本框中输入:性别$“男女“,在“信息”
7、框中输入:“性别必须是男或女“,在“默认值”文本框中输入:“女“,单击“确定”按钮保存表结构修改。 (3)在数据库设计器中,拖动 customer 表“索引”下方的主索引“会员号”到 orderitem 表“索引”下方的普通索引“会员号”上。为两个表建立联系。 在数据库设计器中,拖动 article 表“索引”下方的主索引“商品号”到erdentem 表“索引”下方的普通索引“商品号”上,为两个表建立联系。 (4)选中 customer 和orderitem 两个表之间的连线(被选中的线会变粗),首先执行【数据库】【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】【编
8、辑参照完整性】菜单命令。 在打开的“参照完整性”对话框的表格中,对两对关系均做以下修改:选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“限制”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。)解析:解析:本大题考查 T 数据库设计器的使用;字段有效性规则的设置;永久联系的建立。 需要注意的是字段有效性规则是在表设计器中建立的,“默认值”、“规则”和“信息”的设置均属于字段有效性规则范围,在输入各有效性规则的值时要注意对应的数据类型。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.在考生文件夹下,打开资源数据库
9、 frdb,完成如下简单应用: (1)使用表单向导选择资源表 fr_t 生成一个名为 fr_edit 的表单。要求选择 fr_t 表中所有字段,样式为阴影式;按钮类型为图片按钮:排序字段选择户主编号(升序);表单标题为“资源数据输入维护”。 (2)使用查询设计器设计一个查询 one,按户主编号(取自 fr_t 表),树种名称(取自 tree_t 表)分组汇总每个农户的面积(取自 fr_t 表)和蓄积(取自fr_t 表),查询结果按户主编号升序排序,并输出到 one 表中。one 表中的字段为户主编号、树种名称、面积合计、蓄积合计。注意:查询设计完成后必须运行。(分数:2.00)_正确答案:(正
10、确答案:(1)步骤 1:在命令窗口执行命令: OPEN DATABASE FRDB ,打开 FRDB 数据库。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“表单”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“表单向导”项,单击“确定”按钮,启动表单向导。 步骤 3:在表单向导的“步骤 1-字段选取”界面的“数据库和表”下选中“FR_T”表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。步骤 4:在表单向导的“步骤 2-选择表单样式”界面的“样式”下选中“阴影式”,在“按钮类型”下选择“图片按
11、钮”,单击“下一步”按钮。 步骤 5:在表单向导的“步骤 3-排序次序”界面中双击“可用的字段或索引标识”中的“户主编号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”按钮。 步骤 6:在表单向导的“步骤 6-完成”界面中的“请键入表单标题”下方文本框中输入“资源数据输入维护”,单击“完成”按钮。 步骤 7:在“另存为”对话框的“保存表单为:”框中输入表单文件名 fr_edit,单击“保存”按钮。 (2)步骤 1:在命令窗口执行命令: OPEN DATABASE frdb ,打开数据库环境。 步骤 2:在命令窗口执行命令: CREATE QUERY one ,打开查询设计器,在“添加
12、表或视图”对话框中,分别双击 FR_T 表和 TREE_T 表,将表添加到查询设计器中,此时,添加的表会按照数据库中已存在的表间联系自动为 2 个表在查询设计器中建立联系。 步骤 3:根据题目要求,在“字段”选项卡的“可用字段”中,依次双击“ftt户主编号”和“tree_t树种名称”,将它们添加到“选定字段”列表中;然后在“函数和表达式”下的文本框中输入表达式:sum(fr_t面积)as 面积合计,再单击“添加”按钮,将其添加到“选定字段”列表中;继续在“函数和表达式”下的文本框中输入表达式:sum(fr_t蓄积)as 蓄积合计,同样单击“添加”按钮,将其添加到“选定字段”列表中。 步骤 4:
13、在“排序依据”选项卡内双击“选定字段”列表框中的“fr_t户主编号”,将其添加到“排序条件”列表框中,在“排序选项”中选择“升序”。 步骤 5:在“分组依据”选项卡内依次双击“可用字段”列表框中的“fr_t户主编号”和“tree_t树种名称”,将两个字段添加到“分组字段”列表框中。 步骤6:执行【查询】【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名 one,单击“确定”按钮。 步骤 7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。)解析:解析:(1)本题主要考查的是表单向导的使用,操作比较简单,只需根据向导提示
14、一步步操作即可。(2)本题主要考查的是查询设计器的使用。本题的重点是要弄清楚按哪些字段分组。根据题意,因为每个户主可能有多块土地,并且不同的土地中可能是相同的树种,所以应该先按户主编号分组,再按树种名称分组,即可得出每个农户所有的每个树种的面积合计和蓄积合计。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.请编写名称为 change_c 的程序并执行;该程序实现下面的功能: 将雇员工资表 salarys 进行备份,备份文件名为 bak_salarysdbf;利用“人事部”向“财务部”提供的雇员工资调整表 c_salary1 的“工资”,对 salar
15、ys 表的“工资”进行调整(请注意:按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。 设计一个名称为 form2 的表单,上面有“调整”(名称Command1)和“退出”(名称 Command2)两个命令按钮。单击“调整”命令按钮时,调用 change_c 命令程序实现工资调整;单击“退出”命令按钮时,关闭表单。 注意:在两个命令按钮中均只有一条命令,不可以有多余命令。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: MODIFY COMMAND chanae_c ,打开程序文件编辑器编写代码。 步骤 2:在编辑器中输入如下程序代码:
16、SELECT * FROM SALARYS INTO TABLE bak_salarys SELECT 3 USE c_salary1ORDER 雇员号 SELECT salarys SET RELATION_TO 雇员号 INTO c_8alary1 REPLACE ALL 工资 WITH c_salary1工资 FOR 雇员号=c_salary1雇员号 SET RELATION TO 步骤 3:单击“常用”工具栏中的“运行”按钮,保存并运行程序。 步骤 4:在命令窗口执行命令: CREATE FORM form2 ,打开表单设计器新建表单。 步骤 5:从“表单工具栏”中依次向表单添加两个命
17、令按钮控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 2-14。 )解析:解析:本题考查的是程序的编写;表单的建立以及常用控件属性的设置;控件事件代码的编写。程序的大致思想是:先通过 select 查询语句将 salarys 表进行备份,然后以“雇员号”为当前索引打开c_salary1 表,接着通过索引“雇员号”建立 salarys 表和 c_salary1 表的临时联系,这样,c_salary1表中记录指针就会随着 salarys 表中记录指针的变化而变化,即两个表中的记录指针在同一时刻指向同一个“雇员号”;然后将 salarys 表中的“工资”值用 c_salary1 表中的“工资”值替换。