1、计算机二级(VF)上机考试 25 及答案解析(总分:-3.00,做题时间:90 分钟)1.基本操作题(共 4 小题,第 1 和 2 题是 7 分、第 3 和 4 题是 8 分) (1)为各部门分年度季度销售金额和利润表 XL 创建一个主索引和普通索引(升序),主索引的索引名为 NO,索引表达式为“部门编号+年份“;普通索引的索引名和索引表达式均为“部门编号“。(在“销售“数据库中完成) (2)在 XL 表中增加一个名为“备注“的字段,字段数据类型为“字符“,宽度为 50。 (3)使用 SQL 的 ALTER TABLE 语句将 XL 表的“年份“字段的默认值修改为“2003“,并将该 SQL
2、语句存储到命令文件 BBS.PRG 中。 (4)通过“部门编号“字段建立 XL 表和 MA 表间的永久联系,并为该联系设置参照完整性约束:更新规则为“级联“;删除规则为“限制“;插入规则为“忽略“。(分数:-1.00)_2.简单应用题(共 2 小题,每题 20 分,计 40 分) (1)在考生文件夹下有一个数据库 stsc,其中有数据库表 student、score 和 course,利用 SQL 语句查询选修了“网络工程“课程的学生的全部信息,并将结果按学号降序存放在 netp.dbf 文件中(表的结构同 student,并在其后加入课程号和课程名字段)。 (2)在考生文件夹下有一个数据库
3、stsc,其中有数据库表 student,使用一对多报表向导制作一个名为cjb 的报表,存放在考生文件夹下。要求:从父表 student 中选择学号和姓名字段,从子表 score 中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表“。 (分数:-1.00)_3.综合应用题(1 小题,计 30 分) 在考生文件夹下有学生成绩数据库 xuesheng3,包括如下所示 3 个表文件以及相关的索引文件: 1)xs.dbf(学生文件: 学号 C8,姓名 C8,性别 C2,班级 C5;另有索引文件 XS.IDX,索引键:学号) 2)cj.dbf(成绩文件:
4、学号 C8,课程名 C20,成绩 N5.1;另有索引文件CJ.IDX,索引键:学号) 3)cjb.dbf(成绩表文件:学号 C8,姓名 C8,班级 C5,课程名 C12,成绩 N5.1) 设计一个名为 XS3 的菜单,菜单中有两个菜单项“计算“和“退出“。 程序运行时, 单击“计算“菜单项应完成下列操作: 将所有选修了“计算机基础“的学生的“计算机基础“成绩,按成绩由高到低的顺序填到成绩表文件 CJB.DBF 中(首先须将文件中原有数据清空)。 单击“退出“菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下) (分数:-1.00)_计算机二级(VF)上机考试 25 答案解析(总分:
5、-3.00,做题时间:90 分钟)1.基本操作题(共 4 小题,第 1 和 2 题是 7 分、第 3 和 4 题是 8 分) (1)为各部门分年度季度销售金额和利润表 XL 创建一个主索引和普通索引(升序),主索引的索引名为 NO,索引表达式为“部门编号+年份“;普通索引的索引名和索引表达式均为“部门编号“。(在“销售“数据库中完成) (2)在 XL 表中增加一个名为“备注“的字段,字段数据类型为“字符“,宽度为 50。 (3)使用 SQL 的 ALTER TABLE 语句将 XL 表的“年份“字段的默认值修改为“2003“,并将该 SQL 语句存储到命令文件 BBS.PRG 中。 (4)通过
6、“部门编号“字段建立 XL 表和 MA 表间的永久联系,并为该联系设置参照完整性约束:更新规则为“级联“;删除规则为“限制“;插入规则为“忽略“。(分数:-1.00)_正确答案:(1)从菜单栏里单击“文件“并选择“打开“,或直接单击工具栏上的“打开“图标,在弹出的对话框中选择要打开的数据库文件“销售.dbc“。 在数据库设计器中,右键单击数据库表 xl,在弹出的快捷菜单中选择“修改“菜单命令,进入 xl 的数据表设计器界面,然后单击“索引“选项卡,此选项卡中的“索引名“和“索引表达式“分别改为 NO 和“部门编号+年份“,在“索引类型“的下拉框中,选择“主索引“。以同样的方法建立普通索引。 (
7、2)在 xl 表设计器的“字段“选项卡中,输入新的字段名“备注“,类型选择“字符“型,宽度设置为“50“。 (3)在命令窗口输入命令:MODIFY COMMAND BBS,打开文件编辑器,输入如下语句: ALTER TABLE XL ALTER 年份 SET DEFAULT 2003 在命令窗口输入命令:DO BBS,执行文件。 (4)在数据库设计器中,将 ma 表中“索引“下面的“部门编号“主索引字段拖到 xl 表中“索引“下面的“部门编号“索引字段上,建立了两个表之间的永久性联系。 在数据库设计器中,选择菜单命令“数据库“清理数据库“,右键单击 xl 表和 ma 表之间的关系线,选择“编辑
8、参照完整性“快捷菜单命令,在参照完整性生成器中,根据题意,分别在个选项卡中设置参照完整性规则。)解析:本大题主要考查的是数据库和数据表之间的联系,对数据表的连接、以及字段索引、表结构的修改,参照完整性的建立。建立索引表可以在数据表设计器中完成。对数据表进行连接及设置参照完整性都是在数据库设计器中完成。 2.简单应用题(共 2 小题,每题 20 分,计 40 分) (1)在考生文件夹下有一个数据库 stsc,其中有数据库表 student、score 和 course,利用 SQL 语句查询选修了“网络工程“课程的学生的全部信息,并将结果按学号降序存放在 netp.dbf 文件中(表的结构同 s
9、tudent,并在其后加入课程号和课程名字段)。 (2)在考生文件夹下有一个数据库 stsc,其中有数据库表 student,使用一对多报表向导制作一个名为cjb 的报表,存放在考生文件夹下。要求:从父表 student 中选择学号和姓名字段,从子表 score 中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表标题为“学生成绩表“。 (分数:-1.00)_正确答案:((1)在命令窗口输入命令:MODIFY COMMAND query,打开程序文件编辑器; 在程序文件编辑窗口中输入如下程序段 *程序文件 query.prg 程序内容* SELECT student
10、.*, score.课程号, course.课程名; FROM stsc!student INNER JOIN stsc!score; INNER JOIN stsc!course ; ON score.课程号 = course.课程号 ; ON student.学号 = score.学号; WHERE AT(“网络工程“,course.课程名) 0; ORDER BY student.学号 DESC; INTO TABLE netp.dbf * 保存程序文件,在命令窗口输入命令:DO query,完成查询。 (2)请按以下步骤完成: 利用菜单命令“文件“-“新建“,或从常用工具栏中单击新建图
11、标按钮,在弹出的“新建“对话框中选择“报表“单选项,再单击“向导“图标按钮,系统弹出“向导选取“对话框,在列表框中选择“一对多报表向导“,单击“确定“按钮。 选择“一对多报表向导“后,系统首先要求选择一对多报表中作为父表的数据表文件。根据题意,选择 student 表作为父表,如图所示,从“可用字段“列表框中将“姓名“和“学号“字段添加到右边的“选定字段“列表框中,用作父表的可用字段。 )解析:本大题 1 小题考查的是利用 SQL 语句进行多表查询以及查询输出,程序设计中应注意数据表之间的关联以及查询结果的分组排序;2 小题主要考查报表向导的使用,只要根据每个向导界面的提示来完成相应的步骤即可
12、。 3.综合应用题(1 小题,计 30 分) 在考生文件夹下有学生成绩数据库 xuesheng3,包括如下所示 3 个表文件以及相关的索引文件: 1)xs.dbf(学生文件: 学号 C8,姓名 C8,性别 C2,班级 C5;另有索引文件 XS.IDX,索引键:学号) 2)cj.dbf(成绩文件: 学号 C8,课程名 C20,成绩 N5.1;另有索引文件CJ.IDX,索引键:学号) 3)cjb.dbf(成绩表文件:学号 C8,姓名 C8,班级 C5,课程名 C12,成绩 N5.1) 设计一个名为 XS3 的菜单,菜单中有两个菜单项“计算“和“退出“。 程序运行时, 单击“计算“菜单项应完成下列操
13、作: 将所有选修了“计算机基础“的学生的“计算机基础“成绩,按成绩由高到低的顺序填到成绩表文件 CJB.DBF 中(首先须将文件中原有数据清空)。 单击“退出“菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下) (分数:-1.00)_正确答案:(在命令窗口输入命令:CREATE MENU xs3,系统弹出一个“新建菜单“对话框,在对话框中单击“菜单“图形按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“计算“和“退出“,接着在“计算“菜单行的“结果“下拉框中选择“过程“选项(用于编写程序),在“退出“菜单行的“结果“下拉框中选择“命令“选项(可参考二大题 2 小题的
14、设计过程)。 单击“计算“菜单行中的“编辑“按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段: *“计算“菜单命令的程序设计* SET TALK OFF OPEN DATABASE xuesheng3 SELECT cj.学号, xs.班级, xs.姓名, cj.课程名, c.成绩; FROM xuesheng3!xs INNER JOIN xuesheng3!cj ; ON xs.学号 = cj.学号; WHERE cj.课程名 = 计算机基础; ORDER BY cj.成绩 DESC; INTO ARRAY AFieldsValue DELETE FROM cjb INSERT I
15、NTO cjb FROM ARRAY AFieldsValue CLOSE ALL USE cjb PACK USE SET TALK ON * 在“退出“菜单项的“命令“文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单“生成“,生成一个菜单文件“xs3.mpr“。关闭设计窗口,在命令窗口输入命令:DO xs3.mpr,看到 Visual FoxPro 的菜单栏被新建的菜单所代替,单击“退出“菜单命令将恢复系统菜单。 )解析:本大题考查的主要是通过学生表和成绩表的连接,将符合要求的记录添加到新的数据表中。在菜单的“计算“菜单命令设计过程中,在“结果“下拉框选项中应该选择“过程“选项,然后进行查询程序的编辑,在程序设计过程中,可以使用 SQL 查询语句及插入语句来完成设计过程。