数据库系统概论试题及答案 版 下载本文

11、关系模式的分解 B 。

A.惟一 B.不惟一

12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式? B 。

部门(部门号,部门名,部门成员,部门总经理) A.部门总经理 二、填空题

1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为 外部键 。 2、对于非规范化的模式,经过 使属性域变为简单域 转变为1NF,

将1NF经过 消除非主属性对主关键字的部分依赖 转变为2NF, 将2NF经过 消除非主属性对主关键字的传递依赖 转变为3NF。

3、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和 无损连接性 。 三、概念解释:

平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y,

如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖 非平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y, 若X→Y,但Y ? X, 则称X→Y是平凡的函数依赖

B.部门成员

C.部门名

D.部门号

四、综合练习 1、已知学生关系模式

S(Sno,Sname,SD,Sdname,Course,Grade)

其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。 (1)写出关系模式S的基本函数依赖和主码。

(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么? (3)将关系模式分解成3NF,并说明为什么? (1)写出关系模式S的基本函数依赖和主码。

答: 关系模式S的基本函数依赖如下:

Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade 关系模式S的码为:(Sno,Course)。

(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?

答: 原关系模式S属于1NF。码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下: S1(Sno,Sname,SD,Sdname) S2(Sno,Course,Grade)

(3)将关系模式分解成3NF,并说明为什么?

答: 将上述关系模式分解成3NF如下:

关系模式S1中存在Sno→SD,SD→Sdname,

即非主属性Sdname传递依赖于Sno,所以S1不是3NF。 进一步分解如下:

S11(Sno,Sname,SD) S12(SD,Sdname)

分解后的关系模式S11、S12满足3NF。

对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。

所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。 S11(Sno,Sname,SD) S12(SD,Sdname)

S2(Sno,Course,Grade)

2、设有如下关系R

(1)它为第几范式? 为什么?

(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? (1)它为第几范式? 为什么?

解: 它是2NF。 因为R的候选关键字为“课程名”。

依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

解: 分解为高一级范式如图所示。

R1如下: R2如下:

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。

3、设某商业集团数据库中有一关系模式R如下:

R (商店编号,商品编号,数量,部门编号,负责人) 如果规定:

(1) 每个商店的每种商品只在一个部门销售; (2) 每个商店的每个部门只有一个负责人; (3) 每个商店的每种商品只有一个库存数量。 试回答下列问题:

(1) 根据上述规定,写出关系模式R的基本函数依赖; 答: 关系模式S的基本函数依赖如下:

(商店编号,商品编号)→部门编号, (商店编号,部门编号)→负责人, (商店编号,商品编号)→数量 (2) 找出关系模式R的候选码;

答: 关系模式R的码为:(商店编号,商品编号, 部门编号)。 (3) 试问关系模式R最高已经达到第几范式?为什么?

答: 原关系模式R是属于1NF的,码为(商店编号,商品编号, 部门编号),非主属性对码的函数依赖全为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下: R1(商店编号,商品编号, 部门编号, 数量) R2(商店编号,部门编号, 负责人)

(4) 如果R不属于3NF,请将R分解成3NF模式集。 答:将R分解为

R1(商店编号,商品编号, 部门编号, 数量) R2(商店编号,部门编号, 负责人)

分解后的R不存在传递的函数依赖,所以分解后的R已经是第3NF

第九章 关系查询处理和查询优化

课后作业:P275,2题: 答案: ∏Cname Join = Student δ=’IS’ 结Project(Cna∏Cname δ= Select =’IS’ δ= × Join= × δJoin = × δJoin = course course SC × Student SC δ=’IS’ SC Student course