1、国家二级 VF 机试-试卷 222 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下,打开“宾馆”数据库,完成如下操作: (1)打开“客户”表,给“性别”字段增加约束:性别只能为“男”或“女”,默认值为:“女“,表达式为:性别$“男女“。 (2)为“入住”表创建一个主索引,主索引的索引名为 fkkey,索引表达式为:客房号+客户号。 (3)根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。 (4)使用 SQL 的
2、 SELECT 语句查询“客户”表中性别为“男”的“客户号”、“身份证”、“姓名”和“工作单位”字段及相应的记录值,并将结果存储到名为 taba 的表(注意,该表不需要排序)。请将该语句存储到名为 oneprg 的文件中。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.在考生文件夹下完成如下简单应用: (1)将“order d”表中的全部记录追加到“order_d1”表中,然后用 SQL 的 SELECT 语句完成查询:列出所有订购单的订单编号、订单日期、商品编号、商品名称和总金额(按订单编号升序排列,订单编号相同的再按总金额降序排列)
3、,并将结果存储到“result”表中,将SQL 语句保存在“cx1prg”文件中。 (2)打开“cx2prg”命令文件,该命令文件包含 3 条 SQL 语句,每条 SQL 语句中都有一个错误,请改正(注意:在出现错误的地方直接改正,不可以改变 SQL 语句的结构和 SQL 短语的顺序)。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下完成如下综合应用:新建一个名为“cx1”的程序,完成以下功能: 首先将“教材DBF”中所有出版社为“清华大学出版社”的图书复制到表“教材_BAK”中。 复制后的教材价格在原价格基础上涨价 5,
4、操作在“教材_BAK”表中完成。 从教材均价高于 25 元(含 25)的出版社中,查询并显示教材均价最低的出版社名称及均价,查询结果保存在表“result”中(字段名为出版社和均价)。(分数:2.00)_国家二级 VF 机试-试卷 222 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下,打开“宾馆”数据库,完成如下操作: (1)打开“客户”表,给“性别”字段增加约束:性别只能为“男”或“女”,默认值为:“女“,表达式为:性别$“男女“。 (2)为“入住”表创建一个主索引,主索引的索引名
5、为 fkkey,索引表达式为:客房号+客户号。 (3)根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。 (4)使用 SQL 的 SELECT 语句查询“客户”表中性别为“男”的“客户号”、“身份证”、“姓名”和“工作单位”字段及相应的记录值,并将结果存储到名为 taba 的表(注意,该表不需要排序)。请将该语句存储到名为 oneprg 的文件中。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABASE 宾馆 ,打开“宾馆”数据库设计器。 右击数据库设计器中的“客户”表,
6、选择【修改】快捷菜单命令,打开“客户”表设计器,选中“字段”选项卡中的“性别”字段,在“字段有效性”的“规则”文本框中输入:性别$“男女“,在“默认值”文本框中输入:“女“,保存表修改。 (2)右击数据库设计器中的“入住”表,选择【修改】快捷菜单命令,打开“入住”表设计器,选中“索引”选项卡,在“索引名”下方的文本框中输入“fkkey”,在“索引”选项卡中将“类型”选择“主索引”,在表达式下方的文本框中输入“客房号+客户号”,建立主索引。 (3)选中“入住”表单击“修改”按钮,弹出“入住”表设计器,在表设计器的“字段”选项卡中选中“客户号”字段名,然后在“索引”列的下拉框选择“升序”排序方式(
7、此时为表已建立了普通索引),接着选中“客房号”字段名,然后在“索引”列的下拉框选择“升序”排序方式,单击“确定”按钮保存表结构修改。 参照“入住”表的操作,为“客房”表建立“类型号”字段的普通索引。 接着在数据库设计器中,拖动“客户”表“索引”下方的主索引“客户号”到“入住”表中“索引”下方的普通索引“客户号”上,为两个表建立联系,建立好联系的两个表之间会出现一条连线。 以同样的方法建立其他三个表之间的联系,其中“客房”表与“入住”表之间的联接字段为“客房号”,“客房”表与“房价”表之间的联接字段为“类型号”(注意:拖动过程中是由主索引字段向普通索引字段进行拖动,且一定要拖到相应的普通索引字段
8、上才可以松开鼠标,否则,有可能建立的联接字段就不对应)。 (4)在命令窗口执行命令: MODIFY COMMAND one ,打开程序文件编辑器编写视图定义代码。 在编辑器中输入如下程序代码: SELECT 客户号,身份证,姓名,工作单位 FROM 客户;WHERE 性别=“男“INTO TABLE taba 在命令窗口执行命令: DO one ,执行文件。)解析:解析:本大题考查字段有效性规则的设置;索引的建立;表间联系;SQL 简单查询。 建立表字段有效性规则和字段索引都需要在表设计器中建立。“默认值”和“规则”的设置均属于字段有效性规则范围,“默认值”为字符型数据;根据多个字段建立索引表
9、达式时,需要在表设计器“索引”选项卡的“表达式”中进行设置,该索引表达式可以直接输入,也可以打开“表达式生成器”建立。 对两个表建立联系是在数据库设计器中进行操作的,本题的关键是要找出每两个表之间的相同字段,并分别设置主索引和普通索引,再进行联接,打开数据库设计器可以看到数据库中所包含的数据表及各数据表中的字段。 SQL简单查询可直接套用固定的查询语法格式完成该查询,利用 INTO TABLE 短语可将查询结果输出到指定的数据表中。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.在考生文件夹下完成如下简单应用: (1)将“order d”表中的全部记
10、录追加到“order_d1”表中,然后用 SQL 的 SELECT 语句完成查询:列出所有订购单的订单编号、订单日期、商品编号、商品名称和总金额(按订单编号升序排列,订单编号相同的再按总金额降序排列),并将结果存储到“result”表中,将SQL 语句保存在“cx1prg”文件中。 (2)打开“cx2prg”命令文件,该命令文件包含 3 条 SQL 语句,每条 SQL 语句中都有一个错误,请改正(注意:在出现错误的地方直接改正,不可以改变 SQL 语句的结构和 SQL 短语的顺序)。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口中输入命令:MODI COMM cx1(回车执行),打
11、开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码: USE order_d1 APPEND FROM order_d USE SELECT order_m订单编号,订单日期,商品信息商品编号,商品名称,数量*价格AS 总金额 INTO TABLE result FROM order_m,order_d,商品信息 WHERE order_m订单编号=order_d订单编号 AND order_d商品编号=商品信息商品编号 ORDER BY order_m订单编号,总金额 DESC 关闭程序文件编辑窗口并保存程序文件。 在命令窗口中输入命令:DO cx1(回车执行),执行程序文件。 (2)
12、在命令窗口中输入命令:MODI COMM cx2(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中做以下修改(注:黑体带下划线部分为修改的地方): SELECT*FROM order_m WHERE 订单日期=cTOD(“010107“) SELECT order_m 订单编号,客户编号,商品编号,数量 FROM order_m,order_d WHERE order_m订单编号=order_d订单编号 SELECT order_m订单编号,商品编号,数量 FROM order_m,order_d wHERE order_m订单编号=order_d订单编号 ORDER BY order_
13、m 订单编号 关闭程序文件编辑窗口并保存程序文件。)解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下完成如下综合应用:新建一个名为“cx1”的程序,完成以下功能: 首先将“教材DBF”中所有出版社为“清华大学出版社”的图书复制到表“教材_BAK”中。 复制后的教材价格在原价格基础上涨价 5,操作在“教材_BAK”表中完成。 从教材均价高于 25 元(含 25)的出版社中,查询并显示教材均价最低的出版社名称及均价,查询结果保存在表“result”中(字段名为出版社和均价)。(分数:2.00)_正确答案:(正确答案: 在命令窗口中输入
14、命令:MODI COMM cx1(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码: SELECT*INTO TABLE 教材_BAK FROM 教材 WHERE 出版社=“清华大学出版社“ UPDATE 教材_BAK SET 价格=价格*(1+005) SELECT 出版社,AVG(价格)AS 均价 INTO CURSOR tmp FROM 教材 GROUP BY 出版社 HAVING 均价=25 SELECT 出版社,MIN(均价)AS 均价 INTO TABLE result FROM tmp 关闭程序文件编辑窗口并保存程序文件。 在命令窗口中输入命令:DO cx1(回车执行),执行程序文件。)解析: