1、国家二级 VF 机试-试卷 239 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下完成下列操作: (1)用命令新建一个名为“外汇”的数据库,并将该命令存储于onetxt 中。 (2)将自由表“外汇汇率”、“外汇账户”、“外汇代码”加入到新建的“外汇”数据库中。 (3)用 SQL 语句在“外汇”数据库中新建一个数据库表 rate,其中包含 4 个字段“币种 1 代码”C(2)、“币种 2 代码”C(2)、“买入价”N(8,4)、“卖出价”N(8,4),请将 SQL 语句存储于 twotxt
2、中。 (4)表单文件 test form 中有一个名为 form1 的表单(如图 1-6 所示),请将编辑框控件 Edit1 的滚动条去掉。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.在考生文件夹下,打开 Ecommerce 数据库,完成如下简单应用: (1)使用 SQL 命令查询 customer 数据表中“电话”字段的首字符是“6”、性别为“女”的会员信息,列出“姓名”、“年龄”和“电话”,查询结果按“年龄”升序排序存入表 temp_cusdbf 中,SQL 命令存入文本文件 temp_sq1txt 中。 (2)使用命令建立一个
3、名称为 sb_view 的视图,并将定义视图的命令代码存放到命令文件 pviewprg。视图中包括客户的会员号(来自 Customer 表)、姓名(来自 Customer 表)、客户所购买的商品名(来自 article表)、单价(来自 OrderItem 表)、数量(来自 OrderItem 表)和金额(OrderItem单价*OrderItem数量),结果按会员号升序排序。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.首先将“order_d”表全部内容复制到“order_d2”表,然后对“order_d2”表编写完成如下功能的程序:
4、 把订单中“商品编号”相同的订单合并为一张订单,新的“订单编号”取最小的“订单编号”,“单价”取加权平均单价(即“商品编号”相同的订单总金额总数量),“数量”取合计。 结果先按新的“订单编号”升序排序,再按“商品编号”升序排序。 最终记录的处理结果保存在“order_d3”表中。 最后将程序保存为“cx1prg”,并执行该程序。(分数:2.00)_国家二级 VF 机试-试卷 239 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下完成下列操作: (1)用命令新建一个名为“外汇”的数据库,
5、并将该命令存储于onetxt 中。 (2)将自由表“外汇汇率”、“外汇账户”、“外汇代码”加入到新建的“外汇”数据库中。 (3)用 SQL 语句在“外汇”数据库中新建一个数据库表 rate,其中包含 4 个字段“币种 1 代码”C(2)、“币种 2 代码”C(2)、“买入价”N(8,4)、“卖出价”N(8,4),请将 SQL 语句存储于 twotxt 中。 (4)表单文件 test form 中有一个名为 form1 的表单(如图 1-6 所示),请将编辑框控件 Edit1 的滚动条去掉。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令:MODIFY FILE one,打开文
6、本文件编辑器。 在编辑器中输入 SQL 定义表结构的代码: MODIFY DATABASE 外汇 , 在命令窗口执行命令: DO onetxt ,执行文本文件。 (2)在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击“外汇汇率”表,将表添加到数据库中,以同样的方法将“外汇账户”和“外汇代码”表添加到数据库中。 (3)在命令窗口执行命令: MODIFYFILE two ,打开文本文件编辑器。 在编辑器中输入 SQL 定义表结构的代码:CREATE TABLE rate(; &定义表名,括号内包括表字段名、类型、宽度等内容的定义币种 1 代码 C(2),币种 2
7、代码 C(2),买入 价 N(8,4),卖出价 N(8,4) 在命令窗口执行命令: DO twotxt ,执行文本文件。 (4)在命令窗口执行命令: MODIFY FORMtest_form ,打开表单设计器修改 test form 表单。 选中表单中的编辑框(Editl)控件,在“属性”面板中修改控件的ScrollBars 属性值为:0-无,保存修改。)解析:解析:本题考查了数据库及表的基本操作;SQL 定义表语句;表单控件常用属性的修改。 在数据库设计器中可通过快捷菜单中的命令添加自由表;SQL 表定义语句则要求大家对新建表的语句非常熟悉,SQL 新建表的关键短语是 Create Tabl
8、e;修改表单控件属性同样要求大家对控件常用属性非常了解,控制文本框的只读属性是通过 ReadOnly 属性设置的。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.在考生文件夹下,打开 Ecommerce 数据库,完成如下简单应用: (1)使用 SQL 命令查询 customer 数据表中“电话”字段的首字符是“6”、性别为“女”的会员信息,列出“姓名”、“年龄”和“电话”,查询结果按“年龄”升序排序存入表 temp_cusdbf 中,SQL 命令存入文本文件 temp_sq1txt 中。 (2)使用命令建立一个名称为 sb_view 的视图,并将定义
9、视图的命令代码存放到命令文件 pviewprg。视图中包括客户的会员号(来自 Customer 表)、姓名(来自 Customer 表)、客户所购买的商品名(来自 article表)、单价(来自 OrderItem 表)、数量(来自 OrderItem 表)和金额(OrderItem单价*OrderItem数量),结果按会员号升序排序。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: MODIFY FILE temp-sq1 ,打开文本文件编辑器编写视图定义代码。 步骤 2:在编辑器中输入如下程序代码: SELECT 姓名,年龄,电话; FROM customer
10、 WHERE LEFT(电话,1)=6 AND 性别=“女“; ORDER BY 年龄 INTO TABLE temp_cus 步骤 3:在命令窗口执行命令:DO temp-sq1txt,执行文件(注意:执行文件时,文件后缀名txt 不能缺省)。 (2)步骤 1:在命令窗口执行命令: OPEN DATABASE ecommerce ,打开数据库环境。 步骤 2:在命令窗口执行命令: MODIFY COMMAND pview ,打开程序文件编辑器编写视图定义代码。 步骤 3:在编辑器中输入如下程序代码: CREATE SQL VIEW sb_view AS; SELECT Customer会员号
11、,; Customer姓名,Article商品名,Orderitem单价,; Orderitem数量,Orderitem单价* Orderitem数量 金额;FROM ecommerce!article INNER JOIN ecommerce!orderitem; INNER JOIN ecommerce!customer; ON Customer会员号=Orderitem会员号; ON Article商品号=Orderitem商品号; ORDER BY Customer会员号 步骤 4:在命令窗口执行命令: DO pview ,执行文件。)解析:解析:(1)本题主要考查了利用 SQL 命令
12、创建查询。注意查询条件中字段截取函数的正确使用。 (2)本题主要考查了利用 SQL 命令建立视图:SQL 联接查询。 利用 SQL 命令建立视图的基本命令格式为:CREATEVIEW视图名ASSELECT 语句。该视图的 SQL 语句中用到了 Costomer 表、Article 表和Orderitem 表。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.首先将“order_d”表全部内容复制到“order_d2”表,然后对“order_d2”表编写完成如下功能的程序: 把订单中“商品编号”相同的订单合并为一张订单,新的“订单编号”取最小的“订单编号
13、”,“单价”取加权平均单价(即“商品编号”相同的订单总金额总数量),“数量”取合计。 结果先按新的“订单编号”升序排序,再按“商品编号”升序排序。 最终记录的处理结果保存在“order_d3”表中。 最后将程序保存为“cx1prg”,并执行该程序。(分数:2.00)_正确答案:(正确答案:在命令窗口中输入命令:MODI COMM cx1(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码: SELECT*INTO TABLE order d2 FROM order d SELECT MIN(订单编号)AS 新订单号,商品编号,SUM(数量*单价)SUM(数量)AS 单价,SUM(数量)AS 数量 INTO TABLE ordER_d3 FROM order_d2 GROUP BY 商品编号 ORDER BY 新订单号,商品编号关闭程序文件编辑窗口并保存程序文件。 在命令窗口中输入命令:DO cx1(回车执行),执行程序文件。)解析: