关系模式分解与范式分析:以R(U,F)为例
给定关系模式R(U,F) - 候选码、范式分析与分解
关系模式R(U,F)
其中:
- 属性集U={ a1, a2, a3, a4, a5, a6, a7 }
- 函数依赖集F={ a5→ (a1,a2),a3→ (a4,a6),a7→a3 }
问题:
- 确定R的候选码
- R属于第几范式?为什么?
- 如何分解R以满足BC范式?
- 创建视图还原R内容
解答:
-
候选码:{a5, a7}
-
**范式:**R属于第三范式(3NF),因为它已经消除了传递依赖,即每个非主属性都只依赖于候选码的一部分,而不是依赖于其他非主属性。
-
分解至满足BC范式:
-
根据函数依赖集,将R分解为多个关系模式,每个关系模式只包含一个函数依赖关系:
- R1(a5, a1, a2)
- R2(a3, a4, a6)
- R3(a7, a3)
-
检查每个新关系模式是否满足BC范式,不满足则继续分解:
- R1和R3满足BC范式
- R2不满足BC范式,因为a3不是R2的候选码,所以继续分解R2
-
将R2分解为:
- R4(a3, a4)
- R5(a3, a6)
-
此时所有关系模式都满足BC范式。
- 创建视图:
CREATE VIEW R_VIEW AS
SELECT a1, a2, a3, a4, a5, a6, a7
FROM R;
原文地址: https://www.cveoy.top/t/topic/oHWJ 著作权归作者所有。请勿转载和采集!