【发布时间】:2020-11-17 22:13:04
【问题描述】:
我正在阅读《帆船》第 7 章的幻灯片:https://www.db-book.com/db7/slides-dir/PDF-dir/ch7.pdf,我很难理解作者所说的意思
如果所有函数都满足,则函数依赖是微不足道的 关系的实例。
措辞与Wiki的措辞大不相同,很容易理解。
如果 Y 是 X 的子集,则函数依赖 FD:X → Y 称为平凡。
我尝试查看一个可行的示例,但“关系的所有实例都满足”条件真的让我感到困惑。
以下是大学课程中的一个关系: http://web.cs.ucla.edu/classes/fall04/cs143/solutions/ch7.pdf
| A | B | C |
|----|----|----|
| a1 | b1 | c1 |
| a1 | b1 | c2 |
| a2 | b1 | c1 |
| a2 | b1 | c3 |
在练习 7.4 的解决方案中,它是这样写的
非平凡的函数依赖是:A → B 和 C → B ...
对我来说,关系的实例都是表中的元组,每个元组都满足上面引用的所有函数依赖。我不明白为什么,使用帆船书的定义,这些函数依赖不是微不足道的。
感谢您阅读我的问题。
7.4 列出图 7.21 的关系满足的所有函数依赖。
答案:非平凡的函数依赖是:A → B 和 C → B, 练习 85 以及它们在逻辑上暗示的依赖关系:AC → B。有 19 个形式为 α → β 的平凡函数依赖关系,其中 β ⊆ α。 C 没有功能 确定 A 因为第一个和第三个元组具有相同的 C 但不同的 A 价值观。相同的元组也表明 B 在功能上不能确定 A。同样,A 在功能上不能确定 C,因为前两个元组具有 相同的 A 值和不同的 C 值。相同的元组也显示 B 不 功能确定 C.
【问题讨论】:
-
请在您的帖子中以文字形式提出您提出问题所需的所有内容。使您的帖子自成一体。 “关系的实例都是表中的元组”没有意义。关系变量的实例是关系值,它不是元组值。
-
@philipxy 除了我对 relvar 的错误解释(根据 Wiki 不是标准术语)之外,我的帖子还缺少什么?我已经包含了相关的定义、示例和来源。即使 PDF 被删除,问题仍然可以回答。
-
请改写我评论中的引用,这没有意义。重新完整,你没有给出所有练习 7.4 或其解决方案,所以不清楚你在说什么。
-
@philipxy 1. 作为 MathJax 在 Math.SE 上线性规划问题的倡导者和 this meta.SE answer 的作者,我肯定知道 SE 网络上允许哪些类型的图片。包含屏幕截图是一个说明性目的,它依赖于您要求的练习 7.4 的解决方案。没有屏幕截图也没关系,因为我已经在问题上下文中输入了表格。 2. 在帆船书上,写着“关系”。我在书中找不到包含“关系变量”一词的地方。
-
您评论中的引用使用“表/关系的实例”来表示“特定时间/状态下表/关系变量的特定值/状态”。有时关系值是一组元组/记录;有时是一个袋子;有时这样的集合/包加上本质上是模式或其属性的标题;等取决于演示文稿。最好坚持你的教科书定义和术语使用。可悲的是,这个问答显示仍然很草率。 (记录和使用设计的语言和工具手册不是教科书。)(维基文章或网络帖子也不是。)(或幻灯片。)
标签: database relational-database database-schema functional-dependencies