📜  门| GATE-CS-2014-(Set-1) |第 40 题

📅  最后修改于: 2021-09-25 05:16:50             🧑  作者: Mango

鉴于以下两个陈述:

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 都是假的。答案:(一)
解释:

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-trivial 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.

众所周知,Minimal Cover 是消除函数依赖集中冗余的函数依赖和无关属性的过程。

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

正如我们所看到的,AB->E 没有被最小覆盖覆盖,因为 {AB}+ = ABC 在给定的覆盖 {AB->C, D->E, E->C}

因此,S2 为假。

此解释由Manish Rai 提供。

在此处了解有关范式的更多信息:

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