问题标签 [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.
dependencies - 如何将关系分解为 BCNF?
假设我们有一个关系:
病人决定医生,医院决定医生,医生决定医院。我们如何将其分解为 BCNF?
{医生,病人}, {病人,医院} 或
{医生, 医院 }, {病人,医院} 或
{医生, 医院 }, {医生 , 病人}
根据我对关系的理解,它必须是 3NF,如果 X → Y 在 R 中成立,则关系中的每个依赖项必须满足以下条件之一:X → Y 在功能上是平凡的依赖 X 是 R 的超键。
那么 { Doctor , Hospital}, { Doctor, Patient } 会是正确的选择吗?
database - BCNF (3.5NF) 分解问题
我有一个关系:
我试图将其分解为 BCNF,这是我的功能依赖项:
虽然 C 是主键的明确选择,但它是一个大约一个段落长的字段,所以我选择 A、E、G 作为复合键,因为放置查询会太混乱。
我很感激在这个网站以及网络上的其他来源上有很多类似的问题,但我似乎无法在我自己的问题中复制他们的解决方案。
谢谢你的时间,
database - 查找配方成分的功能依赖关系和 BCNF 分解
在给定关系模式的情况下,我在查找所有正确的 FD 时遇到了一些问题。特别是,考虑以下数据库,该数据库存储有关用户提交的食谱和成分的信息:
RecipeIngredient 中的keys userID、recipeCode 是外键引用Recipe,componentCode 是外键引用成分。每个用户都有一个电子邮件和用户名。如果食谱或成分是素食主义者,那么它们也是素食主义者。
我必须确定上述数据库是否设计良好(在 BCNF 中的意思),如果不是,则将其重组为 BCNF。
我怎样才能找到所有的FD?
database - 关于 3NF 和 BCNF,下列哪项是正确的?
假设我有一个表 A 只包含 1 个候选键
那么什么是真的?
如果它在 3NF 中,那么它是否也在 BCNF 中?
database - 如何确定 BCNF
我已经在 SO 上阅读了一堆涉及 BCNF 的其他线程,但是对于如何编写一个函数来确定一个关系是否在 BCNF 中给定关系及其功能依赖项列表,我仍然有点困惑。
所以很明显,如果 FD 的所有输入和输出的并集不等于关系,那么它不在 BCNF 中,但这显然也是我需要检查的全部内容。
那我需要检查什么来确定它是否是BCNF?
database - 如何将表分解为 3NF 和 BCNF
我以这种方式找到了关系-CUSTOMER (NAME, STREET, CITY, STATE, ZIP)
对以下每种方式使用缩写,
并给出F = {N->RCT, RCT->Z, Z->CT}
问题分解为3NF
和BCNF
。
我将其分解为3NF
,在这里我考虑了实用的方法,
这是对的吗?
还是我必须只考虑给定的分解功能依赖项。如果我这样想并分解为3NF
,那么答案将是
请有人告诉我正确的方法。
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 中?