1、国家二级 VF 机试(操作题)-试卷 310 及答案解析(总分: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)修改一个名称为 TWOPRG 的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表 1s 中。然后用 1s 中的每个顾客的数据去修改表scust 对应的记录。该命令文件有 3 行语句有错误,打开该命令文件进行修改。 注意:直接在错误处修改,不可改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件
4、。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件件下,打开名称为 CDB 的商品销售数据库,完成如下综合应用: 创建一个标题名为“顾客购买商品查询”、文件名为 GK 的表单,如图 212 所示。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 310 答案解析(总分: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)_正确
6、答案:(正确答案:【操作步骤】 (1)在命令窗口执行命令:MODIFY DATABASE sdb,打开数据库设计器。 在数据库设计器中右击 student 表,选择【修改】快捷菜单命令,打开表设计器。 在表设计器的“索引”选项卡的“索引名”列输入“学号”,将“类型”设置为“主索引”,“表达式”中输入“学号”,单击“确定”按钮保存表结构修改。参照 student 表建立索引的操作,再分别建立 course 表和 sc 表的主索引。 (2)在数据库设计器中拖动 student 表“索引”下方的主索引“学号”到 sc 表中“索引”下方的普通索引“学号”上,为 student 和 sc 表建立联系;接
7、着拖动 course 表“索引”下方的主索引“课程号”到 sc 表中“索引”下方的普通索引“课程号”上,为 course 和 sc 表建立联系。 选中 student 和 sc 表之间的关联线(被选中的连线会变粗),执行【数据库】【清理数据库】菜单命令,清空数据表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。 在打开的“参照完整性”对话框的表格中,选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“级联”:“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。以同样方法再建立 course 和 sc 的参照完整性。 (3)在命令窗口执行命令:
8、MODIFY COMMAND one,新建程序文件并打开程序编辑器。 在程序编辑器中输入命令:DELETE FROM STUDENT WHERE 学号“S3“ 单击“常用”工具栏中的“运行”命令保存并运行程序。 (4)在命令窗口执行命令:CREATE PROJECT project_s,新建一个项目管理器。在项目管理器的“数据”选项卡中选中“数据库”,然后单击项目管理器右边的“添加”按钮,将考生文件夹下的 sdb 数据库加入到项目中。)解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开商品销售数据库 cdb,完成如下简单应用: (1)使用一对多报表向导建立名称为p_or
9、der 的报表。要求从父表顾客表 cust 中选择所有字段,从子表订单表 order 中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序:报表样式为“经营式”,方向为“纵向”;报表标题为“顾客订单表”。然后修改该报表,在页注脚中增加一个标签“制表人:新思路”;该标签水平居中,标签中的“:”为中文的冒号。 (2)修改一个名称为 TWOPRG 的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表 1s 中。然后用 1s 中的每个顾客的数据去修改表scust 对应的记录。该命令文件有 3 行语句有错误,打开该命令文件进行修改。 注意:直接在错误处修改
10、,不可改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:在命令窗口执行命令:OPEN DATABASE cdb,打开 cdb数据库。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多报表向导”项,单击“确定”按钮,启动报表向导。 步骤 3:在报表向导的“步骤 1-从父表选择字段”界面的“数据库和表”下选中 cust 表,将“可用字段”中的字段全部添
11、加到“选定字段”中,单击“下一步”按钮。 步骤 4:在报表向导的“步骡 2-从子表选择字段”界面的“数据库和表”下选中order 表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。 步骤 5:在报表向导的“步骤 3-为表建立关系”界面中系统自动建立两个表的联系,单击“下一步”按钮。 步骤 6:在报表向导的“步骤 4-排序记录”界面中双击“可用的字段或索引标识”中的“顾客号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”按钮。 步骤 7:在报表向导的“步骤 5-选择报表样式”界面的“样武”下选中“经营式”,方向为“纵向”,单击“下一步”按钮。 步骤 8:在报表向导
12、的“步骤 6-完成”界面中的“报表标题”下方文本框中输入“顾客订单表”,单击“完成”按钮。 步骤9:在“另存为”对话框的“保存报表为:”框中输入表单文件名 p_order,单击“保存”按钮。 步骤10:在命令窗口输入命令:MODIFY REPORT p_order,打开报表设计器修改报表。向报表设计器最底端的“页注脚”带区添加一个标签控件,并输入“制表人:新思路”,然后选中标签,在“布局”工具栏中单击“水平居中”命令按钮(工具栏中的倒数第 4 个按钮),设置标签为水平居中。 (2)【操作步骤】 步骤1:在命令窗口执行命令:MODIFY COMMAND two,打开程序文件,文件中的命令代码如下
13、: 1 CLOSE DBF 2 PRIVATE no,money 3 USE scust 4 *下面的一行语句有错误 5 SELECT 顾客号,数量*单价应付款; 6 FROM Order JOIN comm ON order 商品号comm商品号; 7 GROUP BY 顾客号; 8 INTO CURSOR 1s 9 SELECT scust 10 *下面的一行语句有错误 11 DO WHILE EOF() 12 no顾客号 13 SELECT 1s 14 LOCAT FOR 顾客号no 15 money应付款 16 SELECT scust 17 *下面的一行语句有错误 18 REPLAC
14、E ALL 应付款money 19 SKIP1 20 ENDDO 21 CLOSE TABLE 22 RETURN 修改程序中的错误行,修改后的程序如下: 1 CLOSE DBF 2 PRIVATE no,money 3 USE scust 4 *下面的一行语句有错误 5 SELECT 顾客号,sum(数量*单价)应付款; 6 FROM Order JOIN comm ON order 商品号comm商品号; 7 GROUP BY 顾客号; 8 INTO CURSOR 1s 9 SELECT scust 10 *下面的一行语句有错误 11 DO WHILE !EOF() 12 no顾客号 13
15、 SELECT 1s 14 LOCAT FOR 顾客号no 15 money应付款 16 SELECT scust *下面的一行语句有错误 18 REPLACE 应付款 with money 19 SKIP1 20 ENDDO 21 CLOSE TABLE 22 RETURN 步骤2:保存文件修改,在命令窗口执行命令:DO two,执行程序文件。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件件下,打开名称为 CDB 的商品销售数据库,完成如下综合应用: 创建一个标题名为“顾客购买商品查询”、文件名为 GK 的表单,如图 212 所示。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:在命令窗口执行命令:CREATE FORM GK,打开表单设计器新建表单。 步骤 2:从“表单工具栏”中依次向表单添加两个标签、两个文本框、一个表格控件和两个命令按钮控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值。见表312。 )解析: