软考54-上午题-【数据库】-关系模式的范式-真题

一、范式总结

第一步,先求候选码,由此得到:主属性、非主属性。

二、判断部分函数依赖的技巧

【回顾】:部分函数依赖

(X,Y)——>Z;

X——>Z 或者 Y——>Z

题型:给出函数依赖集和属性,判断该关系模式属于第几范式。

(一般题目中给出的属性都是原子的,不可再分的。)

示例:

求出候选码

若是候选码为属性的组合,则可能有部分函数依赖;(存在部分函数依赖,1NF

若是候选码是单个属性,一定没有部分函数依赖。

三、判断传递函数依赖的技巧 

【回顾】传递函数依赖

示例:

存在传递函数依赖,所以是第二范式。

候选码,一定是伪传递率中的 X!

四、范式-真题 

真题1:

没有部分函数依赖,没有传递函数依赖 = 3NF

真题2:

真题3:

真题4:

真题5:

有伪传递函数依赖。

真题6:

五、关系分解的真题 

真题1:(了解即可)

【回顾】部分函数依赖的规范化:(此时分解后,可能存在传递函数依赖

若(X,Y)——> Z;X——>A,X——>B,X——>C,Y——>D,Y——>E

1、将所有依赖于X的所有非主属性,加上X,一起移出来。X、A、B、C(原表保留X,为了将原本的函数依赖保持住)

2、将所有依赖于Y的所有非主属性,加上Y,一起移出来。Y、D、E(原表保留Y,为了将原本的函数依赖保持住)

3、(X,Y)——> Z:X、Y、Z;(为了将原本的函数依赖保持住)

【回顾】传递函数依赖,规范化:

若:X——>Y,Y——>Z1,Y——>Z2;(X,Y,Z1,Z2)

将Y和Y决定的属性都移出原表,原表要保留Y

(X,Y)、(Y,Z1,Z2)

真题2:

真题3:

六、无损连接、保持函数依赖

关系模式的分解:

把一个关系模式分解成若干个关系模式的过程。

为什么需要分解关系模式?

因为原来的关系模式可能造成数据冗余或给数据库带来潜在的不一致性。

只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义。

1)分解后形成的行的关系模式中是否为无损连接 

2)是否保持函数依赖

6-1、无损连接的定义

若:R关系,分解为:R1,R2,R3关系

将 R1,R2,R3关系自然连接,去掉重复属性,看是否 = 原来的属性U。

【注意】:

R1,R2,R3中要有重复属性列,否则,自然连接为空集!!!

6-2、保持函数依赖的定义

示例2:有属性集,ABCDEF;存在这样的函数依赖集{A->BC , CD->E , B->D , BE->F , EF->A},然后有这样的分解{ABC , BD , BEF}。

设U1=ABC,(A->BC),

U2=BD,(B->D) ,

U3=BEF,(BE->F),

即我们不能推出 CD->E ,EF->A,所以也不具有保持函数依赖的特性。

6-3、真题

真题1:

真题2:D

真题3:

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值