1、国家二级 VF机试(操作题)模拟试卷 525及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成下列操作: (1)打开名称为 SDB的学生数据库,分别为学生表 Student、选课成绩表 SC和课程表 Course创建主索引。Student 表主索引的索引名和索引表达式均为“学号”;Course 表主索引的索引名和索引表达式均为“课程号”;SC 表的主索引名为 PK_SC,索引表达式为“学号课程号”的字段组合。 (2)通过字段“学号”建立 Student表与 SC表之间的永久联系,通过字段“课程号”建立Course表与表 SC之间
2、的永久联系,并为以上建立的永久联系设置参照完整性约束:更新规则为“级联”;删除规则为“级联”;插入规则为“限制”。 (3)使用 SQL语句将学号为“s3”的学生记录从表 Student中逻辑删除,并将该 SQL语句存放在文件 ONE.PRG中。 (4)创建一个名为 Project_S的项目文件,将学生数据库 SDB添加到该项目中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹,打开商品销售数据库 CDB,完成如下简单应用: (1)使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表 CUST中选择所有字段,从子表订单表 ORDER中选择所有字段;
3、两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报表样式为“经营式”,方向为“纵向”;报表标题为“顾客订单表”。然后修改该报表,在页注脚中增加一个标签“制表人:王爱学”;该标签水平居中,标签中的“:”为中文的冒号。 (2)修改一个名称为 TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表 1s中。然后用 1s中的每个顾客的数据去修改表scust对应的记录。该命令文件有 3行语句有错误,打开该命令文件进行修改。 注意:直接在错误处修改,不改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行,修改完成后,运行该命令文件。(分数:2.00
4、)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开名称为 CDB的商品销售数据库,完成如下综合应用: 创建一个标题名为“顾客购买商品查询”、文件名为 GK的表单,如下图所示。 (分数:2.00)_国家二级 VF机试(操作题)模拟试卷 525答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成下列操作: (1)打开名称为 SDB的学生数据库,分别为学生表 Student、选课成绩表 SC和课程表 Course创建主索引。Student 表主索引的索引名和索引表达式均为“学号”;Course 表主索引的索引名和索引
5、表达式均为“课程号”;SC 表的主索引名为 PK_SC,索引表达式为“学号课程号”的字段组合。 (2)通过字段“学号”建立 Student表与 SC表之间的永久联系,通过字段“课程号”建立Course表与表 SC之间的永久联系,并为以上建立的永久联系设置参照完整性约束:更新规则为“级联”;删除规则为“级联”;插入规则为“限制”。 (3)使用 SQL语句将学号为“s3”的学生记录从表 Student中逻辑删除,并将该 SQL语句存放在文件 ONE.PRG中。 (4)创建一个名为 Project_S的项目文件,将学生数据库 SDB添加到该项目中。(分数:2.00)_正确答案:(正确答案:(1)【操
6、作步骤】 步骤 1:单击常用工具栏中的“打开”按钮,在“打开”对话框中打开数据库 SDB。在 Student表中单击鼠标右键,在弹出的快捷菜单中选择“修改”命令,打开表设计器。选择“索引”选项卡,在索引名处输入“学号”,类型选择“主索引”,表达式为“学号”,单击“确定”按钮保存修改,完成建立 Student表的主索引。 步骤 2:用同样的方法建立 SC表和 Couse表的主索引。 (2)【操作步骤】 步骤 1:在数据库设计器中,选中 Student表中的索引“学号”并拖动到 SC表的“学号”的索引上并松开,以建立两表之间的永久联系,然后执行“数据库”菜单下的“清理数据库”命令。右击两表之间建立
7、的关系线,在弹出的快捷菜单中选择“编辑参照完整性”命令。在“编辑参照完整性生成器”对话框中,依次选中“更新规则”选项卡下的“级联”单选按钮、“删除规则”选项卡下的“级联”单选按钮和“插入规则”选项卡下的“限制”单选按钮,最后单击“确定”按钮。 步骤 2:再按照同样的方法设置 Course表和 SC表间的永久联系和参照完整性。 (3)【操作步骤】 SQL 语句为:delete from Student where学号”s3”,然后建立 ONEPRG 文件并将上述语句保存在该文件中。 (4)【操作步骤】 按组合键 CMN 组合键,弹出“新建”对话框,在“文件类型”中选择“项目”,再单击“新建文件”
8、按钮;在弹出的“创建”对话框中,选择考生文件夹,在“项目文件”文本框中输入Project_S,再单击“保存”按钮;在弹出的项目管理器中先选择“数据”选项卡,再选择“数据库”选项,最后单击“添加”按钮,在弹出的“打开”对话框中选择 SDB数据库,单击“确定”按钮。)解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹,打开商品销售数据库 CDB,完成如下简单应用: (1)使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表 CUST中选择所有字段,从子表订单表 ORDER中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报表样式为“经营式”,方
9、向为“纵向”;报表标题为“顾客订单表”。然后修改该报表,在页注脚中增加一个标签“制表人:王爱学”;该标签水平居中,标签中的“:”为中文的冒号。 (2)修改一个名称为 TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表 1s中。然后用 1s中的每个顾客的数据去修改表scust对应的记录。该命令文件有 3行语句有错误,打开该命令文件进行修改。 注意:直接在错误处修改,不改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行,修改完成后,运行该命令文件。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:单击“打开”按钮,在“打开
10、”对话框中选择考生文件夹下的 CDB数据库。 步骤 2:单击常用工具栏中的“新建”按钮,“文件类型”选择“报表”,利用向导创建报表。 步骤 3:在“向导选取”对话框中,选择“一对多报表向导”并单击“确定”按钮,并显示“一对多报表向导”对话框。 步骤 4:在“一对多报表向导”对话框的“步骤 1一从父表选择字段”中,在“数据库和表”列表框中,选择表 CUST,然后在“可用字段”列表框中显示表 CUST的所有字段名,并选定所有字段至“选定字段”列表框中,单击“下一步”按钮。 步骤 5:在“一对多报表向导”对话框的“步骤 2一从子表选择字段”中,在“数据库和表”列表框中,选择表 ORDER,然后在“可
11、用字段”列表框中显示表 ORDER的所有字段名,并选定所有字段至“选定字段”列表框中,单击“下一步”按钮。 步骤 6:在“一对多报表向导”对话框的“步骤 3一为表建立关系”中,单击“下一步”按钮。 步骤 7:在“一对多报表向导”对话框的“步骤 4一排序记录”中,选择“顾客号”和“升序”单选按钮,再单击“添加”按钮,单击“下一步”按钮。 步骤 8:在“一对多报表向导”对话框的“步骤 5一选择报表样式”中,选择“经营式”,方向选择“纵向”,单击“下一步”按钮。 步骤 9:在“一对多报表向导”对话框的“步骤 6一完成“中,在”报表标题“文本框中输入”顾客订单表“,单击”完成“按钮。 步骤 10:在“
12、另存为”对话框中,输入保存报表名 P_ORDER,再单击“保存”按钮。 步骤 11:打开该报表,在页脚注中增加一个标签控件,输入:“制表人:王爱学”,选中该标签,再选择”格式”菜单下“对齐”子菜单中的“水平居中”命令。最后保存该报表。 (2)【操作步骤】 步骤 1:打开考生文件夹下的TWOPRG 文件。 步骤 2:修改其中的命令语句 错误 1:SELECT 顾客号,数量*单价应付款; 修改为:SELECT顾客号,sum(数量*单价)应付款; 错误 2:DO WHILE EOF() 修改为:DO WHILENOTEOF() 错误 3:REPL ACE ALL 应付款money 修改为:REPLA
13、CE 应付款 WITH money 修改完成后运行该程序。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开名称为 CDB的商品销售数据库,完成如下综合应用: 创建一个标题名为“顾客购买商品查询”、文件名为 GK的表单,如下图所示。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:单击“打开”按钮,在“打开”对话框中选择考生文件夹下的 CDB数据库。 步骤 2:单击“新建”按钮,在打开的“新建”对话框中选择“表单”选项,再单击“新建文件”按钮。 步骤 3:在表单上添加各控件、文本框、表格、命令按钮,并进行适当的布置和大小调整。 步骤 4:根据题目要求
14、设置各标签、表格、命令按钮以及表单的属性值。 步骤 5:将表格Grid1的 RecordSourceType属性值设置为“4SQL 说明”。 步骤 6:设置“查询”按钮的 Click事件代码: ThisFormGrid1RecordSource”SELECT Order顾客号,Comm商品号,商品名,单价,数量,Comm单价*Order数量 as金额 FROM cdb! comm INNERJOIN cdb! order ON Comm商品号Order商品号 WHERE 顾客号ALLTRIM(ThisFormText1Value)order by Comm商品号 INTO TABLE tjb” SELECT sum(Comm单价*Order数量)FROM cdb! comm INNER JOIN cdb! order ON Comm商品号Order商品号 WHERE顾客号ALLTRIM(ThisFormText1Value) INTOARRAY temp ThisFormText2Valuetemp 步骤 7:设置“退出”按钮的 Click事件代码: Release ThiSForm 步骤 8:保存表单为 GK并运行,在“顾客号”文本框输入“010003”,单击“查询”按钮进行计算。最后,单击“退出”按钮结束。)解析: