跳过正文

数据库-函数依赖

·195 字· loading · loading ·
Masterlong
作者
Masterlong
熬夜,但是世界之夜
数据库系统 - 这篇文章属于一个选集。
§ 8: 本文

作业
#

𝐹 = {𝐴 → 𝐵𝐶, 𝐵 → 𝐴𝐶, 𝐶 → 𝐴𝐵}

要找到F的所有canonical cover,我们需要考虑从F中的每个函数依赖删除一个多余属性的所有可能方式:

  • 从A -> BC中删除B,得到A -> C。然后从B -> AC中删除C,得到B -> A。继续从C -> AB中删除A,得到C -> B。得到的函数依赖集是{A -> C, B -> A, C -> B}。

  • 从A -> BC中删除B,得到A -> C。然后从B -> AC中删除C,得到B -> A。继续从C -> AB中删除B,得到C -> A。得到的函数依赖集是{A -> C, B -> A, C -> A},不满足F的canonical cover条件。

  • 从A -> BC中删除B,得到A -> C。然后从B -> AC中删除A,得到B -> C。继续从C -> AB中删除A,得到C -> B。得到的函数依赖集是{A -> C, B -> C, C -> B},不满足F的canonical cover条件。

  • 从A -> BC中删除B,得到A -> C。然后从B -> AC中删除A,得到B -> C。继续从C -> AB中删除B,得到C -> A。得到的函数依赖集是{A -> C, B -> C, C -> A},不满足F的canonical cover条件。

  • 故有{A -> C, B -> C, C -> AB}

  • 从A -> BC中删除C,得到A -> B。然后从B -> AC中删除C,得到B -> A。已经不满足F的canonical cover条件。

  • 从A -> BC中删除C,得到A -> B。然后从B -> AC中删除A,得到B -> C。继续从C -> AB中删除A,得到C -> B。

得到的函数依赖集是{A -> B, B -> C, C -> B},不满足F的canonical cover条件。

  • 从A -> BC中删除C,得到A -> B。然后从B -> AC中删除A,得到B -> C。继续从C -> AB中删除B,得到C -> A。

得到的函数依赖集是{A -> B, B -> C, C -> A}。

所以,F可能的canonical cover是:

  • {A -> C, B -> A, C -> B}
  • {A -> C, B -> C, C -> AB}
  • {A -> B, B -> C, C -> A}
数据库系统 - 这篇文章属于一个选集。
§ 8: 本文

相关文章

数据库-事务作业
·149 字· loading · loading
数据库-实体关系模型
·29 字· loading · loading
数据库-5
·120 字· loading · loading