1、国家二级 VF机试(操作题)模拟试卷 452及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作:(1)在学生表 student中增加一个名为“照片”的字段,字段数据类型为“通用”。(2)在教师表 teacher中建立一个索引名为“教师号”的主索引(升序),索引表达式为教师号。在课程表 course中建立一个普通索引(升序),索引名为“教师号”,索引表达式为教师号。(3)建立选课表 SC和学生表 student之间的永久联系;建立选课表 sc与课程表 course之间的永久联系;建
2、立教师表 teacher和课程表 course之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(4)使用表单向导建立一个名称为 sform的表单。要求选择学生表 student中所有字段;表单样式为阴影式;按钮类型为图片按钮;选定排序字段为学号(升序);表单标题为“学生表数据输入”。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开学生数据库 sdb,完成如下简单应用:(1)使用查询设计器设计一个名称为 svg的查询,查询每个“女”同学的学号(来自 student表)、姓名、课程名、成绩和任
3、课教师(来自teacher表的教师名),查询结果按学号升序排序并输出到表 one(查询去向)中。设计完成后,运行该查询。表 one中的字段分别为:学号、姓名、课程名、成绩、任课教师。(2)在考生文件夹下,使用快捷菜单设计器设计一个名称为 smenu的快捷菜单。要求如下:菜单包括“数据浏览”和“退出”两个菜单项:“数据浏览”菜单包括“学生表”、“选课表”和“课程表”三个子菜单:学生表子菜单在过程中使用SQL语句“SELECT*FROM student”查询学生表的记录。选课表子菜单在过程中使用 SQL语句“SELECT*FROM SC”查询学生选课表的记录。课程表选项在过程中使用 SQL语句“S
4、ELECT*FROM course”查询课程表的记录。“退出”菜单使用命令返回系统默认的菜单。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开学生数据库 sdb,然后创建文件名为 tform的表单,完成如下综合应用:在该表单中设计两个命令按钮,各命令按钮的功能如下:“查询”按钮(Commandl):在该按钮的“Click”事件中使用 SQL的 SELECT命令查询选课数量大于等于 4门且平均成绩大于等于 75分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 two中。表 two中的字段名分别为:学号、姓名、平均成绩、选
5、课门数。“退出”按钮( Command2):单击“退出”按钮时,关闭表单。表单设计完成后,运行该表单,点击“查询”按钮进行查询。(分数:2.00)_国家二级 VF机试(操作题)模拟试卷 452答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作:(1)在学生表 student中增加一个名为“照片”的字段,字段数据类型为“通用”。(2)在教师表 teacher中建立一个索引名为“教师号”的主索引(升序),索引表达式为教师号。在课程表 course中建立一个普通索引(升序),索引名为“教
6、师号”,索引表达式为教师号。(3)建立选课表 SC和学生表 student之间的永久联系;建立选课表 sc与课程表 course之间的永久联系;建立教师表 teacher和课程表 course之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。(4)使用表单向导建立一个名称为 sform的表单。要求选择学生表 student中所有字段;表单样式为阴影式;按钮类型为图片按钮;选定排序字段为学号(升序);表单标题为“学生表数据输入”。(分数:2.00)_正确答案:(正确答案:(1)命令窗口执行: MODIFY DATABASE sdb,
7、 打开数据库设计器。 数据库设计器中,右击 student表,选择【修改】,打开表设计器,“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“照片”,“类型”下拉框中选择“通用型”,单击“确定”按钮保存表结构修改。(2)使用上题中为 student表建立索引类似的方法为 teacher表建立索引。 数据库设计器中,右击course表,选择【修改】,打开表设计器,“字段”选项卡中选中“教师号”,在“索引”列中选择“升序”,单击“确定”按钮保存表结构修改。 (3)在数据库设计器中,拖动 student表“索引”下方的主索引“学号”到 sc表中“索引”下方的普通索引“学号”上,为两个表建立
8、联系。 拖动 course表“索引”下方的主索引“课程号”到 sc表中“索引”下方的普通索引“课程号”上,为两个表建立联系。 拖动 teacher表“索引”下方的主索引“教师号”到 course表中“索引”下方的普通索引“教师号”上,为两个表建立联系。 选中 student和 sc两个表之间的关联线(被选中的线会变粗),首先执行【数据库】【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。在“参照完整性”对话框的表格中,将其中的三对关系均做如下操作:选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“限制”;“插入”下的单元格内容
9、为“限制”。单击“确定”按钮保存参照完整性的修改。 (4)命令窗口执行:OPEN DATABASE sdb,打开 sdb数据库。 执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”对话框中选“表单”选项,单击“向导”图标按钮,弹出“向导选取”对话框,选中“表单向导”项,单击“确定”按钮,启动表单向导。 ”步骤 1字段选取”的“数据库和表”下选“student”表,将“可用字段”全部添加到“选定字段”,单击“下一步”。 “步骤 2选择表单样式”界面的“样式”下选中“阴影式”,在“按钮类型”下选择“图片按钮”,单击“下一步”。 “步骤 3排序次序”中双击“可用的字段或索引
10、标识”中的“学号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”。 “步骤 4完成”界面中的“请键入表单标题”下方文本框中输入“学生表数据输入”,单击“完成”按钮。 在“另存为”对话框的“保存表单为:”框中输入表单文件名 sform,单击“保存”按钮。 使用数据库;索引;参照完整性;创建和运行表单。)解析:解析:本题考查了表结构的修改:索引的建立及参照完整性的设置:表单向导的使用。 在表设计器的“字段”选项卡中选择“排序”中的“升序”或“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,“索引”选项卡中可对索引名或索引类型进行修改。 在建立参照完整性前要先建立两个表的关联,
11、且有一个表中必须建立关联字段的主索引(或候选索引),另一个表要建立普通索引,建立两个表联系后要先清理数据库,然后再设置参照完整性。二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开学生数据库 sdb,完成如下简单应用:(1)使用查询设计器设计一个名称为 svg的查询,查询每个“女”同学的学号(来自 student表)、姓名、课程名、成绩和任课教师(来自teacher表的教师名),查询结果按学号升序排序并输出到表 one(查询去向)中。设计完成后,运行该查询。表 one中的字段分别为:学号、姓名、课程名、成绩、任课教师。(2)在考生文件夹下,使用快捷菜单设计器设计一个名称为 s
12、menu的快捷菜单。要求如下:菜单包括“数据浏览”和“退出”两个菜单项:“数据浏览”菜单包括“学生表”、“选课表”和“课程表”三个子菜单:学生表子菜单在过程中使用SQL语句“SELECT*FROM student”查询学生表的记录。选课表子菜单在过程中使用 SQL语句“SELECT*FROM SC”查询学生选课表的记录。课程表选项在过程中使用 SQL语句“SELECT*FROM course”查询课程表的记录。“退出”菜单使用命令返回系统默认的菜单。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:命令窗口执行: OPEN DATABASE sdb, 打开数据库环境。 步骤 2:命令窗
13、口执行: CREATE QUERY svg, 打开查询设计器,在“添加表或视图”对话框中,分别双击student表、sc 表、course 表和 teacher表添加到查询设计器中,在查询设计器中自动建立 4个表之间联系。 步骤 3:在“字段”选项卡的“可用字段”中,依次双击“student学号”、“student性名”、“course课程名”、“sc成绩”,添加到“选定字段”列表中;在“函数和表达式”下的文本框中输入表达式:teacher教师名 as任课教师,再单击“添加”按钮,将其添加到“选定字段”列表中。 步骤 4:在“筛选”选项卡内的“字段名”列中选择“student性别”,“条件”列
14、选择“=”,“实例”列输入“女”。 步骤 5:在“排序依据”选项卡内双击“选定字段”列表框中的“student学号”,将其添加到“排序条件”列表框中,在“排序选项”中选择“升序”。 步骤 6:执行【查询】【查询去向】菜单命令,在“查询去向”对话框中单击“表”按钮,在“表名”中输入文件名 one,单击“确定”按钮。 步骤 7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。查询的建立与使用。 (2)步骤 1:命令窗口执行: CREATE MENU smenu, 弹出的“新建菜单”中单击“快捷菜单”按钮,打开菜单设计器。 步骤 2:在“菜单名称”列的文本框中依次输入“
15、数据浏览”和“退出”两个主菜单名,“数据浏览”菜单命令的“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第 1、2、3 行文本框中依次输入子菜单名“学生表”、“选课表”和“课程表”,将 3个子菜单的“结果”都设置为“过程”,分别单击 3个过程后面的“创建”按钮打开过程编辑器,编写过程代码。 步骤 3:三个过程代码如下: “学生表”菜单命令: SELECT*FROM student。 “课程表”菜单命令: SELECT*FROM course。 “选课表”菜单命令: SELECT*FROM sc。 步骤 4:通过“菜单级”下拉框返回主菜单项设计界面,设置“退
16、出”菜单项的“结果”列为“命令”,并输入命令语句: SET SYSMENU TO DEFAULT。 步骤 5:执行【菜单】【生成】菜单命令,在弹出的Visual FoxPro对话框中单击“是”按钮,系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件(smenumpr)。 快捷菜单设计。)解析:解析:(1)本题主要考查的是查询设计器的使用。应按照 student表、sc 表、course 表和 teacher表的顺序将其添加到查询设计器,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。 可在查询设计器“字段”选项卡的“函数和表达式”下的文本框中输入表达式,同时也可以
17、通过打开“表达式生成器”对话框进行输入,可以通过 AS短语指定为输入的表达式指定一个新的字段名。 (2)本题主要考查了快捷菜单的设计,快捷菜单仅包括一个弹出式菜单,其他设计基本上都与下拉菜单的设计一致。编写“退出”菜单命令时,要熟记返回系统菜单的命令语句:SET SYSMENU TO DEFAULT;最后注意生成可执行菜单文件。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开学生数据库 sdb,然后创建文件名为 tform的表单,完成如下综合应用:在该表单中设计两个命令按钮,各命令按钮的功能如下:“查询”按钮(Commandl):在该按钮的“Click”事件中使用 SQL
18、的 SELECT命令查询选课数量大于等于 4门且平均成绩大于等于 75分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 two中。表 two中的字段名分别为:学号、姓名、平均成绩、选课门数。“退出”按钮( Command2):单击“退出”按钮时,关闭表单。表单设计完成后,运行该表单,点击“查询”按钮进行查询。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE FORM tform, 建表单。从“表单工具栏”中依次向表单添加两个命令按钮。 步骤 2:选择表单对象,修改对象属性值,见表 434。 )解析:解析:本题主要考查的是表单的建立、常用属性的设置:SQL 简单查询及 SQL简单计算查询。 “统计”按钮中需要设计一个 SQL查询,用于计数的函数为 COUNT(),用于求平均值的函数为 AVG()。