首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与lhs的依赖关系相违背的第二个范式是复合的(素和非素数合在一起)。

与lhs的依赖关系相违背的第二个范式是复合的(素和非素数合在一起)。
EN

Stack Overflow用户
提问于 2017-06-08 08:26:22
回答 1查看 652关注 0票数 1

我当时正在学习函数依赖和规范化,我遇到了一个问题。原来的问题如下:

给定关系R= {v,w,x,y,z}和函数依赖集{v->w,y->z,yz->v,wx->z}查找BCNF组合,检查依赖保留是否成立。

首先,我试图找到最低限度的掩护,并提出如下:

最小覆盖:

V -> w

Y -> z

Y -> v

wx -> z

然后我试图找到候选密钥,只想出一个候选密钥:

候选密钥:

xy

然后我开始检查正常的表格:

第一范式:检查

第二范式:

我认为以下依赖关系违反了第二范式:

1) y -> z

2) y -> v.

3) wx -> z

前两个问题很容易解决。然而,我从未见过第三个例子,即左手边是质数属性和非素数属性的组合。我们如何解决这种情况?我们是否为第三次制作w和x主键建立了一个新的关系?

如果我解决了这一部分,我猜第三和BC范式将是容易的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-08 12:01:24

一个人是否认为FD (功能依赖)是“违反2NF”取决于一个人对2NF的定义。2NF的一个常见定义是,在非素属性部分依赖于CK (候选键)的情况下,不存在FDs。那么,违反FDs是指非素数属性部分依赖于CK吗?还是非素数属性在功能上依赖于CK的适当子集,其中前面的FDs是部分的?还是两者都有?和/或其他人?不然呢?事实上,违反NFs的不是单个FDs,而是所有FDs的集合。如果您想谈论个别的FDs违规行为,那么您需要给2NF下一个定义&然后根据该定义如何讨论这些FDs,给出并证明违反FD的定义是正确的。

下面使用了上面的2NF定义&讨论了该定义显式不允许的“坏”FDs,其中一个非素属性部分地依赖于CK。

那三个FDs还不错。当右手侧由其左手侧的适当/较小的子集在功能上确定时,FD就是partial。这三个FDs中没有一个是CK (候选键)的部分依赖项。它们中没有一个是部分的,因为没有一个是由左手(行列式)的子集决定的右手边。他们中没有一个是在CK上,因为他们都没有一个CK作为左手。

根据2NF的定义,前两个词可能会“违反2NF”,因为没有左边是CK的适当子集&右侧是一个非素数属性。这个定义明确禁止那些FDs。因此,我们没有2NF。

然而,FDs >z& xy->v是部分的,因为xy的适当/较小的子集决定了z& v,并且它们是坏的: xy是CK,Z&v是非素数属性,因此都有一个非素数属性部分依赖于CK。因此,我们没有2NF。

wx->z还不错。而且,根据2NF定义,没有任何FDs具有CK的适当子集&右侧是一个非素数属性,这并不“违反2NF”。

“左手边是否是质数属性和非素数属性的组合”并不重要。重要的是你的定义中提到了什么。(碰巧你永远不会看到这样一个坏的或“违反”FD的“例子”。因为这两种方法都需要只有CK属性的左侧。)

阅读部分FD和2NF的一些学术定义。(许多教科书/讲演/课程在网上免费。)准确地记忆和应用定义、定理和算法。你似乎不明白很多事情:

  • 在BCNF中意味着处于所有较低的NFs。进入BCNF并不需要经过较低的NFs。
  • 您已经看到的分解示例不是分解算法的表示。
  • 我们不会通过连续的NFs来正常化。我们对我们想要的NF使用了一种算法。(通过更低的NFs甚至意味着更好的更高-NF设计变得不可用。)
  • 当某些FDs成立时,阿姆斯特朗公理所暗示的所有内容也都成立。
  • 要确定CKs & NFs,只知道某些FDs持有是不够的,我们需要知道FDs持有什么和FDs不持有什么。你需要知道FDs的关闭或掩护。
  • 每一次分解,我们都会得到新的关系&一组新的FDs & CKs。
  • 在组件中保存的FDs都是其属性在组件中的原始FDs。(那些是封闭的,而不仅仅是封面。)
  • 当右手侧由其左手侧的适当/较小的子集在功能上确定时,FD是部分的。
  • 一个普通的2NF定义明确不允许CKs上的非素数属性的部分FDs。
  • “违反FD”不是一个有用的术语,指的是定义中提到的东西。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44430434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档