database - 函数依赖的最小覆盖

标签 database

我是一名计算机科学专业的学生,​​正在学习数据库模块,现在正在教授规范化和功能依赖。然后我遇到了这个我无法弄清楚的问题。如果您有任何想法,请提供帮助。

问:函数依赖集合F存在关系R(A,B,C,D)。

F = {{A}→{B}, {B}→{C}, {C}→{A}, {C}→{A,B}, {C,A,D}→{A ,D}, {C}→{B} }

求 F 的最小覆盖。

正确答案:{{A}→{B}、{A}→{C}、{C}→{A}、{B}→{A}}

我的程序:

第一步:{C}→{A,B}可以变为{C}→{A}和{C}→{B}因此{C}→{A,B}被移除

第二步:{C,A,D}→{A,D}可以变成{C,A,D}→{A}和{C,A,D}→{D},但是因为{C} →{A}, {C, A, D}→{A}被移除,{C, A, D}→{D}变为{C, D}→{D}

两步让我的答案变成{{A}→{B}, {B}→{C}, {C}→{A},{C}→{B}, {C, D}→{D }},但我无法找到正确的答案,有人知道如何继续吗?谢谢

最佳答案

我认为正确答案是,嗯,不正确。

Correct Ans: {{A}→{B}, {A}→{C}, {C}→{A},{B}→{A}}

因为{B}→{A},和{A}→{C},你能不能把这两个FD换成{B} →{C}?

你也可以从 {C, D}→{D} 中删除属性 C,对吧?

关于database - 函数依赖的最小覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5609284/

相关文章:

php - mySQL查询只获取显示

mysql - mysql中主键的选择和自动增量的意外行为

java - myBatis 中如何映射一对多关系?

java - Sqlite - 降级

sql - 与数据库无关的应用程序的数据库设计

database - Oracle 在 Windows 或 Linux 上工作得更好?根据你的经验给出你的答案

SQL Server 在填充了值的列上加入

PHPMyAdmin上传错误 'file that is too large'

mysql - 如何在 mySQL 中选择没有 Null 的最后一列

sql - 选择列不在 itemList 中的项目