1、国家二级 VF 机试(操作题)-试卷 131 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开名称为 sdb 的学生数据库,分别为学生表 student、选课成绩表 sc 和课程表 course 创建主索引。student 表主索引的索引名和索引表达式均为“学号”;course 表:索引的亲引名和索引表达式均为“课程号”;sc 表的主索引名为 PK Sc,索引表达式为“学号+课程号”的字段组合。 (2)通过字段“学号”建立 student 表与 sc 表之间的永久联系,通过字段“课程号”建立 course 表与表 sc 之间的永久联系
2、。并为以上建立的永久联系设置参照完整性约束:更新觇则为“级联”;删除规则为“级联”;插入规则为“限制”。 (3)使用 SQL 语句将学号为“s3”的学生记录从表 student 中逻辑删除,并将该 SOL语句存放存文件 oneprg 中。 (4)创建一个名为 Pmjeet s 的项目文件。将学牛数据库 sdb 添加到该项目中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)存“学籍”数据库中有 student、score 和 course 三个表,使用菜单设计器制作一个名为 menul 的菜单,菜单只有一个“查询”菜单项。该单项中有“按学号”、“按课程号”和“退出”3
3、 个子菜单。“按学号”和“按课程号”子菜单分别使用 SOL 语句的 AVG 函数统计各学生和课程的平均成绩。统计结果中分别包括“学号”、“姓名”、“平均成绩”和“课程编号”、“平均成绩”。“退出”子菜单负责返回到系统菜单。 (2)在数据库“图书”中建立视图“tsview”,显示表 loans 中的所有记录,并按“借书日期”降序排序。建立表单 forml,在表单上添加“表格”控件显示新建立的视图的记录。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开学生数据库 sdb,然后创建文件名为 tform 的表单,完成如下综合应用: 在该表单中设计两个命令按钮,
4、各命令按钮的功能如卜: “查洵”按钮(Commandl):在该按钮的“click”事件中使用 sQL 的 SELECT 命令查询选课数量大于等于 4 门且平均成绩大于等于 75 分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 two 中。表 two 中的字段名分别为:学号、姓名、平均成绩、选课门数。“退出”按钮(Command2):单击“退出”按钮时,按钮闭表单。表单设计完成后,运行该表单,点击“查询”按钮进行查询。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 131 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分
5、数:2.00)1.(1)打开名称为 sdb 的学生数据库,分别为学生表 student、选课成绩表 sc 和课程表 course 创建主索引。student 表主索引的索引名和索引表达式均为“学号”;course 表:索引的亲引名和索引表达式均为“课程号”;sc 表的主索引名为 PK Sc,索引表达式为“学号+课程号”的字段组合。 (2)通过字段“学号”建立 student 表与 sc 表之间的永久联系,通过字段“课程号”建立 course 表与表 sc 之间的永久联系。并为以上建立的永久联系设置参照完整性约束:更新觇则为“级联”;删除规则为“级联”;插入规则为“限制”。 (3)使用 SQL
6、语句将学号为“s3”的学生记录从表 student 中逻辑删除,并将该 SOL语句存放存文件 oneprg 中。 (4)创建一个名为 Pmjeet s 的项目文件。将学牛数据库 sdb 添加到该项目中。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令:MODIFY DATABASEsdb, 打开数据库设计器。 在数据库设计器中右击 student 表,选择【修改】快捷菜单命令,打开表设计器。 在表设计器的“索引”选项卡的“索引名”列输入“学号”,将“类型”设置为“主索引”,“表达式,中输入“学号”,单击“确定”按钮保存表结构修改。参照 studem 表建立索引的操作,再分别建
7、立 course-表和 sc 表的主索引。 (2)在数据库设计器中拖动 student 表“索引”下方的主索引“学号”到 sc 表中“索引”下方的普通索引“学号”上,为 student 和 sc 表建立联系;接着拖动 course 表“索引”下方的主索引“课程号”到 sc 表中“索引”下方的普通索引“课程号”上,为 course 和 sc 表建立联系。 选中 student 和 sc表之间的关联线(被选中的连线会变粗),执行【数据库】【清理数据库】菜单命令,清空数据表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。 在打开的“参照完整性”对话框的表格中,选择“更新”下的单兀
8、格内容为“级联”;“删除”下的单元格内容为“级联”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。以同样方法再建立 course 和 sc的参照完整性。 (3)在命令窗口执行命令:MODIFY COMMAND one,新建程序文件并打开程序编辑器。 在程序编辑器中输入命令:DELETE FROM STUDENTWHERE 学号=“s3” 单击“常用”工具栏中的“运行”命令保存并运行程序。 (4)存命令窗口执行命令:cREATE PROIECTprojects,新建一个项目管理器。在项目管理器的“数据”选项卡中选中“数据库”,然后单击项目管理器右边的“添加”按钮,将考生
9、文件夹下的 sdb 数据库加入到项目中。 【考点链接】下拉式菜单的设计;菜单设计器的使用;SQL 简单查询。)解析:二、简单应用题(总题数:1,分数:2.00)2.(1)存“学籍”数据库中有 student、score 和 course 三个表,使用菜单设计器制作一个名为 menul 的菜单,菜单只有一个“查询”菜单项。该单项中有“按学号”、“按课程号”和“退出”3 个子菜单。“按学号”和“按课程号”子菜单分别使用 SOL 语句的 AVG 函数统计各学生和课程的平均成绩。统计结果中分别包括“学号”、“姓名”、“平均成绩”和“课程编号”、“平均成绩”。“退出”子菜单负责返回到系统菜单。 (2)在
10、数据库“图书”中建立视图“tsview”,显示表 loans 中的所有记录,并按“借书日期”降序排序。建立表单 forml,在表单上添加“表格”控件显示新建立的视图的记录。(分数:2.00)_正确答案:(正确答案:(1)菜单设计器的使用:SQL 分组与计算查询。 进入菜单设计器界面,首先设计的是主菜单内容,即本题中的“查询”菜单项,设计完主菜单项后,再创建每个菜单栏的弹出菜单,即本题中的“按学号”,“按课程号”和“退出”3 个子幕单,如果要通过子菜单返回到上级菜单,则需要选择“菜单设计器”右侧的“菜单级下拉框选项返回。 本题中 SQL 分组与计算查询语句设计也比较简单,使用 AVG()函数可以
11、求平均值,根据题意可知,“按学号”菜单命令中应按“学号”字段分组,而“按课程号”,菜单命令 中则按“课程号”分组进行计算,这两个查询都可以基于 score 表完成。 【操作步骤】 步骤 1:在命令窗口执行命令:cREATEMENumenul,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤 2:在菜单设计器“菜单名称”列的文本框中输入“查询”,“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第 1、2、3 行文本框中依次输入子菜单名“按学号”、“按课程号”和“退出”,将 3 个子菜单的“结果”都设置为“命令”,然后在 3 个菜单命令
12、的“选项”文本框中分别输入相应的命令。如图 44 所示。 步骤 3:三条命令语句如下: “按学号”菜单命令:SELECT 学号,AVG(成绩)FROM score GROUP BY 学号。 “按课程号”菜单命令:SELECT 课程号,AVG(成绩)FROM score GROUP BY 课程号。 “退出”菜单命令:SET SZSMENU TO DEFAuLT。 步骤 4:执行【菜单】【生成】菜单命令,在弹出的 visual FoxPro 对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件。 步骤 5:在命令窗口执行命令:Domenulmpr,运行
13、菜单查看结果(注意:执行文件时,文件扩展名不能缺省)。【考点链接】下拉式菜单设计、菜单设计器的使用、SQL 分组与计算查询。 (2)【审题分析】本题考查的是视图设计器的使用及表单数据环境的使用。由于视图只能保存在数据库中,因此要先打开用于保存视图的数据,然后再建立视图。 在表单设计器中,向表单数据环境添加数据表或视图后,可拖动表、视图或字段名到表单中,形成相应的表单控件,同时,系统会自动将控件的相关属性与数据环境中表数据相结合,用来显示表中的数据,一般情况下,拖动表或视图到表单中会形成一个表格控件。 【操作步骤】步骤 1:在命令窗口执行命令:OPEN DATABASE 图书,打开“图书”数据库
14、环境。 步骤 2:继续在命令窗口执行命令:cREATE vIEw,打开视图设计器。在“添加表或视图”对话框中双击 loans 表,将表添加到视图设计器中。 步骤 3:在“字段”选项卡中单击“全部添加”按钮,将“可用字段”中的全部字段添加到“选定字段”中;在“排序依据”选项卡中双击“选定字段”列表框中的“loans借书日期”字段,将字段添加到“排序条件”列表框中,在“排序选项”中选择“降序”单选项;单击“常用”工具栏中的“运行”按钮查看结果,将视图文件以文件名 tsvlew 保存(视图设计器的操作界面与查询设计器类似,部分操作界面可参考查淘设计器图示)。 步骤 4:在命令窗口执行命令:cREAT
15、E FORM forml,打开表单设计器。右击表单选择【数据环境】快捷菜单命令,打开表单数据环境,在“添加表或视图”对话框单击“视图”选项,然后双击 tsview 视图文件,将视图添加到表单数据环境中;将表单数据环境中的tsview,视图文件拖放到表单中,会出现一个表格控件自动显示视图中的数据。如罔 45 所示。 步骤5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 )解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开学生数据库 sdb,然后创建文件名为 tform 的表单,完成如下综合应用: 在该表单中设计两个命令按钮,各命令按钮的功能
16、如卜: “查洵”按钮(Commandl):在该按钮的“click”事件中使用 sQL 的 SELECT 命令查询选课数量大于等于 4 门且平均成绩大于等于 75 分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 two 中。表 two 中的字段名分别为:学号、姓名、平均成绩、选课门数。“退出”按钮(Command2):单击“退出”按钮时,按钮闭表单。表单设计完成后,运行该表单,点击“查询”按钮进行查询。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:命令窗口执行:cREATE FORM tform,建表单。从“表单工具栏”中依次向表单添加曲个命令按钮。 步骤 2:选择表单对象,修改对象属性值,见表 4-17。)解析: