1、国家二级 VF机试(操作题)-试卷 317及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下的数据库 rate中完成下列操作: (1)将自由表 rate_exchange和 currency s1添加到rate数据库中。 (2)为表 rate_exchange建立一个主索引,为表 currency_s1建立一个普通索引(升序),两个索引的索引名和索引表达式均为“外币代码”。 (3)为表 currency_s1设定字段的有效性规则:“持有数量0”,错误提示信息是:“持有数量不能为 0”。 (4)打开表单文件 test_form,该表单
2、的界面如图 225 所示,请修改“登录”命令按钮的有关属性,使其在运行时可以使用。 (分数:2.00)_正确答案:(正确答案:(1)命令窗口执行:MODIFY DATABASE RATE,打开数据库设计器。 在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击 rate_exchang表添加到数据库中,以同样的方法将 currency_s1表添加到数据库中。 (2)右击数据库设计器中的 rate_exchang表,选择【修改】,打开。rate_exchang 表设计器,“字段”选项卡中选中“外币代码”,“排序”列中选择“升序”,在“索引”选项卡中修改“索引类型”为主索引,建立“外币代码
3、”字段的主索引,单击“确定”按钮保存表结构修改。 参照 rateexchang表的操作建立 currency_s1表“外币代码”字段的普通索引。 (3)右击数据库设计器中的 currency_s1表,选择【修改】,打开表设计器,在“字段”中选“持有数量”,在“字段有效性”的“规则”文本框中输入:持有数量0,在“信息”框中输入:”持有数量不能为 0”,单击“确定”保存。 (4)命令窗口执行:MODIFY FORM TEST_FORM,打开表单设计器修改表单。 选中“登录”命令按钮,在“属性”面板修改其 Enabled属性值为:T,保存表单修改。)解析:解析:本题考查了数据库的基本操作;表索引的建
4、立;字段有效性规则的设置;表单控件属性值修改。 在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的“升序”和“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,在“索引”选项卡中可修改索引名或类型。 只有数据库表才能建立字段有效性,“默认值”、“规则”和“信息”的设置均属于字段有效性规则范围,在输入各有效性规则的值时要注意对应的数据类型。二、简单应用题(总题数:1,分数:2.00)2.(1)使用 SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders 表),并将结果按金额升序存储到表 results中。 (2)使用 SQL命令建立视图 view_b,视图中是目
5、前在 orders表中没有所签订单的职工(employee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件 view btxt 中。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行如下 SQL命令语句并执行: 1 SELECT 职工号,MAX(金额)最高金额; 2 FROM orders; 3 GROUP BY 职工号; 4 INTO CURSOR temp 步骤 2:在命令窗口继续执行如下 SQL命令语句: 1 SELECT orders* ; 2 FROM orders,temp ; 3 WHERE orders职工号=temp职工号 AND orders
6、金额=temp最高金额; 4 ORDER BY 金额; 5 INTO TABLE results (2)步骤 1:在命令窗口执行命令: OPEN DATABASE orders_manage ,打开数据库环境。 步骤 2:在命令窗口执行命令: MODIFY FILE view_b ,打开文本文件编辑器编写视图定义代码。 步骤 3:在编辑器中输入如下程序代码: 1 CREATE VIEW view b AS ; 2 SELECT * FROM EMPLOYEE; 3 WHERE 职工号 NOT IN; 4 (SELECT 职工号 FROM ORDERs); 5 ORDER BY 仓库号 DESC
7、 步骤 4:在命令窗口执行命令: DO VIEW_BTXT ,执行文件(注意:执行文件时,文件后缀名txt 不能缺省)。)解析:解析:(1)本题考查了 SQL分组查询和联接查询。本题的解题思路是:先在 orders表中按职工号分组,查询出每个职工所经手的具有最高金额的订单所对应的职工号和金额,将它保存到临时表中,然后再将 orders表和该临时表做联接查询,查找出每个职工的最高金额订单所对应的 orders表信息。另外,对数据进行分组计算查询时,用来求最大值的函数为 MAX()。 (2)本题主要考查了利用 SQL命令建立视图;SQL嵌套查询。 利用 SQL命令建立视图的基本命令格式为:CREA
8、TE VIEWAS。本题可以用嵌套查询完成,先在内查询中从 orders表查找出有订单的职工号,再在外查询中从 employee表中找出 orders表中没有的职工号,这里用到 NOTIN运算符。三、综合应用题(总题数:1,分数:2.00)3.建立“学生”数据库;把自由表 student(学生)、course(课程)和 score(选课成绩)添加到新建立的数据库;建立满足如下要求的表单 form1ist(控件名和文件名) 添加一个表格控件 Grid1,并按学号升序显示学生选课及考试成绩信息(包括字段学号、姓名、院系、课程名称和成绩)。 添加命令按钮“保存”(Command1)和“退出”(Com
9、mand2),单击命令按钮“保存”时将表格控件 Gridl中所显示的内容保存到表results(方法不限),单击命令按钮“退出”时关闭并释放表单。运行表单如图 210 所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令:MODIFY DATABASE 学生,创建数据库并打开数据库设计器。 步骤 2:在新建的“学生”数据库设计器中单击右键,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击自由表“student”,将表添加到数据库中。以同样的方法,将“score”和“course”表添加到数据库中。 步骤 3:在命令窗口执行命令:CREATE FORM FORM
10、LIST,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个表格和两个命令按钮控件。 步骤 4:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 31l。 )解析:解析:本题考查了数据库的基本操作;表单及控件的常用属性和方法的设置;SQL 超连接查询 利用 MODIFY DATABASE 命令可以新建数牲库并打开数据库设计器,在数据库设计器中可以进行添加、新建和删除表等操作;建立数据表可以在表设计器中进行。 本题的关键是表格数据的来源,通过ReCOrdSourceType和 Recordsource属性可以设置表格中显示的数据,本题中表格的数据源类型应为“4-SQL说明”,而数据源通过 SQL超连接查询得出,该语句保存在表格的 Init事件中;由于 SQL语句涉及3个表的数据,因此注意 3个表之间的联系,正确设置各联系字段,其中 snident表和 sCOre表通过“学号”字段连接,COurse 表和 sCOre表通过“课程编号”字段连接;查询结果保存到临时表中,通过表格控件显示。 “另存为”按钮中则通过一条简单的 SQL查询语句将临时表的记录输出到永久性表中保存。