习题2:已知F={ A→D,B→D,BD→CA,CD→B },求 Fmin。
时间: 2024-06-05 09:13:26 浏览: 93
fmin2.s
首先,我们需要使用 Armstrong's Axioms 对 F 进行推导,以确定所有可能的函数依赖关系。
1. 反射律:如果 Y 是 X 的子集,则 X → Y。
2. 扩张律:如果 X → Y,则对于任意 Z,XZ → YZ。
3. 传递律:如果 X → Y,Y → Z,则 X → Z。
使用这些公理,我们可以得出以下依赖关系:
- A → D
- B → D
- BD → C
- BD → A
- CD → B
接下来,我们需要使用 F+ 算法来计算 F 的闭包,以确定哪些依赖关系是冗余的。
- A+ = A D
- B+ = B D
- C+ = C A B D
- D+ = D
因此,我们可以得出以下依赖关系:
- A → D
- B → D
- C → A B D
因为 BD → C 和 BD → A 都可以从 C → A B D 推导出来,所以它们都是冗余的。因此,Fmin 为:
- A → D
- B → D
- C → A B D
这就是 F 的最小函数依赖集合。
阅读全文