1、上机操作题模拟试卷 48及答案与解析 一、基本操作题 1 (1)打开 “订货管理 ”数据库,并将表 order lisl添加到该数据库中。 (2)在 “订货管理 ”数据库中建立表 order detail,表结构描述如下: 订单号 字符型 (6) 器件号 字符型 (6) 器件名 字符型 (16) 单价 浮动型 (10, 2) 数量 整型 (3)为新建立的 order detail表建立一个普通索引,索引名和索引表达式均是 “订单号 ”。 (4)建立表 order list和表 order detail间的永久联系 (通过 “订单号 ”字段 )。 二、简单应用题 2 (1)将 order det
2、aill表中的全部记录追加到 order-detail表中,然后用 SQLSELECT语句完成查询:列出所有订购单的 “订单号 ”、 “订购日期 ”、 “器件号 ”、 “器件名 ”和“总金额 ”(按 “订单号 ”升序, “订单号 ”相同再按 “总金额 ”降序 ),并将结果存储到results表中 (其中 “订单号 ”、 “订购日期 ”、 “总金额 ”取自 order list表, “器件号 ”、“器件名 ”取自 order detail表 )。 (2)打开 modil prg命令文件,该命令文件包含 3条 SQL语句,每条 SQL语句中都有一个错误,请改正 (注意:在出现错误的地方直接改正,不
3、可以改变 SQL语句的结构和 SQL短语的顺序 )。 三、综合应用题 3 在做本题前首先确认在基础操作中已经正确地建立了 order detail表,在简单应用中已经成功地将记录追加到 orderdetail表。 当 order detail表中的 “单价 ”修改后,应该根据该表的 “单价 ”和 “数量 ”字段修改order list表的 “总金额 ”字段,现在有部分 order list记录的 “总金额 ”字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为 od mod的表中 (与 order list表结构相同,自己建立 ),然后根据 order detail表的 “单价 ”
4、和 “数量 ”字段修改 od mod表的 “总金额 ”字段 (注意一个 od mod记录可能对应几条 order。 detail记录 ),最后 od mod表的结果要求按 “总金额 ”:升序排序,编写的程序最后保存为progl prg。 上机操作题模拟试卷 48答案与解析 一、基本操作题 1 【正确答案】 本大题考查了数据库的基本操作;数据 库表的建立:索引的建立以及表之间联系的建立。 通过 MOD I FY DATABASE命令可在新建数据库的同时打开数据库设计器,然后在数据库设计器中完成添加数据表的操作。在表设计器的 “字段 ”选项卡中,可以通过选择 “排序 ”下拉框中的 “升序 ”或 “
5、降序 ”为指定的字段建立一个索引名与索引表达式相同的普通索引。 【操作步骤】 (1) 在命令窗口执行命令: MODIFY DATABASE订单里,新建数据库并打开数据库设计器。 在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出 的 “打开 ”对话框中双击 “order list”表。 (2) 在数据库设计器中右击鼠标,选择【新建表】快捷菜单命令,在弹出的 “新建表 ”对话框中单击 “新建表 ”图标按钮,然后在弹出的 “创建 ”对话框的 “输入表名 ”框中输入 “order detail”,单击 “保存 ”按钮打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段
6、类型和宽度,然后单击 “确定 ”按钮,此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,由于本题没有要求输入数据,单击 “否 ”按钮。 (3)右击数据库设计器 中的 order detail表,选择【修改】快捷菜单命令,打开order detail表设计器,在 “字段 ”选项卡中选中 “订单号 ”,在 “索引 ”列中选择 “升序 ”,然后单击 “确定 ”按钮保存表结构修改。 (4)拖动 order list表 “索引 ”下方的候选索引 “订单号 ”到 order detail表中 “索引 ”下方的普通索引 “订单号 ”上,为两个表建立联系。 【知识模块】 上机操作题 二、简单应用题 2
7、 【正确答案】 (1)本题考查了 SQL的简单查询和联接查询。 SQL简单查询可直接套用基本的查询命令格式 ;进行联接查询时主要是判断查询输出字段来自哪个数据表 (本题都已指明 ),再正确设置联接条件。 【操作步骤】 步骤 1:在命令窗口执行命令: SELECT*FROM orderdetail 1 INTO ARRAY temp 将 detaill表中的记录全部复制到 detail表中。 步骤 2:在命令窗口执行如下 SQL命令语句完成查询: (注意:以上 SQL语句是根据查询文件生成的,大家也可以通过查询设计器完成本题操作。 ) (2)本题考查了 SQL更新功能;分组计算查询和简单查询。
8、第一处错误属于 SQL更新命令格式错误,通过 SQL给字段赋新值是通过 “=”号设置的。 第二处错误是分组短语与排序短语混淆了,这也是改错题中经常设置错误的地方。 第三处错误是查询语句的命令格式错误, SQL查询中筛选条件通过 WHERE短语指出。 【操作步骤】 步骤 1:在命令窗口执行命令: MODIFY COMMAND modil, 打开 modil程序文件,文件中的命令代码如下: &所有器件的单价增加 5元 UPDATE orderdetaill SEI一单价 WITH单价 +5 计算每种器件的平均单价 SELECT器件号, AVG(单价 )AS平均价 FROM orderdetaill
9、 ORDER BY器件号 INTO CURSOR lsb 查询平均价小于 500的记录 SELECT*FROM lsb FOR平均价 arrtable总金额; 8 INTO TABLE odmod 9 USE odmod 10 DO WHILE NOT EOF() 11 SELECT arrtable总金额 FROM arrtable; 12 WHERE arrtable订单号 =odmod订单号; 13 INTO ARRAY amr 14 REPLACE总金额 WITH arr 15 SKIP 15 ENDDO 16 CLOSE ALL 17 SELECT*FROM odmod ORDER BY总金额; 18 INTO CURSOR arrtablel 19 SELECT*FROM arrtablel INTO TABLE odmod 步骤 3:保存文件修改,在命令窗口执行命令,执行程序文件。 【知识模块】 上机操作题