案 双号测试题及答案
一、基本操作题(共四小题,第 1 和 2 题是 7 分、第 3 和 4 题是 8 分) 在考生文件夹下完成如下操作: 1. 打开“订货管理”数据库,并将表 order_list 添加到该数据库中。 2. 在“订货管理”数据库中建立表 order_detail,表结构描述如下: 订单号 字符型(6) 器件号 字符型(6) 器件名 字符型(16) 单价 浮动型(10,2) 数量 整型 3. 为新建立的 order_detail 表建立一个普通索引,索引名和索引表达式均是“订单号” 。 4. 建立表 order_list 和表 order_detail 间的永久联系(通过“订单号”字段) 。 答案提示: 1. 从菜单“文件”下选“打开” ,打开数据库“订货管理” ,在数据库设计器中点鼠标右键, 选择“添加” ,从弹出的对话框中选 order_list 加入数据库。 2. 在打开的数据库“订货管理”中,在数据库设计器中点鼠标右键,选择“新建表” ,在表 设计器中完成。 3. 在表设计器中完成或使用如下命令: Use order_detail Index on 订单号 tag 订单号 4. 此题已在 order_list 按“订单号”建好候选索引,在 order_detail 已按“订单号”建好普通
索引, 直接用鼠标左键按住表 order_list.dbf 中 “订单号” 字段候选索引拖入表 order_detail.dbf 中“订单号”字段普通索引上就建立了一对多永久联系。 二、简单应用(2 小题,每题 20 分,计 40 分) 在考生文件夹下完成如下简单应用: 1. 将 order_detail1 表中的全部记录追加到 order_detail 表中,然后用 SQL SELECT 语句 完成查询, 列出所有订购单的订单号、订购日期、器件号、 器件名和总金额(按订单号升序, 订单号相同再按总金额
降序) ,并将结果存储到 results 表中(其中订单号、订购日期、总金 额取自 order_list 表,器件号、器件名取自 order_detail 表) 。 2. 打开 modi1.prg 命令文件,该命令文件包含 3 条 SQL 语句,每条 SQL 语句中都有一 个错误, 请改正之 (注意: 在出现错误的地方直接改正, 不可以改变 SQL 语句的结构和 SQL 短语的顺序,命令关键字不能缩写) 。 答案提示: 1. 记录追加用如下命令: Use order_detail append from order_detail1 SQL 语句如下: sele order_list.订单号, order_list.订购日期, order_detail1.器件号, order_detail1.器件名, order_list.总金额 from order_list, order_detail where order_detail1.订单号=order_list.订单号 order by order_detail1.订单号,总金额 desc into table results,注意,此题答案仅供参考,不限 于这一答案。 2. 如下绿色为修改处: &;&;所有器件的单价增加 5 元 UPDATE order_detail1 SET 单价 = 单价 + 5 &;&;计算每种器件的平均单价 SELECT 器件号,AVG(单价) AS 平均价 FROM order_detail1 group BY 器件号 INTO CURSOR lsb &;&;
查询平均价小于 500 的记录 SELECT * FROM lsb where 平均价 < 500 三、综合应用(3 小题,计 30 分) 1. 在数据库 KSA 中用 SQL 命令新建表文件 USA1(工号 C(4),水电费 N(6,2),房租费 N(6,2)),并将该语句粘贴在 teacher.TXT 文件中(第 1 行,只占一行)。(10 分) 2. 使用 SQL 命令将表文件 KSA1.DBF 与 KSA2.DBF 按工号进行内部连接,生成新表文 件 USA4.DBF,USA4.DBF 仅包含工号、车间、借支和卫生费四个字段,并将该语句粘贴在 teacher.TXT 文件中(第 2 行,只占一行)。(10 分) 3. .在 KSA 数据库中查询每个车间的平均底薪,结果包含车间和平均底薪字段(字段名显 示为平均底薪),按平均底薪降序,查询结果定向输出到表文件 USA5.DBF.并将该语句粘贴在 teacher.TXT 文件中(第 3 行,只占一行)。(10 分) 答案提示: 1. create table usa1(工号 c(4),水电费 n(6,2),房租费 n(6,2)) 2. select ksa1.工号,车间,借支,卫生费 from ksa1 inner join ksa2 on ksa1.工号=ksa2.工号 into
table usa4 3. select 车间,avg(底薪) 平均底薪 from ksa1 group by 车间 order by 平均底薪 desc into table usa5