- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我不明白 Boyce-Codd 范式。我看了我的教科书,但我不明白。假设关系 R = (A,B,C,D,E) 和 F={A->C, D->CB, AC->E}。你如何确定 R 是否在 BCNF 中?需要帮忙。谢谢!
最佳答案
为了确定一个关系是否是 BCNF,我们检查它的函数依赖。
在 BCNF 中,如果对于每个 FD X→Y,我们要么有
FD为A→C,D→CB,AC→E。让我们从第一个 FD A→C 开始。
A→C 不是平凡的,因为 C ∉ A。例如,A→A 是平凡的依赖。
现在 A→C 是 super 键吗?为了检查我们是否计算了 FD 左侧的闭包,在本例中为 A。闭包是 A 逻辑上隐含的所有元素。[A]+ = A ∪ C ∪ E = ACE 左右我们有 A→ACE。
ACE 不是 super 键,因为它确实包含关系的所有属性。
所以这个关系不在 BCNF 中,因为 A→C 既不是平凡的也不是超键。
还有其他违反 BCNF 的行为。[D]+ = BCD 不是 super key 或普通 key 。[AC]+ = ACE 不是 super key 或普通 key 。
希望对您有所帮助!我认为一切都是正确的,但我现在正在为期末考试学习,并试图学习很多这些 Material 。
关于database - Boyce-Codd范式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20430295/
Codd's Algorithm将元组关系演算中的表达式转换为关系代数。我想知道: 是否有算法的标准实现? 这个算法是否在任何地方使用? (因为,行业只需要 SQL 和变体,我不确定学术界的数据库理论
这个分解示例是在类里面给出的,但是解决方案令人困惑,因为它似乎没有解决一些 FD。请确认以下3)在BCNF中,还是不能放入BCNF? Let R be a relation schema, with
有人可以向我解释为什么邮政编码不应该放在 Boyce Codd 范式中吗?除了邮政编码在任何可预见的时间点都不可能改变之外,还有什么其他的吗? 最佳答案 如果您打算根据邮政编码查找其他信息(例如区域设
在关系型数据库设计中,例如有schema S(banker, bname, customer)和function dependencies (FDs) 银行家->名字customer,bname->银
什么是 KISS(Keep it Simple, Stupid)方法来记住 Boyce-Codd 范式是什么以及如何采用非规范化表和 BCNF? Wikipedia的信息:对我帮助不大。 最佳答案 C
最近我在看 Codd's 12 Rules ,我理解除了第 12 条“非颠覆”规则之外的所有内容。如果有人可以向我解释规则(最好使用示例),那将非常有帮助。 谢谢。 最佳答案 Rule 12: The
R = (J,K,L,M,N)具有一组函数依赖项 {J->KL,LM->N,K->M,N->J} . 我理解BCNF的定义。我相信不存在微不足道的功能依赖,也可能没有 super 键。我不确定第二部分
在 this video 的 9:34演讲者说所有 3 个函数依赖都是 Boyce Codd 范式。我不相信,因为显然 GPA 无法确定学生表中的 SSN、sName、address 和所有其他属性。
我是一名优秀的程序员,十分优秀!