问题标签 [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 回答
462 浏览

dependencies - 如何将关系分解为 BCNF?

假设我们有一个关系

病人决定医生,医院决定医生,医生决定医院。我们如何将其分解为 BCNF?

{医生,病人}, {病人,医院} 或

{医生, 医院 }, {病人,医院} 或

{医生, 医院 }, {医生 , 病人}

根据我对关系的理解,它必须是 3NF,如果 X → Y 在 R 中成立,则关系中的每个依赖项必须满足以下条件之一:X → Y 在功能上是平凡的依赖 X 是 R 的超键。

那么 { Doctor , Hospital}, { Doctor, Patient } 会是正确的选择吗?

0 投票
1 回答
113 浏览

database - BCNF (3.5NF) 分解问题

我有一个关系:

我试图将其分解为 BCNF,这是我的功能依赖项:

虽然 C 是主键的明确选择,但它是一个大约一个段落长的字段,所以我选择 A、E、G 作为复合键,因为放置查询会太混乱。

我很感激在这个网站以及网络上的其他来源上有很多类似的问题,但我似乎无法在我自己的问题中复制他们的解决方案。

谢谢你的时间,

0 投票
1 回答
4103 浏览

entity-relationship - 从 ER 图中创建功能依赖关系并识别范式

我是一名 ICS 学生,我收到了两个问题。

1.) 列出数据库的所有功能依赖项。

2.) 对于关系模式中的每个关系,写下关系是 BCNF 还是 3NF,如果不是,则给出违规 FD。

我只是在理解功能依赖关系和 ER 图之间的关系时遇到问题。我在网上看了一些视频,但我仍然不知道如何回答上述两个问题,希望能在找到正确方向方面提供一些帮助。

下面是一个 ER 图,我希望有人可以举一些例子来说明如何从这里开始。

在此处输入图像描述

0 投票
1 回答
690 浏览

schema - 规范化和分解为 BCNF

我已经获得了关系和功能依赖

在此处输入图像描述

我希望证明它的形式是正确的,然后将其转换为 BCNF。

现在我建议它在 3NF 中,因为第二个 FD 是一个传递依赖,其关键属性是它的 RHS。第二个 FD 也违反了 BCNF,因为 C 不是 R 的超级键。

但是 - 我不确定如何分解为 BCNF。

如果我分解成;

在此处输入图像描述

这会使第一个 FD 无效,并有效地使 (A,C) 成为新密钥 - 所以它看起来不正确!这种关系可以转换为 BCNF 吗?

0 投票
1 回答
189 浏览

database - BCNF 分解和密钥

我一直在寻求将以下关系从其当前状态分解为具有三个功能依赖关系的 BCNF。

在此处输入图像描述

采取格言

钥匙,整个钥匙,只有钥匙

我得出的结论是 B-->C 传递函数依赖意味着它在 2NF 中,应该分解以将其删除为

在此处输入图像描述

我认为这也应该在 BCNF 中。但是,我的问题是,A,B --> C FD 是否打破了这一点-因为它似乎与上述格言的'nothing but key'方面不匹配?(并且A,B的'B'部分-> FD不是键属性,而是'B'是键的补充)

0 投票
1 回答
73 浏览

database - 查找配方成分的功能依赖关系和 BCNF 分解

在给定关系模式的情况下,我在查找所有正确的 FD 时遇到了一些问题。特别是,考虑以下数据库,该数据库存储有关用户提交的食谱和成分的信息:

RecipeIngredient 中的keys userID、recipeCode 是外键引用Recipe,componentCode 是外键引用成分。每个用户都有一个电子邮件和用户名。如果食谱或成分是素食主义者,那么它们也是素食主义者。

我必须确定上述数据库是否设计良好(在 BCNF 中的意思),如果不是,则将其重组为 BCNF。

我怎样才能找到所有的FD?

0 投票
1 回答
887 浏览

database - 关于 3NF 和 BCNF,下列哪项是正确的?

假设我有一个表 A 只包含 1 个候选键

那么什么是真的?

如果它在 3NF 中,那么它是否也在 BCNF 中?

0 投票
1 回答
12410 浏览

database - 如何确定 BCNF

我已经在 SO 上阅读了一堆涉及 BCNF 的其他线程,但是对于如何编写一个函数来确定一个关系是否在 BCNF 中给定关系及其功能依赖项列表,我仍然有点困惑。

所以很明显,如果 FD 的所有输入和输出的并集不等于关系,那么它不在 BCNF 中,但这显然也是我需要检查的全部内容。

那我需要检查什么来确定它是否是BCNF?

0 投票
1 回答
1900 浏览

database - 如何将表分解为 3NF 和 BCNF

我以这种方式找到了关系-CUSTOMER (NAME, STREET, CITY, STATE, ZIP)

对以下每种方式使用缩写,

并给出F = {N->RCT, RCT->Z, Z->CT}

问题分解为3NFBCNF

我将其分解为3NF,在这里我考虑了实用的方法,

这是对的吗?

还是我必须只考虑给定的分解功能依赖项。如果我这样想并分解为3NF,那么答案将是

请有人告诉我正确的方法。

0 投票
1 回答
3231 浏览

database - BCNF、3NF 和候选键

我在理解如何确定关系是否在 BCNF、3NF 中以及一般识别关系的候选键时遇到问题。

考虑R = (A, B, C, D)与功能依赖的关系:

问题包括:

一个。列出 R
b 的候选键。确定 R 是在 BCNF 还是 3NF 中。

解决方案解决

一个。R 的 3 个候选键是 AB、BC 和 BD。
湾。R 属于 3NF,但不属于 BCNF。

我已通读3NF 和 BCNF 有什么区别?并且在引用数据库模式中的非任意词时可以理解 3NF 和 BCNF 之间的区别。正如问题中给出的那样,在尝试确定具有简化关系的关系时,我最终迷失了方向。

有人可以解释上面是如何确定候选键的,为什么 R 在 3NF 中而不是 BCNF 中?