1、国家二级 VF机试-试卷 125及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作: (1)为学生表 student的“性别”字段增加约束:性别$“男女“,出错提示信息为“性别必须是男或女”,默认值为“女”。 (2)为学生表 student创建一个主索引,主索引的索引名为 sid,索引表达式为学号。为课程表 course创建一个主索引,主索引的索引名为 cid,索引表达式为课程号。为选课表 sc创建一个主索引和两个普通索引(升序),主索引的
2、索引名为 scid,索引表达式为“学号+课程号”;一个普通索引的索引名为 sid,索引表达式为学号;另一个普通索引的索引名为 cid,索引表达式为课程号。 (3)通过“学号”字段建立选课表 sc和学生表 student表间的永久联系。通过“课程号”字段建立选课表 sc与课程表 course间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。 (4)使用报表向导建立一个简单报表。要求选择学生表 student表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”。升序;报表标题
3、为“学生基本情况一览表”;报表文件名为 onefrx。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.在考生文件夹下,打开学生数据库 sdb,完成如下简单应用: (1)使用报表向导建立一个简单报表。要求选择 student表中所有字段:记录不分组;报表样式为“随意式”:列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”(升序):报表标题为“学生基本情况一览表”;报表文件名为two。 (2)使用查询设计器设计一个查询,查询每个班级的“班级号”、“班级名”、“班长名”和“班主任名”,查询结果按“班级号”升序排序,并输出到 o
4、ne表中。运行该查询,并将设计的查询保存为oneqpr 文件。注意: 表之间的关联,一个是 student表的“学号”与 class表的“班长号”,另一个是 class表的“班主任号”与 teacher表的“教师号”。 查询结果的各列的名称分别为“班级号”、“班级名”、“班长名”和“班主任名”。“班长名”列的数据来自于 student表的“姓名”,“班主任名”列的数据来自于 teacher表的“教师名”。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有“订货管理”数据库。设计一个名为“cd1”的菜单,菜单中有两个菜单项“
5、查询”和“关闭”。程序运行时: 单击“查询”菜单项应完成下列操作:查询每一张订单的订单编号”“客户编号”“客户名称”“送货方式”和“总金额”,并按“总金额”降序排列,如果“总金额”相等,则按“订单编号”升序排列。将查询结果存入表“result”中。 单击“关闭”菜单项,程序终止运行。(分数:2.00)_国家二级 VF机试-试卷 125答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作: (1)为学生表 student的“性别”字段增加约
6、束:性别$“男女“,出错提示信息为“性别必须是男或女”,默认值为“女”。 (2)为学生表 student创建一个主索引,主索引的索引名为 sid,索引表达式为学号。为课程表 course创建一个主索引,主索引的索引名为 cid,索引表达式为课程号。为选课表 sc创建一个主索引和两个普通索引(升序),主索引的索引名为 scid,索引表达式为“学号+课程号”;一个普通索引的索引名为 sid,索引表达式为学号;另一个普通索引的索引名为 cid,索引表达式为课程号。 (3)通过“学号”字段建立选课表 sc和学生表 student表间的永久联系。通过“课程号”字段建立选课表 sc与课程表 course间
7、的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。 (4)使用报表向导建立一个简单报表。要求选择学生表 student表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”。升序;报表标题为“学生基本情况一览表”;报表文件名为 onefrx。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABASE sdb ,打开数据库设计器。 在数据库设计器中,右击 student表,选择【修改】快捷菜单命令,打开 student表设计器,在“字段
8、”选项卡中选中“性别”,在“字段有效性”的“规则”文本框中输入:性别$“男女“,在“信息”框中输入:”性别必须是男或女”,在“默认值”文本框中输入:“女“。 (2)接上题,在 student表设计器中,在“字段”选项卡中选中“学号”,在“索引”列中选择“升序”,然后在“索引”选项卡中修改“索引名”为“sid”,修改“类型”为“主索引”,单击“确定”按钮保存表结构修改。 在数据库设计器中,右击 course表,选择【修改】快捷菜单命令,打开 course表设计器,在“字段”选项卡中选中“课程号”,在“索引”列中选择“升序”,然后在“索引”选项卡中修改“索引名”为“cid”,修改“类型”为“主索引
9、”,单击“确定”按钮保存表结构修改。 在数据库设计器中,右击 sc表,选择【修改】快捷菜单命令,打开 sc表设计器,选中“索引”选项卡,在“索引名”下方的文本框中输入“scid”,在“索引”选项卡中将“类型”选择为“主索引”,在“表达式”下方的文本框中输入“学号+课程号”,建立主索引。如图 2-39所示。 接第步,在 SC表设计器的“索引”选项卡中,在第二行的“索引名”文本框中输入“sid”,将“类型”选择为“普通索引”,在“表达式”下方的文本框中输入“学号”,建立一个普通索引;然后在第三行的“索引名”文本框中输入“cid”,将“类型”选择为“普通索引”,在“表达式”下方的文本框中输入“课程号
10、”,建立一个普通索引,单击“确定”按钮保存表结构修改。如图 2-39所示。 (3)在数据库设计器中,拖动 student表“索引”下方的主索引“sid”到 sc表中“索引”下方的普通索引“sid”上,为两个表建立联系。 拖动 course表“索引”下方的主索引“scid”到 sc表中“索引”下方的普通索引“cid”上。为两个表建立联系。 选中 student和 sc两个表之间的关联线(被选中的线会变粗),首先执行【数据库】【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。在打开的“参照完整性”对话框的表格中,将其中的两对关系均做如下操作:选
11、择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“限制”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。如图 2-40所示。 )解析:解析:本大题考查字段有效性规则的建立;表索引的建立;数据库表间永久联系的建立和参照完整性约束的设置;报表向导的使用。 对表中字段建立有效性规则和设置默认值是在表设计器中操作的,在探作时要注意先选中需要建立有效性规则的字段。为数据库表建立索引也可以在表设计器中进行,在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的“升序”或“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,如果要改变索引名或索引类型,则需
12、要在“索引”选项卡中进行修改。 参照完整性是针对两个表进行设置的,在建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引(或候选索引),另一个表要建立普通索引,建立两个表联系后要先清理数据库,然后再设置参照完整性。 利用报表向导制作报表属于比较简单的操作,可以通过“新建”对话框打开报表后,根据向导提示一步步完成即可。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.在考生文件夹下,打开学生数据库 sdb,完成如下简单应用: (1)使用报表向导建立一个简单报表。要求选择 student表中所有字段:记录不分组;报表样式为“随意式”:
13、列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”(升序):报表标题为“学生基本情况一览表”;报表文件名为two。 (2)使用查询设计器设计一个查询,查询每个班级的“班级号”、“班级名”、“班长名”和“班主任名”,查询结果按“班级号”升序排序,并输出到 one表中。运行该查询,并将设计的查询保存为oneqpr 文件。注意: 表之间的关联,一个是 student表的“学号”与 class表的“班长号”,另一个是 class表的“班主任号”与 teacher表的“教师号”。 查询结果的各列的名称分别为“班级号”、“班级名”、“班长名”和“班主任名”。“班长名”列的数据来自于 stu
14、dent表的“姓名”,“班主任名”列的数据来自于 teacher表的“教师名”。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: OPEN DATABASE sdb ,打开 sdb数据库环境。步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。 步骤 3:在报表向导的“步骤 1-字段选取”界面的“数据库和表”下选中“STUDENT”表,将“可用字段”中的字段添加到“选定字段”中,单击“下一步”按
15、钮。步骤 4:跳过“步骤 2-分组记录”界面继续单击“下一步”按钮。 步骤 5:在报表向导的“步骤 3-选择报表样式”界面中选中“样式”列表中的“随意式”,单击“下一步”按钮。 步骤 6:在报表向导的“步骤 4-定义报表布局”界面中设置“列数”为“1”,“字段布局”为“列”,选择“方向”为“纵向”,单击“下一步”按钮。 步骤 7:在报表向导的“步骤 5-排序记录”界面中双击 “可用的字段或索引标识”中的“学号”字段到“选定字段” 列表中,单击“下一步”按钮。 步骤 8:在报表向导的“步骤 6-完成”界面的“报表标题”文本框中输入“学生基本情况一览表”,单击“完成”按钮,在“另存为”对话框的“保
16、存报表为:”框中输入报表文件名 two,单击“保存”按钮。 (2)步骤 1:在命令窗口执行命令: OPEN DATABASE sdb ,打开数据库环境。 步骤 2:在命令窗口执行命令: CREATE QUERY one ,打开查询设计器,在“添加表或视图”对话框中,分别双击 “teacher”表、“class”表和“student”表(注意一定要按顺序添加表),将表添加到查询设计器中,此时,添加的表会按照数据库中已存在的表间联系自动为 3个表在查询设计器中建立联系。 步骤 3:根据题目要求,此时要修改“student”表和“class”表之间的默认联系。双击“student”表和“class”
17、,表之间的连线,系统弹出“联接条件”对话框,在显示“class班级号”的下拉框中选择“class班长号”,在显示“student班级号”的下拉框中选择“student学号”,单击“确定”按钮保存修改。 步骤 4:依次双击“class”表中的“班级号”和“班级名”字段,添加到“字段”选项卡的“选定字段”列表中;然后在“字段”选项卡的“函数和表达式”下的文本框中输入表达式:student姓名 as 班长名,再单击“添加”按钮,将其添加到“选定字段”列表中:以同样的方法再向“选定字段”列表中添加一个表达式:teacher教师名 as 班主任名。 步骤 5:执行【查询】【查询去向】菜单命令,在弹出的“
18、查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名 one,单击“确定”按钮。 步骤 6:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。)解析:解析:(1)本题考查的是报表向导的使用,操作前可以将数据库环境打开,这样在报表向导的“步骤 1-字段选取”界面中可直接看到作为报表数据源的表,之后按照向导提示完成题目所要求的设置即可。(2)本题主要考查的查询设计器的使用,首先要判断查询数据源包括哪些数据表,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。本题操作的关键有 3点: 首先是 3个表的添加顺序,要按照“tea
19、cher”表、“class”表和“student”表的顺序进行添加,否则会导致两个表之间无法建立联系,或是导致查询出错。 其次,由于数据库中已存在表之间的联系,在添加数据库表到查询设计器中的时候,会将表之间的联系也一起进行到查询设计器中,而本题中根据题目的要求需要改变这种联系,因此,注意修改表间默认的联系。 最后是字段的重命名,根据题目要求最终输出的字段包括“班长名”和“班主任名”,因此需要利用 AS短语对原本输出的“student姓名”和“teacher教师名”重新命名。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有“订货管理”数
20、据库。设计一个名为“cd1”的菜单,菜单中有两个菜单项“查询”和“关闭”。程序运行时: 单击“查询”菜单项应完成下列操作:查询每一张订单的订单编号”“客户编号”“客户名称”“送货方式”和“总金额”,并按“总金额”降序排列,如果“总金额”相等,则按“订单编号”升序排列。将查询结果存入表“result”中。 单击“关闭”菜单项,程序终止运行。(分数:2.00)_正确答案:(正确答案:选择【文件】【新建】命令,选择“菜单”,单击“新建文件”按钮,再单击“菜单”按钮,打开菜单设计器,在“菜单名称”中输入“查询”,在“结果”下拉列表框中选择“过程”,单击“创建”按钮创建“查询”过程,在过程代码编辑窗口中
21、输入以下代码: SELECT order_m订单编号,order_m客户编号,客户名称,送货方式,SUM(数量*价格)AS 总金额 INTO TABLE result FROM order_m,order_d,客户,商品信息; WHERE order_m订单编号=order_d订单编号AND。order_m客户编号=客户客户编号 AND order_d商品编号=商品信息商品编号; GROUP BY order_m订单编号,order_m客户编号,客户名称,送货方式 ORDER BY总金额,order_m订单编号关闭过程代码编辑窗口回到菜单设计器。 单击下一行,输入子菜单名称“关闭”,在“结果”下拉列表框中选择“命令”,在右边的文本框中编写命令:SET SYSMENU TO DEFAULT。 选择【菜单】【生成】命令,将菜单保存为“cd1”,生成一个菜单文件“cd1mpr”,关闭菜单设计窗口。 在命令窗口输入命令:DO cd1mpr,看到 Visual FoxPro的菜单栏被新建的菜单所代替,单击“查询”菜单执行查询,查询结果自动保存到表“result”中,单击“关闭”菜单命令将恢复系统菜单。)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1