1、2009 年上半年数据库系统工程师下午试题试题一(共 15 分) 阅读下列说明,回答问题 1 和问题 2,将解答填入答题纸的对应栏内。 【说明】 假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下:1. 系统接收由连锁超市提出的供货请求,并将其记录到供货请求记录文件。 2.在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。 3.配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配
2、送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件。 4.采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件、向配送处理发出配送通知,同时通知财务部门给供货商支付货款。该系统采用结构化方法进行开发,得到待修改的数据流图(如图 1-1 所示) 。 【问题 1】 (8 )使用【说明】中的词语,给出图 1-1 中外部实体 E1 至 E4 的名称和数据存储 D1 至 D4的名称。 【问题 2】 (7 分)图 1-1 中存在四处错误数据流,请指出各自的起点和终点;若将上述四条错误数据流删除,为保证数据流图的正确性,应补充三条数据流,请给出
3、所补充数据流的起点和终点。 (起点和终点请采用数据流图 1-1 中的符号或名称) 试题二(共 15 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】某网上书店后台数据库的部分关系模式如下: 会员(会员编号,用户名,密码,姓名,地址,邮编,电话,消费额,积分) 图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,ISBN ,价格)订单(订单编号,用户名,销售额,订购日期,出货日期) 订单明细(订单明细编号,订单编号,图书编号,数量) 【问题 1】 (3 分)下面是创建订单关系的 SQL 语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能
4、为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。 CREATE TABLE 订单( 订单编号 CHAR(6) (a) , 用户名 VARCHAR(40) NOT NULL (b) , , 销售额 FLOAT , 订购日期 DATE NOT NULL , 出货日期 DATE (c) ) ; 【问题 2】 (10 分)请完成下列查询的 SQL 语句。(1 )查询名称中包含“数据库 ”的图书的图书名称,作者,出版社和出版日期。 SELECT (d) FROM 图书WHERE 图书名称 (e) ; (2 )查询提供销售(图书表中有)但没有销售过(没在订单明细表中出现)的图书名称和出版社。 S
5、ELECT 图书名称, 出版社FROM 图书 WHERE NOT EXISTS ( SELECT (f)FROM 订单明细 WHERE( g) ) ; (3 )查询订购图书数量最多的会员名及其订购的数量。 SELECT 用户名,(h)FROM 订单, 订单明细 WHERE( i) GROUP BY 用户名 HAVING (j ) ( SELECT SUM(数量) FROM 订单, 订单明细 WHERE 订单. 订单编号 = 订单明细.订单编号 GROUP BY 用户名) ; (4 )为了统计会员的购买行为信息,实施有意义的客户关怀策略,查询会员的平均订购间隔时间,考虑多次购买图书和一次购买图书
6、的情况(其中,DATEDIFF 函数表示两个日期之间的天数) 。 SELECT 用户名, CASE WHEN (k) THEN DATEDIFF(MAX(订购日期), MIN(订购日期) / (l) ELSE DATEDIFF (CURRENT_TIMESTAMP, MIN(订购日期) END AS AVG_GAP FROM 订单(m) ; 【问题 3】 (2 分) www.RuanK 专业实用考生之家会员订购图书后,将本次订购的销售额累加到该会员的消费额中,并按照本次订单的销售额计算积分累加到该会员的积分中(每 20 元增加 1 个积分,不足 20 元不计入积分) 。下面用触发器实现该需求,
7、请填充空缺部分。 CREATE TRIGGER 会员积分_TRIGGER AFTER (n) REFERENCING NEW ROW AS NROW BEGIN UPDATE 会员 SET 消费额 = 消费额 + NROW.销售额,(o)WHERE 用户名 = NROW.用户名 END试题三(共 15 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【试题说明】 某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统便于管理其业务运作活动。 【需求分析结果】 1. 商场需要记录的信息包括商场编号(商场编号不重复) 、商场名称、地址和联系电话。某商场信息如表 3-1
8、 所示。2. 每个商场包含不同的部门,部门需要记录的信息包括部门编号(不同商场的部门编号不同) 、部门名称、位置分布和联系电话。某商场的部门信息如表 3-2 所示。3.每个部门雇用了多名员工处理日常事务,每名员工只能属于一个部门(新进员工在培训期不隶属于任何部门) 。员工需要记录的信息包括员工编号、姓名、岗位、电话号码和工资。员工信息如表 3-3 所示。4. 每个部门的员工中有一个是经理,每个经理只能管理一个部门。系统要记录每个经理的任职时间。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下: 【关系模式设计】商场(商场编号,商场名称,地址,联系电话) 部门
9、(部门编号,部门名称,位置分布,联系电话, (a) ) 员工(员工编号,姓名,岗位,电话号码,工资, ( b) )经理( (c) ,任职时间) 【问题 1】 (7 分)根据问题描述,补充四个联系,完善图 3-1 的实体联系图。 【问题 2】 (6 分)根据实体联系图,将关系模式中的空(a)(c)补充完整,并分别给出部门、员工和经理关系模式的主键和外键。 【问题 3】 (2 分)为了使商场有紧急事务时能联系到轮休的员工,要求每位员工必须且只能登记一位紧急联系人的姓名和联系电话(假设不同员工可以登记相同的紧急联系人) 。中还需添加的实体是 (d) ,该实体与图 3-1 中的员工关系存在(e)联系。
10、给出该实体的关系模式。 试题四(共 15 分)阅读下列说明,回答问题至问题 3,将解答填入答题纸的对应栏内。 【说明】 M 公司为某宾馆设计宾馆机票预订系统,初步的需求分析结果如下: (1 )客户可以在提前预订或直接入住时向宾馆提供相关信息, 宾馆登记的客户信息包括:客户编号,姓名,性别,类型,身份证号,联系方式,预订日期,入住时间和离开时间等信息。其中类型字段说明客户是普通客户或 VIP 客户,不同的客户类型享受订票的折扣额度不同。直接入住的客户其预订日期取空值。 (2 )需要预订机票的客户应填写“机票预订”表,提供飞行日期、航班号、出发时间、目的地等信息。宾馆根据客户订票信息购票后,生成“
11、客户订单”表,并根据客户类型确定相应的折扣额度。 “机票预订”和“客户订单”表如表 4-1、4-2 所示。【逻辑结构设计】 根据需求阶段收集的信息,设计的关系模式如图 4-1 所示。关系模式的主要属性、含义及约束如表 4-3 所示。 【问题 1】 (6 分)对关系“客户” ,请回答以下的问题: (1 )若选定(客户编号, 预订日期)作主码,未预订而直接入住的客户信息能否录入客户表?如不能,请说明原因。 (2 )对“客户”关系增加一个流水号属性作为主码, “客户 ”关系属于第几范式?还存在哪些问题? (3 )将增加入住标识属性后的“客户”关系分解为第三范式,分解后的关系名依次取客户1、客户 2、
12、。 【问题 2】 (6 分)对关系“航班” ,请回答以下问题: (1 )列举出“航班”关系中所有不属于任何候选码的属性(非码属性) 。 (2 )该关系模式可达到第几范式?用不超过 60 个字的内容叙述理由。 【问题 3】 (3 分)对于没有预订客房或入住宾馆的客户,需要在 (a)关系中修改其 (b)属性的值域,以满足这类客户在宾馆预订机票的需求。 试题五(共 15 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】 某停车场有多个入口和出口,车辆进入时从入口处由系统查询可用的停车位,从出口驶出时系统将其刚使用的车位标记为空车位。 假设实现停车场管理的伪指令如表
13、5-1 所示:根据上述描述,在入口处的伪代码程序为:x = Get(); IF x =NULL THEN return 0; Writ(x, 1); 【 问题 1】 (3) 若两辆车在不同的入口处同时执行上述代码,会出现什么问题?(100 字以内描述) 【问题 2】 (8 分)为保证入口处伪代码正确地并发执行,引入共享锁指令 SLock(T)和独占锁指令 XLock(T)对表 T 进行加锁;Upgrade(T)对表 T 所加的共享锁升级为独占锁;解锁指令 Unlock(T)对表 T 进行解锁。 (1 )请修改上述入口处的伪代码程序,使其满足 2PL 协议。 (2 )满足 2PL 协议的入口处的
14、伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。 【问题 3】 (4 分)若停车位表的关系模式为:park(parkno, isused),其中 parkno 为停车位号,isused 为停车位标志,0 为空,1 为非空。下面是用 E-SQL 实现的查询空车位的函数 Get(),请补全空缺处的代码。 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE EXEC SQL DECLARE getblk CURSOR FOR (a ) ; EXEC SQL OPEN getblk ; EXEC SQL FETCH getblk INTO :
15、Hparkno; / Hparkno 为已声明的主变量 IF SQLCA.sqlcode = 100 THEN EXEC SQL CLOSE getblk ; Return NULL; ELSE(b) ; END IF 试题中通用的表示规则 关于概念模型、关系模式的标记,试题中若无特殊声明,将使用如下的通用标记规则。 1概念模型的标记规则分别如图 1、图 2 和图 3 所示。其中: (1 )实体类型用长方形表示,弱实体用双线长方形表示。长方形内为实体类型名称。 (2 )实体类型间的联系用菱形表示,弱联系用双线菱形表示,菱形内写上联系的名称,并在联系与实体间的连线上注明联系的类型。(3 )超类型
16、和子类型之间的联系,从超类型到子类型之间画连线,连线上加注小圆圈,子类型加双线竖框。(4 )实体和联系的属性用椭圆表示,并用直线将属性与其所属的实体或联系连接起来。2关系模式的标记规则如下: 关系名(属性名 1,属性名 2,属性名 n) 其中: (1 )若该属性仅为主键属性,则该属性名下画实下划线; (2 )若该属性仅是外键属性,则该属性名下画虚下划线; (3 )若该属性既是主键属性,又是外键属性,则在该属性名下面画实下划线和虚下划线。试题六数据库通常是指有组织地、动态地存储在 (28) ;应用数据库的主要目的是解决数据 (29) 问题。(28)A内存上的相互联系的数据的集合B外存上的相互联系
17、的数据的集合C内存上的相互无关的数据的集合D外存上的相互无关的数据的集合(29)A保密 B完整性 C一致性 D共享试题(28)、(29)分析本题考查对数据库系统的基本概念。数据库(Data Base,DB)是指长期储存在计算机外存上的、有组织的、可共享并相互联系的数据集合。数据库中的数据按一定的数学模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。应用数据库系统是为了管理大量信息,给用户提供数据的抽象视图,即系统隐藏有关数据存储和维护的某些细节,其主要的目的是为了解决多用户对数据的共享问题。参考答案(28)B (29)D试题(30)(30)采用二维表格结构
18、表达实体及实体间联系的数据模型是 (30) 。A层次模型 B网状模型C关系模型 D面向对象模型试题(30)分析本题考查对数据库数据模型方面基本知识掌握的程度。不同的数据模型具有不同的数据结构形式。目前最常用的数据结构模型有层次模型(hierarchical model)、网状模型(network model)、关系模型(relational Model)和面向对象数据模型(object oriented model)。其中层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在 20 世纪 70 年代非常流行,在数据库系统产品中占据了主导地位。到了 20 世纪 80 年代,逐渐被关系模型的
19、数据库系统取代,但某些国家,由于历史的原因,目前层次和网状数据库系统仍在使用。关系模型是目前最常用的数据模型之一。关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用二维表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。关系模型是由若干个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中变量的概念。给定变量的值随时间可能发生变化:类似地,当关系被更新时,关系实例的内容也随时间发生了变化。参考答案(30)C试题(34)(36)关系 R、S 如下图所示,关系代数表达式 4,5,3( 16 (
20、RS)的输出结果与 (34) 等价,该表达式与 (35) 等价。若对关系 R、S 进行自然连接,所得关系的属性列数和元组个数分别为 (36) 。(35)A A,B,C( AC (RS) B R.A,R.B,R.C( R.AS.B (RS)C R.A,S.B,S.C( R.AS.C (RS) D S.A,S.B,R.C( R.AS.C (RS)(36)A3 和 0 B3 和 2 C6 和 0 D6 和 2试题(34)(36)分析本题考查关系代数运算方面的基础知识。本题求关系代数表达式 4.5.3( 16 (RS)的结果集,其中,RS 的属性列名分别为 R.A,R.B,R.C,S.A,S.B 和
21、S.C,其结果如下表所示: 16 (RS)的含义是从 RS 结果集中选取第一个分量(R.A)小于第六个分量 (S.C)的元组,从上表中可以看出,满足条件的是第一和第三个元组,其结果如下表所示: 4,5,3( 16 (RS)的含义是从 16 (RS)结果集中选取第四列、第五列和第三列,其结果如图(a)所示,表中 S.A、S.B 和 R.C 的属性名不重复,所以可以用图(b)表示。从上面分析可见,试题(34)的正确答案是 B。试题(35)的正确答案是 D,因为 4,5,3( 16 (RS)中投影运算的第四列对应 S.A,第五列对应 S.B,第六列对应 R.C;而选取运算中的第一列对应 R.A,第六
22、列对应 RC:所以 4,5,3( 16 (RS)与 S.A.S.B.R.C( R.AS.C(RS)等价。试题(36)的正确答案是 A,因为根据自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中将重复属性列去掉,故 R S 后的属性列数应为 3:又因为自然连接是一种特殊的等值连接,即 R 关系中的 A、C、D 属性与 S 关系中的 A、C、D 属性进行等值连接没有符合条件的元组,故其结果集的元组个数为 0。参考答案(34)B (35)D (36)A试题(37)(44)某超市的商品(商品号,商品名称,生产商,单价)和仓库(仓库号,地址,电话,商品号,库存量)两个基本关系如表 1
23、和表 2 所示。表 1 商品号 商品名称 生产商 单价10023 笔记本 联想 480010024 激光打印机 联想 165010025 台式电脑 联想 386020003 激光打印机 HP 128020004 笔记本 HP 390020005 电冰箱 海尔 2860 表 2仓库号 地址 电话 商品号 库存量01 高新路 1 号 8601 10024 2601 高新路 1 号 8601 10025 8901 高新路 1 号 8601 20003 1002 友谊路 6 号 8602 10023 3902 友谊路 6 号 8602 20004 2602 友谊路 6 号 8602 10024 290
24、3 高新路 1 号 8603 20005 18 A仓库关系的主键是 (37),该关系没有达到第三范式的原因是 (38) ;B查询联想生产的激光打印机的总库存量的 SQL 语句如下:SELECT 商品名称, (39) FROM 商品,仓库WHERE (40) AND (41) ;C若仓库关系的地址不能为空,请将下述仓库关系 SQL 语句的空缺部分补充完整。CREATE TABLE 仓库(仓库号 CHAR(2),地址 CHAR(20) (42) ,电话 CHAR(20),商品号 CHAR(5),库存量 NUMERIC(5),(43) ,(44) ;(37)A仓库号 B商品号,地址C仓库号,地址 D
25、仓库号,商品号(38)A没有消除非主属性对码的部分函数依赖,如:仓库号电话B没有消除非主属性对码的部分函数依赖,如:地址电话C只消除了非主属性对码的部分函数依赖,而未消除传递函数依赖D只消除了非主属性对码的传递函数依赖,而未消除部分函数依赖(39)ANUMBER(库存量) BSUM(库存量)CCOUNT(库存量) DTOTAL(库存量)(40)A生产商=联想 B仓库生产商=联想C生产商=联想 D仓库生产商=联想(41)A商品名称=激光打印机 AND 商品商品号=仓库商品号B商品名称=激光打印机AND 商品.商品号=仓库.商品号C商品名称=激光打印机 OR 商品.商品号=仓库.商品号D商品名称=
26、激光打印机OR 商品.商品号=仓库.商品号(42)ANOTNULL BUNIQUECNOTNULLUNIQUE DPRIMARYKEY(43)APRIMARY KEY(仓库号)BPRIMARY KEY(仓库号,商品号)CPRIMARY KEY(商品号,地址)DPRIMARY KEY(仓库号,地址)(44)AFOREIGN KEY(仓库号)REFERENCES 仓库号BFOREIGN KEY(仓库号)REFERENCES 仓库(仓库号)CFOREIGN KEY(商品号)REFERENCES 仓库(商品号)DFOREIGN KEY(商品号)REFERENCES 商品(商品号)试题(37)(44)分
27、析本题考查应试者对范式、SQL 语言的掌握程度。试题(37)、(38)考查关于范式方面的基础知识。仓库关系的主键是(仓库号,商品号);仓库关系不属于第三范式的原因是因为仓库号可以决定非主属性(地址,电话),非主属性地址、电话存在对主键的部分函数依赖。试题(39)(41)正确的答案分别是 B、C 和 B,因为查询联想生产的激光打印机的总库存量的 SQL 语句如下:SELECT 商品名称,SUM(库存量)FROM 商品,仓库WHERE 生产商=联想AND 商品名称=激光打印机AND 商品.商品号=仓库.商品号;试题(42)的正确答案是 A,因为试题要求地址不能为空,因此需要用 NOT NULL 限
28、定;试题(43)的正确答案是 B,因为仓库关系的主键是(仓库号,商品号),所以需要采用PRIMARY KEY 定义主键:仓库关系的外键商品号需要用 FOREIGN KEY(商品号)REFERENCES 商品(商品号)来约束,故试题(44)的正确答案是 D。这样仓库关系的 SQL 语句如下:CREATE TABLE 仓库(仓库 CHAR(2),地址 CHAR(20)NOT NULL,电话 CHAR(20),商品号 CHAR(5),库存 NUMERIC(5),PRIMAPY KEY(仓库号,商品号),FOREIGN KEY(商品号)REFERENCES 商品(商品号) );参考答案(37)D (3
29、8)A (39)B (40)C (41)B (42)A (43)B (44)D试题(51)(51)撤销 U5 对 Emp 表的查询权限,并收回 U5 授予其他用户的该权限,SQL 语句是 (51) 。AREVOKE SELECT ON TABLE Emp FROM U5 CASCADE;BREVOKE SELECT ON TABLE Emp FROM U5 RESTRICTCREVOKE QUERY ON TABLE Emp FROM U5 CASCADE;DGRANT SELECT ON TABLE Emp TO U5 WITH GRANT OPTION;试题(51)分析本题考查对数据库授权
30、 SQL 语句的掌握。标准 SQL 中收回权限的基本语法是: REVOKE权限FROM对象数据对象名TO用户RESTRICT|CASCADE);,其中CASCADE 表示级联收回,即收回用户权限并同时收回该用户授予其他用户的该权限。参考答案(51)A试题(52)(52)在数据库系统中,拥有最高权限的用户是 (52) 。AGUEST BDBA C PUBLIC DROLE试题(52)分析本题考查对数据库基本用户的了解。DBA(DataBase Administrator,数据库管理员)即是数据库系统中最高权限的用户。参考答案(52)B试题(53)、(54)设有职工关系 Emp (Eno,Enam
31、e,Esex,EDno)和部门关系 Dept (Dno,Dname, Daddr),创建这两个关系的 SQL 语句如下:CREATE TABLE Emp (Eno CHAR(4),Ename CHAR(8),Esex CHAR(1) CHECK(Esex IN (M,F),EDno CHAR(4) REFERENCES Dept (Dno),PRIMARY KEY (Eno);CREATE TABLE Dept (Dno CHAR(4) NOT NULL UNIQUE,Dname CHAR(20),Daddr CHAR(30);直接运行该语句,DBMS 会报错,原因是 (53) 。若经过修改,
32、上述两个表创建完毕之后(尚无数据),则下述语句中能被执行的是 (54) 。(53)A创建表 Dept 时没有指定主码B创建表 Dept 时没有指定外码C创建表 Emp 时,被参照表 Dept 尚未创建D表 Emp 的外码 EDno 与被参照表 Dept 的主码 Dno 不同名(54)AINSERT INTO Emp VALUES(e001,王,M,d1);BINSERT INTO Emp VALUES(NULL,王,M,d1,);CINSERT INTO Emp VALUES(e001,王,M,NULL);DINSERT INTO Emp VALUES(e001,王,X,d1);试题(53)、
33、(54)分析本题考查对完整性约束的掌握。本题中,职工关系 Emp 为参照关系,其属性 EDno 参照部门关系 Dept 中的 Dno,在创建 Emp 关系时,系统会根据参照约束查找被参照关系,因此,被参照关系就先于参照关系而建立。约束一旦建立,更新数据必须满足约束条件才可正确执行,表 Emp 有主码约束和参照约束,故 Eno 不能取空值,EDno 列因为被参照关系 Dept尚无记录,故只能取空值。参考答案(53)C (54)C试题(60)(60)视图设计属于数据库设计的 (60) 阶段。A需求分析 B概念设计 C逻辑设计 D物理设计试题(60)分析本题考查对数据库设计相关概念的掌握。视图设计是
34、指在确定了基本表的情况下,根据处理需求,确定增加相应的视图,以方便应用程序的编写和安全性要求,应属于逻辑结构设计阶段要完成的任务。参考答案(60)C试题(30)(32)分析本题考查关系代数运算方面的基础知识。试题(30)的正确选项为 B。本题要求关系代数表达式 1,3,7(36 (RS)的结果集,其中,RS 的属性列名分别为 R.A、 R.B、R.C 、R.D、S.C ,S.D 和 S.E,其结果如下表所示: R.A R.B R.C R.D S.C S.D S.E11l12211223344223344888844339999383838384949494923232323RS36 (RS)的
35、含义是从 RS 结果集中选取第三个分量(R.C)小于第六个分量(S.D)的元组,故 36 (RS)与 R.CS.D (RS)等价。从上表中可以看出,满足条件的结果如下表所示: R.A R.B R.C R.D S.C S.D S.E11121223423348844399388884999923333 36 (RS)试题(31)的正确选项为 C。 1,3,7(36 (RS)的含义是从 36 (RS)结果集中选取第一列R.A(或 A)、第三列 R.C 和第七列 S.E(或 E),故 1,3,7(36 (RS)与 A,R.C,E(R.CS.D (RS)等价。需要说明的是第三列不能简写为 C,因为关系
36、 S 的第一列属性名也为 C,故必须标上关系名加以区别。满足条件的结果如下表所示,共有 3 列 5 个元组。R.A R.C S.E111213348823333 1,3,7( 36 (RS)试题(32)的正确选项为 A。因为根据除法定义,此题的 X 为属性 AB,Y 为属性 CD。RS应当满足元组在属性 AB 上的分量值 x 的象集 Yx 包含关系 S 在 CD 上投影的集合。关系 S 在 Y 上的投影为 CD(S)=(3,4),(8,9)。对于关系 R,属性组 X(即 AB)可以取 3 个值(1,2),(1,3),(2,3),它们的象集分别为:象集 CD(1,2)=(3,4),(8,9)象集
37、 CD(1,3)=(4,3)象集 CD(2,4)=(8,9)由于上述象集包含 CD(S)有(1,2),所以,RS=(1,2) ,故正确的答案为 A。参考答案(30)B (31)C (32)A试题(37)(42)某销售公司数据库的零件 P(零件号,零件名称,供应商,供应商所在地,单价,库存量)关系如表 1 所示,其中同一种零件可由不同的供应商供应,一个供应商可以供应多种零件。零件关系的主键为 (37) ,该关系存在冗余以及插入异常和删除异常等问题。为了解决这一问题需要将零件关系分解为 (38) 。 表 1零件号 零件名称供应商供应商所在地 单价(元) 库存量010023 P2 S1 北京市海淀区
38、 58 号 22.80 380010024 P3 S1 北京市海淀区 58 号 280.00 1.350010022 P1 S2 陕西省西安市雁塔区 2号65.60 160010023 P2 S2 陕西省西安市雁塔区 2号28.00 1280010024 P3 S2 陕西省西安市雁塔区 2号260.00 3900010022 P1 S3 北京市新城区 65 号 66.80 2860 (37)A零件号,零件名称 B零件号,供应商C零件号,供应商所在地 D供应商,供应商所在地(38)A P1(零件号,零件名称,单价)、P2( 供应商,供应商所在地,库存量 )BP1(零件号,零件名称)、P2(供应商
39、,供应商所在地,单价,库存量)C P1(零件号,零件名称)、P2(零件号,供应商,单价,库存量)、P3(供应商,供应商所在地)DP1(零件号,零件名称)、P2(零件号,单价,库存量)、P3( 供应商,供应商所在地)、P4(供应商所在地,库存量)对零件关系 P,查询各种零件的平均单价、最高单价与最低单价之间差价的 SQL 语句为:SELECT 零件号, (39)FROM P(40) ;(39)A零件名称,AVG( 单价 ),MAX(单价)-MIN(单价)B供应商,AVG(单价),MAX(单价)-MIN(单价)C零件名称,AVG 单价,MAX 单价-MIN 单价D供应商,AVG 单价,MAX 单价
40、-MIN 单价(40)A ORDER BY 供应商 B ORDER BY 零件号C GROUP BY 供应商 DGROUP BY 零件号对零件关系 P,查询库存量大于等于 100 小于等于 500 的零件“P1”的供应商及库存量,要求供应商地址包含“西安” 。实现该查询的 SQL 语句为:SELEcT 零件名称,供应商名,库存量FROM PWHERE (41) AND (42) ;(41)A零件名称=P1AND 库存量 Between 100 AND 500B零件名称=P1AND 库存量 Between 100 TO 500C零件名称=P1OR 库仔量 Between 100 AND 500D
41、零件名称=P10R 库存量 Between 100 TO 500(42)A供应商所在地 in%西安% B供应商所在地 like西安%C供应商所在地 like%西安% D供应商所在地 like西安%试题(37)(42)分析本题考查的是数据库及 SQL 方面的基础知识。试题(37)的正确选项为 B。根据题意,零件 P 关系中的零件号和供应商能唯一确定该关系中的每一个元组。试题(38)的正确选项为 C。因为原零件关系存在非主属性对码的部分函数依赖:( 零件号,供应商) 供应商所在地,但是供应商供应商所在地,故原关系模式零件不是 2NF 的。分解后的关系模式零件 1、零件 2 和零件 3 消除了非主属
42、性对码的部分函数依赖,同时不存在传递依赖,故达剑 3NF。试题(39)的正确选项为 A,试题(40)的正确选项为 D。要查询各种零件的平均单价、最高单价与最低单价之间差距,首先需要在结果列中的空(39) 应填写“零件名称,AVG(单价),MAX(单价)-MIN(单价)”。其次必须用分组语句按零件号分组,故空(40) 应填写“GROUP BY 零件号” 。完整的 SQL 语句为:SELECT 零件号,零件名称,AVG(单价),MAX(单价)-MIN( 单价)FROM PGROUP BY 零件号;试题(41)的正确选项为 A,试题(42)的正确选项为 C。根据题意,查询库存量大于等于100 小于等
43、于 500 的零件“P1”的供应商及库存量的 SQL 语句应该采用“Between 100 AND 500”,而要求供应商地址包含“ 西安”的供应商名的 SQL 语句应该采用“like%西安%”。实现该查询的完整的 SQL 语句为:SELECT 零件名称,供应商名,库存量FROM PWHERE 零件名称=P1 AND 库存量 Between 100 AND 500AND 供应商所在地 like %西安%;参考答案(37)B (38)C (39)A (40)D (41)A (42)C试题(43)、(44)给定关系模式 R(U,F),U=A,B,C,D,F=AC,AD,CB,BD),F 中的冗余函
44、数依赖为 (43) ;若将 R 分解为 =AC,CB,BD,则 满足 (44) 。(43)A AC BAD CCB DBD(44)A不具有无损连接性,而且不保持函数依赖B不具有无损连接性,但保持函数依赖C具有无损连接性,而且保持函数依赖D具有无损连接性,但不保持函数依赖试题(43)、(44)分析本题考查数据库关系规范化方面的基础知识。试题(43)的正确选项为 B。根据 Armstrong 公理系统中的传递率,若F1=AC,CB,BD,则有 AD 包含在 F1 中。试题(44)的正确选项为 C。首先证明 =AC,CB,BD是无损连接的。先构造一个二维表如下:根据 F1 中的 AC,上表中 A 属
45、性列上没有两行相同的,故不能修改上表。又由于CB 在 C 属性列上的第一行、第二行相同为 a3,所以将属性列 B 上 b12 改为同一符号 a2。修改后的表如下:根据 F 中的 BD 对上表进行处理,由于属性列 B 上第一行、第二行、第三行相同为a2,所以将属性列 D 上 b14 改为同一符号 a4。修改后的表如下:从修改后怕表可以看出第一行全为 a,故分解 是无损连接的。下面证明分解 保持函数依赖。根据保持函数依赖定义,若将关系 R 分解为 k 个子模式,并有 则分解 保持函数依赖。本题分解成 3 个子模式,分别对 F 投影合并的结果如下:从上可见结果与 F 相等,故分解 保持函数依赖。参考
46、答案(43)B (44)C试题(52)、(53)收回用户 li 对表 employee 的查询权限,同时级联收旧 li 授予其他用户的该权限,SQL语句为:(52) select ON TABLE employee FROM li (53) ;(52)A GRANT BGIVE CCALL BACK DREVOKE(53)A RESTRICT BCASCADEC WITH GRANT OPTION DWITH CHECK OPTION试题(52)、(53)分析本题考查考生对权限管理相关 SQL 语句的掌握。收回权限的 SQL 语法:REVOKE 权限列表ON表名| 视图名FROM用户列表RES
47、TRICT|CASCADE其中:RESTRICT 表示只收回指定用户的权限;CASCADE 表示收回指定用户及其授予的其他用户的该权限。参考答案(52)D (53)B(57) 概念结构设计阶段完成的文档是_。AE-R 图 B DFD 图 C关系模式 D数据字典试题(57)分析本题考查对数据库设计的掌握。数据库设计一般分为需求分析、概念设计、逻辑设计和物理设计几个阶段。需求分析阶段完成数据流图(DFD 图)和数据字典,用于描述企业的各项业务流程和使用的数据;概念设计阶段用 E-R 图或 UML 图描述企业应用中的实体及其联系;逻辑设计是指设计关系模式及相关视图;物理设计是指设计数据的物理组织,如
48、索引等。参考答案(57)A答案 C AD C在数据库系统中, (30)用于对数据库中全部数据的逻辑结构和特征进行描述。其中外模式、模式和内模式分别描述(31)层次上的数据特性。30, A 外模式 B 模式 C 内模式 D 存储模式31, A 概念视图、用户视图和内部视图B 用户视图、内部视图和概念视图C 概念视图、内部视图和用户视图D 用户视图、概念视图和内部视图48.约束“主码中的属性不能取空值” ,属于(48) 。A 实体完整性约束 B 参照完整性约束 C 用户定义完整性约束 D 函数依赖答案:A60. 给定关系模式 R,U=A,B,C,D,F=AB,BCD,则关系 R 的候选键为(60 ) 。对关系 R 分解为 R1(A ,B, C)和 R2(A, C,D),则该分解(61) .(60) A . (AB) B. (AC) C. (BC) D. (BD)答案 :B(61) A 有无损连接性,保持函数依赖B 不具有无损连接性,保持函数依赖C