1、国家二级 VF机试模拟试卷 42及答案与解析 一、基本操作题( 30分) 1 (1)在数据库 sa1中建立表 “部门信息 ”,表结构如下: 字段名 类型 宽度 部门编号 字符型 6 部门名 字符型 20 随后在表中输入 5条记录,记录内容如下: 部门编号 部门名 01 销售部 02 采购部 03 项目部 04 制造部 05 人事 部 (2)为 “部门信息 ”表创建一个主索引 (升序 ),索引名为 bumen,索引表达式为 “部门编号 ”。 (3)通过 “部门编号 ”字段建立 sa1表和 “部门信息 ”表间的永久联系。 (4)为以上建立的联系设置参照完整性约束:更新规则为 “限制 ”;删除规则为
2、 “级联 ”;插入规则为 “忽略 ”。 二、简单应用题( 40分) 2 (1) 在 “值班信息 ”数据库中统计 “员工信息 ”表中的 “加班费 ”,并将结果写入 “员工信息 ”表中的 “加班费 ”字段。 (2)建立视图 shitu,包括 “职工编码 ”, “姓名 ”和 “夜值班天数 ”等字 段,内容是夜值班天数在 3天以上的员工。建立表单 biao,在表单上显示视图 shitu的内容。 三、综合应用题( 30分) 3 对考生文件夹下的数据库 “员工管理 ”中的 “员工信息 ”表和 “职称信息 ”表完成如下操作: 为表 “职称信息 ”增加两个字段 “人数 ”和 “明年人数 ”,字段类型均为整型。
3、 编写命令程序 myp,查询职工中拥有每种职称的人数,并将其填入表 “职称 ”的“人数 ”字段中,根据职称表中的 “人数 ”和 “增加百分比 ”,计算 “明年人数 ”的值,如果增加的人数不足一个,则不增加。 运行该程序。 国家二级 VF机试模拟试卷 42答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)从菜单栏里单击 “文件 ”并选择 “打开 ”,或直接单击工具栏上的“打开 ”图标,在弹出的对话框中选择要打开的数据库文件 sa1.dbc。 单击右键数据库设计器,选择 “新建表 ”快捷菜单命令,在弹出的 “新建表 ”对话框中,单击 “新建表 ”图标,以 “部门信息 ”为文件名保存在
4、考生文件夹下。根据题意,在表设计器的“字段 ”选项卡中,依次输入每个字段的字段名、类型和宽度。单击表设计器右边的“确定 ”按钮。系统弹出 “现在输入数据记录吗 ”对话框, 选择 “是 ”,在表浏览器中,根据题意依次输入 5条记录。 (2)在数据库设计器中,右键单击数据库表 “部门信息 ”,在弹出的快捷菜单中选择 “修改 ”菜单命令,进入 “部门信息 ”的数据表设计器界面,在 “字段 ”选项卡中为 “部门编号 ”选择 “升序 ”排序,然后单击 “索引 ”选项卡,此选项卡中的 “索引名 ”和 “索引表达式 ”默认 “部门编号 ”,把 “索引名 “改为 bumen,在 “索引类型 ”的下拉框中,选择
5、 “主索引 ”。 (3)在数据库设计器中,将 “部门信息 ”表中 “索引 ”下面的 bumen主索引字段拖到 sa1表中 “索引 ”下面的 “部门编号 ”索引字段 上,建立了两个表之间的永久性联系。 (4)在数据库设计器中,选择菜单命令 “数据库 ”“清理数据库 ”,右键单击 “部门信息 ”表和 “sa1”表之间的关系线,选择 “编辑参照完整性 ”快捷菜单命令,在参照完整性生成器中,根据题意,分别在 3个选项卡中设置参照规则,如图 3-125所示。 【试题解析】 本大题主要考查的是数据库和数据表之间的联系,对数据表的连接、以及字段索引、参照完整性的建立。建立索引表可以在数据表设计器中完成。对数
6、据表进行连接及设置参照完整性都是在数据库设计器中完成。 二、简单应用题( 40分) 2 【正确答案】 (1)在命令窗口中输入命 令; MODIFY COMMANDquery1,在程序文件编辑器窗口输入如下程序段; *文件 query1.prg中的程序代码 * SELECT职工编码,夜值班天数 *200+昼值班天数 *150AS加班费; FROM 员工信息; INTO CURSOR atemp DO WHILE NOTEOF() UPDATE员工信息 SET 加班费=atemp.加班费; WHERE员工信息 .职工编码 =atemp.职工编码 SKIP ENDDO * 保存设计结果,在命令窗口输
7、入命令; DOquery1.prg,执行程序文件,结果如图 3-133所示。 (2)从菜单栏里单击 “文件 ”并选择 “打开 ”,或直接单击工具栏上的 “打开 ”图标,在弹出的对话框中选择要打开的数据库文件 “值班信息 .dbc”。 在 “数据库设计器 ”工具栏中,单击 “新建本地视图 ”按钮,在弹出的 “新建本地视图 ”对话框中,单击 “新建视图 ”按钮,打开视图设计器,将 “员工信息 ”数据表添加到视图设计器中,根据题意,在视图设计器的 “字段 ”选项卡中,将 “可用字段 ”列表框中的字段 “员工信息 .职工编码 ”, “员工信息 .姓名 ”和 “员工信息 .夜值班天数 ”添加到右边的 “
8、选定字段 ”列表框里中;在 “筛选 ”选项卡中,字段名选择 “员工信息 .夜值班天数 ”,条件选择 “ ”,实例选项中输入 3,完成视图设计,将视图以 shitu文件名保存在考生文件夹下。 在命令窗口输入命令: CREATE FORM biao,打开表单设计器新建表单。 在表单设计器中,鼠标右键单击空白表单,选择 “数据环境 ”快捷菜单命令,打开表单的数据环境,在 “选定 ”单选框中选择 “视图 ”,将视图文件 shitu添加到数据环境中,将数据环境中的视图文件 shitu拖放到表单中, 可看到在表单中出现一个表格控件,此时实现了视图文件 shitu的窗口式输入界面,运行表单,结果如图 3-1
9、34所示。【试题解析】 本大题 1小题主要考查的是 SQL语句的应用,设计过程中可利用临时表来存放查询结果,再利用 DO循环语句对表中的记录逐条更新。 2小题主要考查的是视图的建立,以及表单与视图的连接。需要注意的是新建视图文件时,首先应该打开相应的数据库,且视图文件在磁盘中是找不到的,直接保存在数据库中;在表单中定数据环境,通过表单的数据环境快速建立表单控件和视图之间的联系。 三、综合应用题( 30分) 3 【正确答案】 从菜单栏里单击 “文件 ”并选择 “打开 ”,或直接单击工具栏上的 “打开 ”图标,在弹出的对话框中选择要打开的数据库文件 “员工信息管理 .dbc”。 在数据库设计器中,
10、右键单击数据库表 “职称信息 ”,在弹出的快捷菜单中选择 “修改 ”菜单命令,进入 “职称信息 ”的数据表设计器界面,在 “字段 ”选项卡中,单击右边的“插入 ”命令按钮,在字段名中输入 “人数 ”,类型为 “整型 ”,用同样的方法增加 “明年人数 ”字段。单击右边 “确定 ”按钮。 在命令窗口中输入命令: MODIFY COMMANDmyp,在弹出的程序编辑窗口中输 入如下代码: *文件myp.prg中的程序代码 * SELECT员工信息 .职称代码,增加百分比 ,COUNT(*)AS人数; FROM员工信息,职称信息; WHERE员工信息职称代码:职称信息职称代码; GROUP BY员工信息 .职称代码; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE职称信息 SET 人数 =atemp.人数,明年人数=atemp.人数 +; atemp.人数 *atemp.增加百分比 /100; WHERE职称信息 职称代码=atemp.职称代码 单击菜单中的 “程序 ”“运行 ”来运行程序,结果如图 3-132所示。 【试题解析】 本大题主要考查的是字段的增加以及记录的更新,字段的增加可在表设计器中完成,更新记录可以利用 SQL语句,设计过程中可利用临时表来存放查询结果,再利用 DO循环语句对表中的记录逐条更新。