【发布时间】:2018-11-25 04:14:58
【问题描述】:
我正在研究一个规范化问题,并且对给定关系是否为 2NF 形式感到困惑。关系为 R(A,B,C,D,E,F,G),FD 的集合为:
{ A->B, B->AC, F->ACDE, ADE->FG }.
我找到的候选键是 {F, ADE, BDE, ACDE}。但是,如果允许 ACDE 成为候选键,我有点困惑,因为据我了解,为了使属性出现在键中,它必须出现在 LHS 上或同时出现在功能依赖的 LHS 和 RHS 上。如果 ACDE 是合法键,那么它是否违反 2NF,因为 ADE 是 ACDE 的一个子集,并且仍然可以生成非主属性 G?
【问题讨论】:
-
那么CK的定义是什么呢?是满足还是不满足?谈论 CK 违反 NF 是没有意义的。根据某些特定定义,某些 FDs 违反了 NF。 CK“生成”属性是什么意思?您没有正确使用术语。请使用足够的单词和句子以及对部分示例的引用来清楚地表达您的意思。 PS 请参阅我对另一个最近的问题的评论,即“FD 的集合”不清楚。 PS为什么要持有这种“理解”? PS“出现在 FD 的 LHS 或 LHS 和 RHS 上”与“出现在 FD 的 LHS 上”的含义相同。
标签: database relational-database database-normalization functional-dependencies