【问题标题】:BCNF of a Relation with no FDs [closed]没有 FD 的关系的 BCNF [关闭]
【发布时间】:2019-07-14 01:08:15
【问题描述】:

一个我似乎在网上找不到答案的简单问题: 没有非平凡函数依赖的关系是否被认为是 BCNF 形式,如果不是,我该如何分解它?提前谢谢!

【问题讨论】:

  • How to Ask,点击谷歌搜索'stackexchange homework'和投票箭头鼠标悬停文本。从教科书中引用 BCNF 的定义,并在您遇到困难的第一个地方询问您的案例是否满足该定义。 PS您的问题“如果没有,我该如何分解它?”是“我如何分解与 BCNF 的关系”的一个案例,这是未经研究的,太宽泛了,而且(尽管如此)是重复的。现在你只是要求我们用定制的教程重写一本教科书,而你没有表现出任何研究或其他努力。 PS“在线”不是关系模型信息的良好来源。读一本教科书。
  • 恐怕你只是误解了我的问题。它一点也不宽泛,我也没有要求任何人重写教科书和/或创建教程。 PS请在提交前校对您的帖子:)
  • 我没有误解你的问题。我评论过于宽泛的部分是如何分解它,我解释了为什么它过于宽泛。你问题的第一部分也太宽泛了。我说要找到一个定义并展示你应用它的工作。要求我们这样做太宽泛了。这些问题中的任何一个都使得结束您的问题过于宽泛是合理的。此外,您应该在每个帖子中问一个问题。问 2 也会使您的帖子过于宽泛。
  • 询问仅在 BCNF 中与琐碎 FD 的关系是否过于宽泛?严重地?正如我在下面发布的答案所示,知道答案的人可以用一个相对较短的句子清楚地回答这个问题。
  • 您的 cmets 并不反映对我在此处或在 help center 提供的其他协议的参考资料的理解。并不是所有的问题都是关于主题的。例如,你使用了一个词,但你没有费心去找出它的意思。

标签: database-design bcnf database-theory


【解决方案1】:

经过进一步研究,我终于偶然发现了 BCNF 的这个定义:

关系模式 R 被认为是 Boyce-Codd 范式 (BCNF),如果对于它的每个依赖项 X → Y,以下条件之一成立:

  • X → Y 是一个微不足道的函数依赖(即 Y 是 X 的子集)
  • X 是模式 R 的超级键

所以回答我自己的问题,根据定义,每个仅具有微不足道的函数依赖关系的关系都在 BCNF 中。

也许它可以帮助有类似问题的人。

【讨论】:

  • 关于分解。仅满足琐碎依赖关系的关系必须仅包含单个键且根本不包含非主要属性。这种关系不能被无损分解,因为根据定义,密钥是不可约的。你心里有例子吗?
  • 我相信你是对的,这样的关系必须由一个(可能是复合的)键组成,并且没有其他属性。例如,不确定它对您有多大帮助,但我提出的问题与以下问题有关:鉴于以下关系 R(A, B, C, D, E) 与 FD' s AB —> C , DE —> C 和 B —> D 确定 R 是否在 BCNF 中,如果不是则将其分解为更小的关系。我最终得到了一个与属性 A、B、E 的关系,它只有微不足道的依赖关系,并且不确定该关系是否在 BCNF 中。
  • @nvogel 问题询问如果它不在 BCNF 中是否可以分解,但从您的评论来看,您似乎认为它是在询​​问是否在 BCNF 中分解它。嗯......我猜你只是在探索基于给定 FD 的分解,它独立于 BCNF 的概念。 PS 一个模式,其 FD 都是微不足道的,可能仍然可以无损地分解每个持有与 FD 无关的 JD。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 2014-11-24
  • 2017-02-17
  • 2013-03-08
  • 2011-10-30
  • 2018-03-20
相关资源
最近更新 更多