1、国家二级 VF机试(操作题)-试卷 125及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,打开一个公司销售数据库 selldb,完成如下操作: (1)为各部门分年度季度销售金额和利润表 s_t创建一个主索引和普通索引(升序),主索引的索引名为 no,索引表达式为“部门号年度”;普通索引的索引名和索引表达式均为“部门号”。 (2)在 s_t表中增加一个名为“备注”的字段、字段数据类型为“字符”、宽度为 30。 (3)使用 SQL的 ALTER TABLE语句将 s_t表的“年度”字段的默认值修改为“2004”,并将该 SQL语句存
2、储到命令文件 oneprg 中。 (4)通过“部门号”字段建立 s_t表和 dept表间的永久联系,并为该联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“忽略”。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开公司销售数据库 selldb,完成如下简单应用: (1)使用一对多表单向导生成一个名为 sd_edit的表单。要求从父表 dept中选择所有字段,从子表 s_t表中选择所有字段,使用“部门号”建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为“部门号”(升序);表单标题为“数据输入维护”。 (2)在考生文件
3、夹下打开命令文件 twoprg,该命令文件用来查询各部门的分年度的“部门号”、“部门名”、“年度”、“全年销售额”、“全年利润”和“利润率”(全年利润全年销售额),查询结果先按“年度”升序、再按“利润率”降序排序,并存储到 s_sum表中。 注意,程序在第 5行、第 6行、第 8行和第 9行有错误,请直接在错误处修改。 修改时,不可改变 SQL语句的结构和短语的顺序,不允许增加或合并行。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开公司销售数据库 SELLDB,完成如下综合应用: 设计一个表单控件名为form_one、表单文件名为 sd_select、
4、表单标题名为“部门年度数据查询”的表单,其表单界面如图 24所示。其他要求如下: 为表单建立数据环境,向数据环境添加 s_t表(Cursorl)。 当在“年度”标签右边的微调控件中(Spinnerl)选择年度并单击“查询”按钮(Commandl)时,则会在下边的表格(Grid1)控件内显示该年度各部门四个季度的销售额和利润。指定微调控件上箭头按钮(SpinnerHighValue 属性)与下箭头按钮(SpinnerLowValue 属性)值范围为 20101999,缺省值(Value 属性)为 2003,增量(Increment属性)为 1。 单击“退出”按钮(Command2)时,关闭表单。
5、 要求:表格控件的 RecordSourceType属性设置为“4 一 SQL说明”。例如,查询 2003年的记录。 (分数:2.00)_国家二级 VF机试(操作题)-试卷 125答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,打开一个公司销售数据库 selldb,完成如下操作: (1)为各部门分年度季度销售金额和利润表 s_t创建一个主索引和普通索引(升序),主索引的索引名为 no,索引表达式为“部门号年度”;普通索引的索引名和索引表达式均为“部门号”。 (2)在 s_t表中增加一个名为“备注”的字段、字段数据类型为“字符”、宽
6、度为 30。 (3)使用 SQL的 ALTER TABLE语句将 s_t表的“年度”字段的默认值修改为“2004”,并将该 SQL语句存储到命令文件 oneprg 中。 (4)通过“部门号”字段建立 s_t表和 dept表间的永久联系,并为该联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“忽略”。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)在命令窗口执行命令:MODIFY DATABASE selldb,打开selldb数据库设计器。 右击数据库设计器中的 s_t表,选择【修改】快捷菜单命令,打开 s_t表设计器,选中“索引”选项卡,在“索引名”下
7、方的文本框中输入“no”,在“索引”选项卡中将“类型”选择为“主索引”,在表达式下方的文本框中输入“部门号年度”,建立主索引。 接着在“字段”选项卡中选中“部门号”,然后在“索引”列中选择“升序”,建立“部门号”字段的普通索引,单击“确定”按钮保存表结构修改。 (2)继续打开 s_t表设计器,在表设计器“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“备注”,在“类型”下拉框中选择“字符型”,在“宽度”文奉框中输入“30”,保存表结构修改。 (3)在命令窗口执行命令:MODIFY COMMAND one,打开程序文件编辑器。 在编辑器中输入 SOL查询代码:ALTER TABLE
8、s_t ALTER 年度 C(4) DEFAULT“2004“。 在命令窗口执行命令:DO oneprq,执行程序文件。 (4)在数据库设计器中拖动 DEPT表“索引”下方的主索引“部门号”到 s_t表中“索引”下方的普通索引“部门号”上,为两个表建立联系。 选中两个表之间的关联线(被选中的连线会变粗),首先执行【数据库】【清理数据库】菜单命令,清空数据表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。 在打开的“参照完整性”对话框的表格中,选择“更新”下的单元格内容为“级联”;“删除”下的单元格内容为“限制”;“插入”下的单元格内容为“忽略”。单击“确定”按钮保存参照完整
9、性的修改。)解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开公司销售数据库 selldb,完成如下简单应用: (1)使用一对多表单向导生成一个名为 sd_edit的表单。要求从父表 dept中选择所有字段,从子表 s_t表中选择所有字段,使用“部门号”建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为“部门号”(升序);表单标题为“数据输入维护”。 (2)在考生文件夹下打开命令文件 twoprg,该命令文件用来查询各部门的分年度的“部门号”、“部门名”、“年度”、“全年销售额”、“全年利润”和“利润率”(全年利润全年销售额),查询结果先按“年度”升序、再
10、按“利润率”降序排序,并存储到 s_sum表中。 注意,程序在第 5行、第 6行、第 8行和第 9行有错误,请直接在错误处修改。 修改时,不可改变 SQL语句的结构和短语的顺序,不允许增加或合并行。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:在命令窗口执行命令:OPEN DATABASE selldb,打开数据库环境。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“表单”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“一对多表单向导”项,单击“确定”按钮,启动表单向导。 步骤 3:在表单向
11、导的“步骤 1-从父表中选定字段”界面的“数据库和表”下选中“dept”表,将“可用字段” 中的字段全部添加到“选定字段”中,单击“下一步”按钮。 步骤 4:在表单向导的“步骤 2-从子表中选定字段”界面的“数据库和表”下选中“s_t”表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。 步骤 5:在表单向导的“步骤 3-建立表之间的关系”界面系统自动建立两个表的联系,单击“下一步”按钮。 步骤 6:在表单向导的“步骤 4-选择表单样式”界面中选中“样式”列表中的“阴影式”,再在“按钮类型”选项中选择“图片按钮”,单击“下一步”按钮。 步骤 7:在表单向导的“步骤 5-排序
12、次序”界面中双击“可用的字段或索引标识”中的“部门号”字段到“选定字段”列表中,单击“下一步”按钮。 步骤 8:在表单向导的“步骤 6-完成”界面中的“请键入表单标题”下方文本框中输入“数据输入维护”,单击“完成”按钮。 步骤 9:在“另存为”对话框的“保存表单为:”框中输入表单文件名sd_edit,单击“保存”按钮。 (2)【操作步骤】 步骤 1:在命令窗口执行命令:MOIIFY COMMAND twoprq,打开 two程序文件,文件中的命令代码如下: *下面的程序在第 5行、第 6行、第 8行和第 9行有错误,请直接在错误处修改。 *修改时,不可改变 SQL语句的结构和短语的川页序,不允
13、许增加或合并行。 1 OPEN DATABASE SELLDB 2 SELECT S_T部门号,部门名,年度,; 3 一季度销售额二季度销售额三季度销 售额四季度销售额 AS全年销售额,; 4 一季度利润二季度利润三季度利润 四季度利润 AS全年利润,; 5 一季度利润二季度利润三季度利润四季度利润一季度销售额二季度销售额三季度销售额四季度销售额 AS 利润率; 6 FROM S_T DEPT; 7 WHERE S_T部门号DEPT部门号; 8 GROUP BY 年度 利润率 DESC; 9 INTO S_SUM 修改程序中的错误行,修改后的程序如下: 1 OPEN DATABASE SELL
14、DB 2 SELECT S_T部门号,部门名,年度,; 3 一季度销售额二季度销售额三季度销售额四季度销售额 AS全年销售额,; 4 一季度利润二季度利润三季度利润四季度利润 AS全年利润,; 5 (一季度利润二季度利润三季度利润四季度利润)(一季度销售额二季度销售额三季度销售额四季度销售额)AS 利润率;根据运算符的优先次序,此处表示式应先加后除,原程序中缺少括号 6 FROM S_T,DEPT; 两个表之间应用逗号分开,而不是空格 7 WHERE S_T部门号DEPT部门号; 8 ORDER BY 年度,利润率 DESC;字段排序的短语是 ORDER BY,而非GROUPY,且两字段间要用
15、逗号隔开 9 INTO TABLE S_SUM 查询结果输出到表酌短语是 INTO TABLE,而非 INTO短语 步骤 2:保存文件修改,在命令窗口执行命令:DO twoprg,执行程序文件。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开公司销售数据库 SELLDB,完成如下综合应用: 设计一个表单控件名为form_one、表单文件名为 sd_select、表单标题名为“部门年度数据查询”的表单,其表单界面如图 24所示。其他要求如下: 为表单建立数据环境,向数据环境添加 s_t表(Cursorl)。 当在“年度”标签右边的微调控件中(Spinnerl)选择年度
16、并单击“查询”按钮(Commandl)时,则会在下边的表格(Grid1)控件内显示该年度各部门四个季度的销售额和利润。指定微调控件上箭头按钮(SpinnerHighValue 属性)与下箭头按钮(SpinnerLowValue 属性)值范围为 20101999,缺省值(Value 属性)为 2003,增量(Increment属性)为 1。 单击“退出”按钮(Command2)时,关闭表单。 要求:表格控件的 RecordSourceType属性设置为“4 一 SQL说明”。例如,查询 2003年的记录。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:在命令窗口执行命令:CREATE FORM sdselect,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个标签、一个微调器、两个命令按钮和一个表格控件。 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象屙性值,见表 36。 )解析: