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

📅  最后修改于: 2021-06-28 21:31:46             🧑  作者: 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均为TRUE。
(C) S1为FALSE,S2为TRUE。
(D) S1和S2均为FALSE。答案: (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. 如果{没有非平凡的功能依赖性},则默认为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-> E没有包含在最小覆盖范围内,因为给定覆盖范围中的{AB} + = ABC {AB-> C,D-> E,E-> C}

因此,S2为假。

该解释由Manish Rai提供。

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

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