列出功能依赖 - 包括传递还是多值?

时间:2016-05-06 08:26:29

标签: database functional-dependencies

我对数据库/ SQL很陌生并且有一个练习题“上面显示的功能依赖性是什么?”

根据我的理解,有4个依赖:简单的功能,全功能,传递和多值。

问题是期望列出所有四种类型还是只列出前两种?

如果只有前两个那么它们是否有特殊名称,或者它们是“依赖”,而列表中的前两个是功能依赖性吗?

非常感谢

2 个答案:

答案 0 :(得分:2)

我不能代表提问者,但我希望看到非平凡的功能依赖,并且很乐意看到列出的传递依赖,尽管它们可以从前者派生。列出琐碎的FD而不指示它们可能表明学生不理解差异。如果问题只提到FD,我不会指望列出MVD。

如果有疑问,请列出所有4种类型,确保指出每种类型的性质。

答案 1 :(得分:1)

有各种依赖关系。在规范化中起作用的最常见的是功能性,多值和连接。

对于这三种中的每一种,依赖都是微不足道的。

你被问到了FD。 FD,MVD和& JD是三个不同的东西。 (虽然FD具有相关的MVD,并且MVD具有相关的JD。)

依赖关系可以保持或不保持给定的表值。它也可以保持或不保持给定的表变量,这意味着它在给定业务规则的变量可能产生的每个值中保持或不保持(分别)。

当其确定的集合是其确定集合的子集时,FD是微不足道的。你可以使用关系的属性制作任何普通的FD。

保持关系的部分FD是丢弃任何确定属性的部分FD可以给出在该关系中保持的另一个FD。持有非偏离关系的FD已满。

传递性FD X - >保持关系的Z是在X - >的关系中存在属性Y的Z. Y和Y - > Z保持关系,但Y - >; X不成立。保持关系不具有传递性的FD是不可传递的。

持有的FD可以是零或更多的平凡,完整和/或传递独立。因此,当被要求列出所有FD时,按这些类型列出它们是没有意义的。

在你的任务中"显示"表示"显示持有"。在给定示例表值的情况下,您需要向教师询问您应该列出哪些FD。也许你应该只列出一些确定的子集,只有一些确定的子元出现在同一个确定的子集中才能显示。也许你应该列出所有持有的FD,只要明确的那些。也许它是其中一个案例,除非你不应该列出trivai案件。