大门|大门-CS-2014-(第1组)|问题40

鉴于以下两种说法:

null
  S1: Every table with two single-valued 
      attributes is in 1NF, 2NF, 3NF and BCNF.

  S2: AB->C, D->E, E->C is a minimal cover for 
      the set of functional dependencies 
      AB->C, D->E, AB->E, E->C. 

以下哪项是正确的?

(A) S1为真,S2为假。 (B) S1和S2都是真的。 (C) S1为假,S2为真。 (D) S1和S2都是假的。 答复: (A) 说明:

 
S1: Every table with two single-valued 
      attributes is in 1NF, 2NF, 3NF and BCNF.

关系模式R在 BCNF 如果在每个非平凡的函数依赖项X->Y中,X是超级键。如果我们能证明这个关系在BCNF中,那么默认情况下它也会在1NF,2NF,3NF中。

设R(AB)为两属性关系,则

  1. 如果{A->B}存在,那么BCNF因为{A}+=AB=R
  2. 如果{B->A}存在,那么BCNF因为{B}+=AB=R
  3. 如果{A->B,B->A}存在,那么BCNF因为A和B现在都是超级键。
  4. 如果{No non-private Functional Dependency},则默认为BCNF。

因此证明了具有两个单值属性的关系在BCNF中,因此它也在1NF,2NF,3NF中。

因此S1是正确的。

S2: AB->C, D->E, E->C is a minimal cover for 
      the set of functional dependencies 
      AB->C, D->E, AB->E, E->C.

正如我们所知,最小覆盖是在函数依赖集中消除冗余函数依赖和无关属性的过程。

所以F={AB->C,D->E,AB->E,E->C}的每个依赖项都应该隐含在最小覆盖中。

正如我们所看到的,由于{AB->C,D->E,E->C}

因此,S2是错误的。

这一解释是由 曼尼什·雷。

在这里了解有关标准形式的更多信息:

数据库规范化|简介 数据库规范化|范式 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享