【问题标题】:A confusion about 2nd normal form for relation (R,N,S,C,X,P)关于关系的第二范式(R,N,S,C,X,P)的混淆
【发布时间】:2017-07-19 10:50:34
【问题描述】:

在 GATE 试卷中,我有一个问题要解决,我希望您能帮助解决它。

我有关系

E=(R,N,S,C,X,P)

我有一些 FD

P->C,X
S->P
C->P
X->P

根据答案,关系是 2NF,但我没有得到。据我说,它的主键是 NSR 并且 S->P 不支持 2NF 条件。你能帮我解决这个问题吗?

【问题讨论】:

  • 是的,该函数依赖关系不在 2NF 中,你是对的。
  • 我已经编辑了我的答案以解释 S->P 违反了 2NF 的某个定义。但是你用的是哪一个?正如我之前所说,除非您清楚地说明推理和参考,否则我们无法“帮助”您;然后我们可以指出你的正确和错误的信念和推理。谢谢@Renzo。

标签: database database-normalization functional-dependencies


【解决方案1】:

没有一个 FD(函数依赖)决定 R、N 或 S,所以它们必须是素数,即在每个 CK(候选键)中。它们确定所有其他属性,因此 RNS 是 CK。任何其他 CK 都必须包含 RNS 但不包含较小的超级密钥,因此没有其他 CK。遵循 CK 的算法会机械地给出它们。

此关系不在 2NF 中。对于 Codd 的定义,“违反”或“矛盾”2NF 的 FD 是 RNS->P,因为它是 CK 上非主属性的a partial dependency。当显示 RNS->P 是部分依赖时,您可以使用 S->P,但 S->P 并不违反 2NF。 (且 S->P 不偏。)对于this definition,S->P 违规。

(说 FD 违反 NF 实际上是一种草率的语言。实际上是所有 FD 的组合都违反了它。说 FD 违反 NF 是说 FD 违反了特定的特定要求的缩写定义,其中定义和要求被理解但没有说出来。)

【讨论】:

    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 2017-05-27
    • 2018-09-19
    • 1970-01-01
    • 2018-08-18
    • 2011-04-11
    • 2014-03-27
    • 1970-01-01
    相关资源
    最近更新 更多