问题标签 [bcnf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1576 浏览

normalization - 只有当表包含多个候选键时才能违反 BCNF?

我在一本书中读到:“只有当表包含多个候选键时,才能违反 BCNF。” 考虑以下示例: Sn Rollno Name Game 1 u11co098 Robert Basketball 2 u11ce034 Bob Cricket 3 u11co098 Robert Cricket 4 u11me049 Hogart Volleyball

从上表可以看出这 Sn是一个主键 FDs Rollno -> Name Sn -> Rollno, Name, Game 现在根据上表的陈述是 BCNF 形式,因为它只有一个主键或候选键。FD不Rollno -> Name违反BCNF吗?(因为Rollno不是候选键)

0 投票
1 回答
310 浏览

sql - BCNF分解的结果是固定的吗?

我尝试了一些 BCNF 分解练习,并注意到大型非 BCNF 关系的分解 BCNF 关系集并不固定。这取决于我用来分解的方法。

例如,R(A,B,C,D)可以分解为R1(A,B,C)R2(C,D)满足 BCNF,也可以分解为R1(B,C,D)R2(A,C)满足 BCNF。

是真的不固定,或者我可能在分解过程中犯了一些错误?

谢谢。

0 投票
1 回答
365 浏览

database-normalization - 这种关系在 3NF 和 BCNF 中一样吗?

假设一个关系模式R(A,B,C)和 FD 是

{A -> B, B -> C}

所以超级键是{A}, {A,B}

现在如果我们把它分解成3NF它将是

R1(A,B) 与 FD {A -> B} 和 R2(B,C) 与 FD {B -> C}

是在BCNF吗?我无法确定。既然B不是超级键in违反BCNFR{B -> C}R2

0 投票
2 回答
16582 浏览

database - 在 3NF 中找到关系,但在 BCNF 中找不到

我一直在阅读许多关于如何区分 3NF/BCNF 中的关系的不同资料。到目前为止,这是我的理解......

我将以这种关系为例...

R = {A, B, C, D, E}

F = {A -> B, B C - > E, E D -> A}.

首先,我们必须找到关系的键。我用这个视频来帮助我做到这一点。我得到了

Keys = {ACD, BCD, CDE}

现在要确保RBCNF中,我们必须确保每个函数依赖项的左侧F都是Keys. 我们立即知道情况并非如此,因为第一个 FD 是A -> B并且A不是键之一。所以它不在 BCNF 中。

现在要确保R3NF中,我们必须确保 in 中的每个功能依赖项的左侧F是其中一个,Keys 或者每个功能依赖项的右侧是其中F之一的子集Keys。如果您查看每个 FD 的右侧,它们BEA。这些都是 a 的子集Key,因此这意味着它在 3NF 中

所以这是关系存在3NF不在. BCNF这种方法正确吗?它可靠吗?我错过了什么吗?

0 投票
1 回答
149 浏览

database-normalization - 我过去的考试中奇怪的 BCNF 分解

我在将其分解为 BCNF 时遇到问题:

这是我过去的一次考试,我真的不知道如何解决它。

我是在 Coursera 上由编写我们课程文献的女士 (Jennifer Widom) 了解到的:

到目前为止,我在这里:显然,A 是关键,所以它的 FD 已经在 BCNF 中。问题是,我可以擦除任何多余的 FD 吗?如果是这样,拇指规则是什么?

而且不知道该去哪里。

0 投票
1 回答
616 浏览

sql - BCNF分解查询

我有一个关系R(A, B, C, D)与功能依赖ABC --> DD --> A

问题是,这是否有 BCNF,答案如下:

在此处输入图像描述

(c) ABCD不在 BCNF 中,因为D --> AD不是键。但是,如果我们将R拆分为ADBCD,我们将无法保留依赖关系ABC --> D。所以没有BCNF分解。

现在我的问题是,我知道如果将关系R拆分为R1(A,D)R2(BCD) ,则无法保留ABC->D ,但是如果将R2(BCD)更改为R2(ABCD)会怎样。那不就保存下来了吗?我们有什么理由不能这样做?

0 投票
1 回答
212 浏览

relational-algebra - 平凡FD和两个循环FD有什么区别

在 Ullman 和 Widom 的 Complete Book 中,我读到有两个属性(A 和 B),我们有四个 FD 案例。第二个和第三个是 A -> B 和 B -> A,所以它们更容易。但是我不明白琐碎的依赖«B是A的子集»和循环FD的A -> B和B -> A之间有什么区别。它们不一样吗?

0 投票
0 回答
351 浏览

database-normalization - 导致不同分解(忠实或不忠实)的 BCNF 分解?

这是 Raghu Ramakrishnan,Johannes Gehrke 的教科书数据库管理系统中的问题 19.10 (4)(以防有人好奇 - 当然不包括答案,这就是我需要问的原因)

我注意到有两种方法可以进行 BCNF 分解:

我们得到 R = ABCD 和函数依赖:A -> B, B -> C, C -> D

键:A 我们可以在开始时使用 B -> C 或 C -> D 将其分解为 BCNF

如果开始沿 B -> C 分解,则得到 R1 = AB ,R2 = BC ,R3 = BD (这不是忠实的)如果开始沿 C -> D 分解,则得到 R1 = AB,R2 = BC ,R3 = CD(这是忠实的)

我对进行 BCNF 分解很陌生,这是正确的吗?因此,根据您选择的起始 FD,可能有多个不同的 BCNF 分解?

提前致谢 :)

0 投票
1 回答
316 浏览

database - 博伊斯科德范式?

我想看看这些示例是否在 BCNF 中,以了解我是否正确执行这些操作。关系:

功能依赖:

BCNF 关系:

第二个例子

关系:

功能依赖:

BCNF 关系:

我在正确的轨道上吗?

0 投票
2 回答
213 浏览

database-normalization - 3nf范式中素数到素数传递性

我被困在这个问题上。这个问题的答案应该是什么:

关系方案 Student Performance (name, courseNo, rolINo,grade) 具有以下函数依赖关系:
name, courseNo, ->grade
rolINo, courseNo ->grade
name -> rolINo
rolINo -> name

这种关系方案的最高范式是

(a) 2 NF (b) 3 NF (c) BCNF (d) 4 NF