1、国家二级 VF机试(操作题)-试卷 123及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开考生文件夹下的数据库 SPORT,首先永久删除该数据库中的 temp表,然后将“金牌榜”、“获奖牌情况”和“国家”3 个自由表加入该数据库中。 (2)在表设计器中,为表“金牌榜”建立一个普通索引,索引名和索引表达式均为“金牌数”。 (3)使用 SQL语句为表“金牌榜”增加一个字段“奖牌总数”(整数型),同时为该字段设置有效性规则:奖牌总数=0。请将该 SQL语句存储在文件 oneprg 中,否则不得分。 (4)使用 SQL语句更改表“金牌榜”所有
2、记录的“奖牌总数”字段值,该值应为“金牌数”、“银牌数”、“铜牌数”3 项之和。请将该 SQL语句存储在文件 twoprg 中,否则不得分。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)编写程序 threeprg 完成下列操作:根据“外汇汇率”表中的数据产生 rate表中的数据。 要求:将所有“外汇汇率”表中的数据插入 rate表中并且顺序不变,由于“外汇汇率”中的“币种 1”和“币种 2”存放的是外币名称,而 rate表中的“币种 1代码”和“币种 2代码”应该存放外币代码,所以插入时要做相应的改动,“外币名称”与“外币代码”的对应关系存储在“外汇代码”表中。 注
3、意:程序必须执行一次,保证 rate表中有正确的结果。 (2)使用查询设计器建立一个查询文件 fourqpr。查询要求:从外汇账户中查询“日元”和“欧元”的记录。查询结果包括了外币名称、钞汇标志、金额,结果按“外币名称”升序排序,在“外币名称”相同的情况下按“金额”降序排序,并将查询结果存储于表fivedbf 中。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开“宾馆”数据库,然后创建一个文件名为 test的表单,如图 215 所示。(分数:2.00)_国家二级 VF机试(操作题)-试卷 123答案解析(总分:6.00,做题时间:90 分钟)一、基本操
4、作题(总题数:1,分数:2.00)1.(1)打开考生文件夹下的数据库 SPORT,首先永久删除该数据库中的 temp表,然后将“金牌榜”、“获奖牌情况”和“国家”3 个自由表加入该数据库中。 (2)在表设计器中,为表“金牌榜”建立一个普通索引,索引名和索引表达式均为“金牌数”。 (3)使用 SQL语句为表“金牌榜”增加一个字段“奖牌总数”(整数型),同时为该字段设置有效性规则:奖牌总数=0。请将该 SQL语句存储在文件 oneprg 中,否则不得分。 (4)使用 SQL语句更改表“金牌榜”所有记录的“奖牌总数”字段值,该值应为“金牌数”、“银牌数”、“铜牌数”3 项之和。请将该 SQL语句存储
5、在文件 twoprg 中,否则不得分。(分数:2.00)_正确答案:(正确答案:(1)命令窗口执行: MODIFY DATABASE sport ,打开数据库设计器。 右击数据库设计器中的 temp表,选择【删除】,在弹出的对话框中单击“删除”按钮,将“temp”表永久性删除。 在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击“金牌榜”表加到数据库中,以同样的方法将“获奖牌情况”表和“国家”表添加到数据库中。 (2)在命令窗口输入如下代码,打开表设计器: USE 金牌榜 MODI FY STRUCTURE 在表设计器的“字段”选项卡中选中“金牌数”,“索引”列“升序”排序方式,单击
6、“确定”保存表结构修改。 (3)命令窗口执行: MODIFY COMMAND one ,打开程序文件编辑器。 在编辑器中输入如下程序代码: ALTER TABLE 金牌榜 ADD奖牌总数工 CHECK奖牌总数=0 命令窗口执行: DO one ,执行程序文件。 (4)在命令窗口执行命令: MODIFY COMMAND two ,打开程序文件编辑器,输入如下程序代码: UPDATE 金牌榜 SET奖牌总数=金牌数+银牌数+铜牌数 在命令窗口执行命令: DO two ,执行程序文件。)解析:解析:本题考查了数据库的基本操作;表索引的建立;SQL 定义功能和操作功能。 利用 SQL表结构修改语句 A
7、LTER TABLE,增加字段的关键字为 ADD;用 SQL UPDATE语句可以更新表中记录。二、简单应用题(总题数:1,分数:2.00)2.(1)编写程序 threeprg 完成下列操作:根据“外汇汇率”表中的数据产生 rate表中的数据。 要求:将所有“外汇汇率”表中的数据插入 rate表中并且顺序不变,由于“外汇汇率”中的“币种 1”和“币种 2”存放的是外币名称,而 rate表中的“币种 1代码”和“币种 2代码”应该存放外币代码,所以插入时要做相应的改动,“外币名称”与“外币代码”的对应关系存储在“外汇代码”表中。 注意:程序必须执行一次,保证 rate表中有正确的结果。 (2)使
8、用查询设计器建立一个查询文件 fourqpr。查询要求:从外汇账户中查询“日元”和“欧元”的记录。查询结果包括了外币名称、钞汇标志、金额,结果按“外币名称”升序排序,在“外币名称”相同的情况下按“金额”降序排序,并将查询结果存储于表fivedbf 中。(分数:2.00)_正确答案:(正确答案:(1) 步骤 1:命令窗口执行: MODIFY COMMAND three ,打开程序文件编辑器,输入如下程序代码(以下程序是通过查询设计器生成): SELECT 外汇代码外币代码 AS币种 1代码; 外汇代码 a外币代码 AS币种 2代码, 外汇汇率买入价,外汇汇率卖出价; FROM 外汇!外汇代码IN
9、NER JOIN外汇!外汇汇率; INNERJOIN 外汇!外汇代码外汇代码 a; ON 外汇汇率币种 2=外汇代码a外币名称; N 外汇代码外币名称=外汇汇率币种 1; INTO ARRAY arr1 INSERT INTO RATEDBF FROM ARRAY arr1 步骤 2:命令窗口执行: DO threeprg ,执行程序文件。 (2) 步骤 1:命令窗口执行: OPEN DATABASE 外汇 ,打开数据库环境。 步骤 2:命令窗口执行: CREATE QUERY four ,打开查询设计器,在“添加表或视图”对话框中,分别双击“外汇代码”表和“外汇账户”表,添加到查询设计器中。
10、 步骤 3:添加后,弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”设置联系。 步骤 4:依次双击“外汇代码”表中的“外币名称”和“外汇账户”表中的“钞汇标志”、“金额”字段,添加到“字段”选项卡的“选定字段”列表中。 步骤 5:在“筛选”选项卡的“字段名”下拉列表中选择“外汇代码外币名称”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“日元”,在“逻辑”下拉框中选择“OR”;接着在第二行接着输入查询条件,在“字段名”下拉列表中选择“外汇代码外币名称”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“欧元”。 步骤 6:在“排序依据”选项卡内双击“选定字
11、段”列表框中的“外汇代码外币名称”字段,将字段添加到“排序条件”列表框中,在“排序选项”中选择“升序”单选项;以同样的方法再设置“外汇账户金额”字段的降序。 步骤 7:执行【查询】【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名“five”,单击“确定”按钮。 步骤 8:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。)解析:解析:(1)本题考查的是 SQZ超链接查询。设计 SQL代码的关键是建立“外汇代码”表中“外币代码”与“外汇汇率”表中“币种 1”和“币种 2”的联系。 由于输出结果的“币种 1”和“币种 2”
12、需要用相应的“外币代码”表示,“外汇代码”表中的“外币代码”只能利用一次,即替换“币种 1”或“币种 2”中的币种名称,这样没有被替换的币种仍然是中文币种名称,因此需要将“外汇代码”表利用两次,两个表中的“外币代码”分别替换“外汇汇率”表中“币种 1”和“币种 2”的中文币种名,被两次引用的表名要在原表名后再加“a”进行区分。 三个表的联接条件分别是“外汇代码外币名称=外汇汇率币种 1”和“外汇汇率币种 2=外汇代码 a外币名称”。查询输出的字段名可以通过 AS短语重新指定名称。 另外,查询结果要求保存到数据库表,因此要将结果保存到数组中,然后再通过数组将记录插入到表中 (2)本题考查的是在查
13、询设计器中新建查询的操作。操作过程中要注意确认查询输出的字段来源于哪个表;查询条件在“筛选”选项卡中设置;排序在“排序依据”选项卡中设置;查询去向可通过执行 【查询】【查询去向】菜单命令,在“查询去向”对话框中进行操作。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开“宾馆”数据库,然后创建一个文件名为 test的表单,如图 215 所示。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE FORM test ,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个标签、一个文本框和两个命令按钮。 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 315。 )解析:解析:本题主要考查了表单及控件的常用属性和方法的设置;SQL 超联接查询。 对于 SQL不熟悉的考生,可借助查询设计器完成本题的 SQL查询,需要注意的是,在设置筛选条件时,由于文本框中显示的是字符型数据,而“退房日期”是日期型数据,因此,要将文本框的数据类型通过 CTOD()函数转换戍日期型函数,通过 VALUE属性可以获得丈本框中的数据。