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