一、范式总结
第一步,先求候选码,由此得到:主属性、非主属性。
二、判断部分函数依赖的技巧
【回顾】:部分函数依赖
(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:
六、无损连接、保持函数依赖的真题
6-1、无损连接的定义
若:R关系,分解为:R1,R2,R3关系
将 R1,R2,R3关系自然连接,去掉重复属性,看是否 = 原来的属性U。
【注意】:
R1,R2,R3中要有重复属性列,否则,自然连接为空集!!!
6-2、保持函数依赖的定义
6-3、真题
真题1:
真题2:D
真题3: