关系数据库规范化理论——范式练习及答案讲解

1. 设关系模式R(A,B,C,D)和R上的函数依赖集F={AB→D,D→C},R的候选码为AB。

试求下列问题:

(1)关系R属于第几范式?

(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。

要求:写出达到每一级范式的分解过程。

(1) 由于存在非主属性C传递函数依赖于候选码AB,因此关系R属于2NF。

(2) 分解为R1(A,B,D)和R2(C,D)。

消除传递函数依赖。

2.现有关系模式:R(A,B,C,D,E,F),其中AB为码,存在函数依赖B→C,A→D,D→E,D→F。

试求下列问题:

(1)关系R属于第几范式?

(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。

要求:写出达到每一级范式的分解过程。

(1) 由于存在非主属性C、D部分函数依赖于候选码AB,因此关系R属于1NF。

(2) R分解为R1(A,D,E,F)和R2(B,C)。

R1满足2NF(0.5分),R2满足BCNF

R1需要继续分解:R3(A,D)和R4(D,E,F)。R3、R3都满足BCNF。

3.现有如下关系模式: R(A#,B#,C,D,E) 其中:A#B#组合为码 R上存在的函数依赖有
A#B#→E,B#→C,C→D

 (1) .该关系模式满足2NF吗?为什么?

  (2).如果将关系模式R分解为:

    R1(A#,B#,E)

    R2(B#,C,D) 指出关系模式R2的码,并说明该关系模式最高满足第几范式?(在1NF~BCNF之内)。

   (3).将关系模式R分解到BCNF。

(1)B#→C,存在非主属性C对码A#B#的部分依赖,所以R不满足2NF

(2)R2满足2NF,但不满足3NF,因为B#→C,C→D,存在D对B#的传递依赖

(3)R1满足BCNF,R2分解:R4(B#,C), R5(C,D)

4.设有关系R和函数依赖F:
R(X,Y,Z),F = { Y→Z,XZ→Y}。
试求下列问题:

(1)关系R属于第几范式?

(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。

要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。

(1)R满足3NF,但是不满足BCNF,因为候选关键字为XY和XZ,不存在非主属性,但是存在着主属性Z对码XY的部分依赖(因为 Y→Z )。

(2)分解:

R1(X,Z),   XZ为码

R2(Y,Z),F={ Y→Z}

消除了部分函数依赖。

5.设有关系R和函数依赖F:

R(A,B,C,D,E),F = { ABC→DE,BC→D,D→E }。

试求下列问题:

(1)关系R的侯选码是什么?R属于第几范式?并说明理由。

(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。

要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。

  1. R的候选码为ABC

R属于1NF,因为非主属性D对ABC存在非完全函数依赖

  1. 对R进行分解

R1(ABC)满足BCNF范式,

R2(BCDE)满足2NF 消除了非完全函数依赖

对R2进行分解 R21(BCD) R22(DE) 消除了传递函数依赖且R21和R22都满足BCNF范式

6. 设有关系R和函数依赖F:

R(W,X,Y,Z),F = { X→Z,WX→Y }。

试求下列问题:
(1)关系R属于第几范式?

(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。

要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。

  1. 属于1NF,因为非主属性Z对WX存在非完全函数依赖
  2. R可以分解为R1(W,X,Y)属于BCNF范式

R2(X,Z)消除部分函数依赖

  • 16
    点赞
  • 137
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值