1、国家二级 VF 机试-试卷 46 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作: (1)在学生表 student 中增加一个名为“照片”的字段,字段数据类型为“通用”。 (2)在教师表 teacher 中建立一个索引名为“教师号”的主索引(升序),索引表达式为教师号。在课程表 course 中建立一个普通索引(升序),索引名为“教师号”,索引表达式为教师号。 (3)建立选课表 sc 和学生表 student 之间的永久联系;建立选课表
2、sc 与课程表 course 之间的永久联系:建立教师表 teacher 和课程表 course 之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。 (4)使用表单向导建立一个名称为 sform 的表单。要求选择学生表 student 中所有字段:表单样式为阴影式;按钮类型为图片按钮;选定排序字段为学号(升序):表单标题为“学生表数据输入”。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)使用表单向导选择“商品”表生成一个文件名为 good_form 的表单。要求选择
3、“商品”表中所有字段,表单样式为“阴影式”;按钮类型为“图片按钮”;排序字段选择“进货日期”(升序);表单标题为“商品数据”。 (2)用 SQL UPDATE 命令为所有商品编码首字符是“3”的商品计算销售价格:销售价格为在进货价格基础上加 2268,并把所用命令存入文本文件 cmdabtxt 中。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.编写程序并执行,计算“01”组(歌手编号的前 2 位)歌手的得分并将结果存入自由表 fina1dbf 中。fina1dbf 包含“歌手姓名”和“得分”两个字段,“得分”取各评委所打分数的平均值。
4、fina1dbf中的结果按“得分”降序、“歌手姓名”降序排列。请将程序存储在 twoprg 中,否则不得分。 新建一个文件名和表单名均为 score form 的表单,向表单添加一个命令按钮 Command1,标题为“计算”,为该命令按钮的 Click 事件增加命令,调用 twoprg 程序执行。最后运行该表单,并单击“计算”按钮执行 two 程序。 新建一个项目文件 score_project,将自由表“歌手表”、“评委表”和“评分表”以及表单文件 score form 加入该项目,然后将项目文件连编成应用程序文件 score app。(分数:2.00)_国家二级 VF 机试-试卷 46 答
5、案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下,有一个学生数据库 sdb,打开该数据库,完成如下操作: (1)在学生表 student 中增加一个名为“照片”的字段,字段数据类型为“通用”。 (2)在教师表 teacher 中建立一个索引名为“教师号”的主索引(升序),索引表达式为教师号。在课程表 course 中建立一个普通索引(升序),索引名为“教师号”,索引表达式为教师号。 (3)建立选课表 sc 和学生表 student 之间的永久联系;建立选课表sc 与课程表 course 之
6、间的永久联系:建立教师表 teacher 和课程表 course 之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。 (4)使用表单向导建立一个名称为 sform 的表单。要求选择学生表 student 中所有字段:表单样式为阴影式;按钮类型为图片按钮;选定排序字段为学号(升序):表单标题为“学生表数据输入”。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MO DIFY DATABASE sdb ,打开数据库设计器。 在数据库设计器中,右击 student 表,选择【修改】快捷菜单命令,打开 student
7、 表设计器,在“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“照片”。在“类型”下拉框中选择“通用型”,单击“确定”按钮保存表结构修改。 (2)在数据库设计器中,右击 teacher 表,选择【修改】快捷菜单命令。打开 teacher 表设计器,在“字段”选项卡中选中“教师号”,在“索引”列中选择“升序”,然后在一索引”选项卡中修改“类型”为“主索引”,单击“确定”按钮保存表结构修改。 在数据库设计器中,右击 course 表,选择【修改】快捷菜单命令,打开 course 表设计器,在“字段”选项卡中选中“教师号”,在“索引”列中选择“升序”,单击“确定”按钮保存表结构修改。 (
8、3)在数据库设计器中,拖动 student 表“索引”下方的主索引“学号”到 sc 表中“索引”下方的普通索引“学号”上,为两个表建立联系。如图 2-62 所示。 )解析:解析:本大题考查了表结构的修改;索引的建立及参照完整性的设置;表单向导的使用,为数据库表建立索引可以在表设计器中进行,在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的“升序”或“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,如果要改变索引名或索引类型,则需要在“索引”选项卡中进行修改。 参照完整性是针对两个表进行设置的,在建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引(或
9、候选索引),另一个表要建立普通索引,建立两个表联系后要先清理数据库,然后再设置参照完整性,利用表单向导制作表单属于比较简单的操作,根据向导提示一步步完成即可。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)使用表单向导选择“商品”表生成一个文件名为 good_form 的表单。要求选择“商品”表中所有字段,表单样式为“阴影式”;按钮类型为“图片按钮”;排序字段选择“进货日期”(升序);表单标题为“商品数据”。 (2)用 SQL UPDATE 命令为所有商品编码首字符是“3”的商品计算销售价格:销售价格为在进货价格基础上加 2268,并把所用命令
10、存入文本文件 cmdabtxt 中。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: OPEN DATABASE 商品管理 ,打开“商品管理”数据库。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“表单”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“表单向导”项,单击“确定”按钮,启动表单向导。 步骤 3:在表单向导的“步骤 1-字段选取”界面的“数据库和表”下选中“商品”表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。 步骤 4:在表单向导的“步骤 2-选择表
11、单样式”界面的“样式”下选中“阴影式”,在“按钮类型”下选择“图片按钮”,单击“下一步”按钮。 步骤 5:在表单向导的“步骤 3-排序次序”界面中双击“可用的字段或索引标识”中的“进货日期”字段到“选定字段”列表中,再选择“升序”,单击“下一步”按钮。 步骤 6:在表单向导的“步骤 6-完成”界面中的“请键入表单标题”下方文本框中输入“商品数据”,单击“完成”按钮。 步骤 7:在“另存为”对话框的“保存表单为:”框中输入表单文件名 god_form,单击“保存”按钮。 (2)步骤 1:在命令窗口执行命令: MODIFY FILE cmd_ab ,打开文本文件编辑器。 步骤 2:在编辑器中输入如
12、下程序代码(以下程序是通过查询设计器生成): UPDATE 商品 SET 销售价格=进货价格*12268; WHERE SUBSTR(商品编码,1,1)=“13“ &SUBSTR()从“商品号”的第 1 个字符开始截取其 1 个长度的字符是否为 2 步骤 3:在命令窗口执行命令: DO cmd_abtxt ,执行文件。)解析:解析:(1)本题主要考查的是表单向导的使用。根据向导提示完成操作即可。 (2)数据更新语句属于 SQL 的数据操作功能,本题的关键是在设置更新条件的时候熟悉字符串截取函数 SUBSTR()的功能。SUBSTR()函数的功能是从指定表达式值的指定起始位置取指定长度的子串作为
13、函数值。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.编写程序并执行,计算“01”组(歌手编号的前 2 位)歌手的得分并将结果存入自由表 fina1dbf 中。fina1dbf 包含“歌手姓名”和“得分”两个字段,“得分”取各评委所打分数的平均值。fina1dbf中的结果按“得分”降序、“歌手姓名”降序排列。请将程序存储在 twoprg 中,否则不得分。 新建一个文件名和表单名均为 score form 的表单,向表单添加一个命令按钮 Command1,标题为“计算”,为该命令按钮的 Click 事件增加命令,调用 twoprg 程序执行。最后运行
14、该表单,并单击“计算”按钮执行 two 程序。 新建一个项目文件 score_project,将自由表“歌手表”、“评委表”和“评分表”以及表单文件 score form 加入该项目,然后将项目文件连编成应用程序文件 score app。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: MODIFY COMMAND two ,打开程序文件编辑器。 步骤 2:在编辑器中输入如下程序代码并保存(以下 SQL 查询语句是通过查询设计器生成): SELECT 歌手姓名,AVG(分数) AS 得分 FROM 歌手表,评分表; WHERE 歌手表歌手编号=评分表歌手编号 AND L
15、EFT(歌手表歌手编号,2)=”01”, GROUP BY 歌手表歌手编号,ORDER BY 得分 DESC,歌手姓名DESCINTO TABLE final 步骤 3:在命令窗口执行命令: CREATE FORM score_form ,打开表单设计器新建立表单。 步骤 4:从“表单控件”工具栏中向表单添加一个命令按钮。在“属性”面板中修改表单(Form1)的 Name 属值为:score_form,修改命令按钮(Command1)的 Caption 属性值为:计算。 步骤 5:双击命令按钮(Conunand1)编写 Click 事件代码; DO two 。单击“常用”工具栏中的“运行”按钮
16、查看结果,将表单文件保存到考生文件夹下。 步骤 6:在命令窗口执行命令: CREATE PROJECT score_project ,新建一个项目管理器。在项目管理器的“数据”选项卡中选中“自由表”,然后单击项目管理器右边的“添加”按钮,将考生文件夹下的“歌手表”、“评委表”和“评分表”依次加入到项目中;以同样的方法,在“文档”选项卡中。将 score_form 表单添加到项目中。 步骤 7:单击项目管理器右侧的“连编”命令打开“连编选项”对话框,在对话框中选中“连编应用程序”,单击“确定”按钮,在弹出的“另存为”对话框的“应用程序名”中输入:score_app,单击“保存”按钮保存连编项目文
17、件。)解析:解析:本大题主要考查了程序文件的建立与运行:SQL 分组计算查询;连编应用程序等。 本题关键是 SQL 分组计算查询的设计,设置过程可参照以下步骤进行缡写: 在 SELECT 短语中指定要输出的字段,包括通过 AVG()函数计算生成的新字段。 通过 FROM.JOIN.ON.等短语指定查询数据 源,并建立表间联系,查询源表为“歌手”表和“评分”表,两个表的联接字段为“歌手编号”。 利用 GROUP BY 短语对表记录分组,分组字段为“歌手编号”。 利用 ORDER BY 短语设置两个字段的排序方式。ASC 短语表示升序排序,为系统默认的排序方式,可省略谊短语; DESC 短语袁示降序排序,不可缺省。 最后将查询结果通过 INTO TABLE 命令输出到指定的数据表中。 另外,调用程序文件的命令是 DO文件名;连编应用程序可通过单击项目管理器右侧的“连编”命令打开“连编选项”对话框完成。