中级数据库系统工程师2006上半年下午试题、答案与详细解析

上传人:xmg****18 文档编号:118807754 上传时间:2019-12-25 格式:DOC 页数:14 大小:217.50KB
返回 下载 相关 举报
中级数据库系统工程师2006上半年下午试题、答案与详细解析_第1页
第1页 / 共14页
中级数据库系统工程师2006上半年下午试题、答案与详细解析_第2页
第2页 / 共14页
中级数据库系统工程师2006上半年下午试题、答案与详细解析_第3页
第3页 / 共14页
中级数据库系统工程师2006上半年下午试题、答案与详细解析_第4页
第4页 / 共14页
中级数据库系统工程师2006上半年下午试题、答案与详细解析_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《中级数据库系统工程师2006上半年下午试题、答案与详细解析》由会员分享,可在线阅读,更多相关《中级数据库系统工程师2006上半年下午试题、答案与详细解析(14页珍藏版)》请在金锄头文库上搜索。

1、. . . . .第21章 数据库系统工程师下试题分析与解答试题一(15分) 阅读下列说明以及数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明 某学校建立了一个网上作业提交与管理系统,基本功能描述如下: (1)账号和密码。任课老师用账号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的账号和密码。 (2)作业提交。学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完成作业,单击“提交”按钮上交作业。 (3)在线批阅。

2、系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。问题1(3分) 如果将数据库服务器(记为DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?问题2(7分) 根据说明结合问题1的解答,指出在该系统的顶层数据梳图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的部分信息,请填充空缺处。 序号起点终点数据流名称1(1)网上作业提交与管理系统作业申请2(2)网上作业提交与管理系统提交的作业3网上作业提交与管理系统(3)需完成的作业4网上作业提交与管理系统(4)(5)5网上作业提交与管理系统(6)作业申

3、请6网上作业提交与管理系统(7)(8)7(9)网上作业提交与管理系统选课学生名单8(10)网上作业提交与管理系统(11)9(12)网上作业提交与管理系统账号和密码10(13)网上作业提交与管理系统账号和密码问题3(5分) 根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。试题一分析 本题考查的是DFD(数据流图)的绘制,详细内容参见软件设计师下试题一分析。参考答案问题1 外部实体:(选课)学生、(任课)老师 数据存储:作业成绩统计文件问题2 (1) (选课)学生 (2) (选课)学生 (3) (选课)学生 (4) (选课)学生 (5) 作业成绩 (6) DB (7) 作业成绩

4、统计文件 (8) 作业成绩 (9) (任课)老师 (10)DB (11)作业 (12)(选课)学生 (13)(任课)老师 注:(4)、(6)的答案可互换;(12)、(13)的答案可互换问题3 错误1:外部实体A和B之间不能存在数据流。 错误2:外部实体A和数据存储H之间不能存在数据流。 错误3:加工2的输入/输出数据流名字相同。 错误4:加工4只有输入没有输出。 错误5:加工5只有输出,没有输入。 注:以上5条错误信息可以打乱次序。试题二(15分) 阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。说明 某企业网上销售管理系统的数据库部分关系模式如下所示: 客户(客户号,姓名,性别

5、,地址,邮编) 产品(产品号,名称,库存,单价) 订单(订单号,时间,金额,客户号) 订单明细(订单号,产品号,数量) 关系模式的主要属性及约束如下表所示。 关系名约束客户客户号唯一标识一位客户,客户性别取值为“男”或者“女”产品产品号唯一标识一个产品订单订单号唯一标识一份订单。一份订单必须且仅对应一位客户,份订单可由一到多条订单明细组成。一位客户可以有多份订单。订单明细一条订单明细对应一份订单中的个产品 客户、产品、订单和订单明细关系及部分数据分别如下列各表所示。 客户关系 客户号姓名性别地址邮编01王晓杰女南京路2号20000502林俊杰男北京路18号200010 产品关系 产品号名称库存

6、单价01产品A20298.0002产品B50168.00 订单关系 订单号时间金额客户号10012006.02.031268.000110022006.02.03298.0002 订单明细关系 订单号产品号数量100101210010241002011问题1(3分) 以下是创建部分关系表的SQL语句,请将空缺部分补充完整。 CREATE TABLE客户( 客户号 CHAR(5) (a) , 姓名 CHAR(30), 性别 CHAR(2) (b) , 地址 CHAR(30), 邮编 CHAR(6); CREATE TABLE 订单( 订单号CHAR(4), 时间 CHAR(10), 金额 NUM

7、BER(6,2), 客户号CHAR(5)NOTNULL, PRIMARY KEY(订单号), (c) ;问题2(4分) 请根据如下查询语句,回答问题(d),(e)和(f)。 SELECT客户号 FROM订单,订单明细 WHERE订单明细.订单号=订单.订单号AND 产品号=02 AND 数量10; (d) 上述查询语句的功能是什么?请简要回答。(30个字以内) (e) 将上述查询语句转换成对应的关系代数表达式。 (f) 上述SQL查询语句是否可以进一步优化?如可以,给出优化后的SQL查询语句。问题3(3分) 请按题意将下述SQL查询语句的空缺部分补充完整。 按客户购买总额的降序,输出每个客户的

8、客户名和购买总额。 SELECT 客户.客户名, (g) FROM 客户,订单 WHERE 客户.客户号=订单.客户号 (h) (i) ;问题4(3分) 用SQL语句完成下述要求。 (1) 定义一个描述订单的客户号和对应订单明细中产品号关系的视图:客户产品(客户号,产品号)。 (2)借助(1)所定义的视图,查询至少购买了01号客户购买的所有产品的客户号。 SELECT客户号 FROM客户产品 客户产品1 WHERE (j) (SELECT* FROM客户产品 客户产品2 WHERRE (k) (SELECT* FROM客户产品 客户产品3 WHERRE (1) );问题5(2分) 当一个订单和

9、对应的订单明细数据入库时,应该减少产品关系中相应的产品库存,为此应该利用数据库管理系统的什么机制实现此功能?请用100字以内的文字简要说明。试题二分析问题1 本题考查的是SQL语言中的创建基本表命令。 SQL中使用CREATE TABLE命令来定义基本表,其一般格式为: CREATE TABLE表名(列名数据类型列级完整性约束条件 ,列名数据类型列级完整性约束条件. ,表级完整性约束条件); 本题着重考查完整性约束的定义。 实体完整性定义。声明主键有两种方法:将PRIMARYKEY保留字加在属性类型之后;在属性列表中引入一个新元素,该元素包含保留字PRIMARY KEY和用圆括号括起的构成主键

10、的属性或者属性组列表。 参照完整性定义。FOREIGNKEY(属性名)REFERFENCES表名(属性名)。参照完整性通过保留字FOREIGNKEY定义哪些列为外码,REFERFENCES指明外码所对应的被参照表的主码。 用户定义完整性定义。用CHECK后增加一条检查子句来完成属性值上的约束。 根据题目描述,客户号唯一标识一位客户,客户性别取值为“男”或者“女”,一份订单必须且仅对应一位客户。所以,客户号是客户表的主键,客户性别的取值只能为“男”或者“女”,订单中的客户号必须外键依赖于客户。 因此,客户号应表示为主键: (a)NOT NULL UNIQUE或NOT NULL PRIMARY K

11、EY或PRIMARY KEY; 客户性别的取值只能为“男”或者“女”: (b)CHECK (VALUE IN(男,女) 订单中的客户号必须外键依赖于客户: (c)FOREIGN KEY (客户号) REFERENCES客户(客户号)问题2 本题考核的知识点包括SQL的查询命令与关系代数表达式的互相转换以及SQL的查询优化。 SELECT语句的功能是:查询一次订购(或购买)产品号为02的数量大于10的客户号。 根据关系代数表达式的定义,将上述查询语句转换成对应的关系代数表达式为: 该SELECT语句,在进行多表查询时,采用的是相关子查询。由于相关子查询查询时要做连接JOIN,性能不是最优。可以考

12、虑采用不相关子查询,来提高性能。优化的 SQL语句为: SELECT客户号 FROM订单 WHERE订单号IN (SELECT订单号 FROM订单明细 WHERE产品号=02 AND数量10);问题3 本题考核的是SQL语言的查洵命令。 要输出客户的客户名和购买总额,SELECT语句的输出部分,还必须包含统计客户的购买总额(SUM(金额)AS总额)。统计一个客户的购买总额,需要对订单信息按客户号进行分组,才能求出每个客户的购买信息(GROUP BY客户.客户号)。再根据每个客户的购买总额进行降序排序(ORDER BY总额DESC)。问题4 本题考核的知识点是SQL中的视图创建和SQL查询命令。 SQL语言用CREATE VIEW命令建立视图,其格式为: CREATE VIEW 视图名(列名,列名.) AS 子查询 WITHCHECKOPTION; 根据题目描述,一个订单涉及多个产品,订

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号