2

我正在学习或尝试了解 DBMS,并且在理解如何为此计算规范覆盖时遇到各种问题:

A -> BCD
BC -> DE
B -> D
D -> A

我只能找到 1 个示例来说明如何计算其中之一,它并不能帮助我理解如何处理 BC 和 B 依赖项。这就是我想出的,这肯定是错误的,但是任何有助于我理解的分解都会比实际答案更有价值。

A -> BCD
BC -> DE
D -> A
4

4 回答 4

2

这是查看两个 FD 的一种方法

  • BC -> DE,和
  • B -> D

从 BC->DE,导出 BC->D 和 BC->E(分解)。

BC->D
BC->E
B->D

观察到 BC->D 的 LHS 是可约的,因为 B->D。这将顶部的两个 FD 减少到

BC->E
B->D
于 2012-11-15T22:20:47.423 回答
1

这个 BC->D 是可约的,因为在 BC->D 中,左 C 是一个无关属性。我们可以通过使用无关属性的公式来检查这一点。

于 2013-09-03T18:35:42.090 回答
0

我认为正确的答案是:

a->bc
bc->e
b->d
d->a

看看你是否可以删除一个关系,假设我们正在考虑关系 R1=a->b 计算 F+(a) 而不考虑 R1 关系本身。如果你仍然可以以某种方式到达 b ( b 在 F+(a) 中)那么你可以删除 R1

于 2014-05-26T12:32:59.333 回答
0

鉴于:

F = { 
  A -> BCD, 
  BC -> DE, 
  B -> D, 
  D -> A 
} 

D是 , 中的一个无关属性A -> BCD, 因为A+ = ABCDE并且D属于A+

因此 :

Fc = { 
  A -> BC, 
  BC -> DE, 
  B -> D, 
  D -> A
} 

NowC是 , 中的一个无关属性BC -> DE,因为B+ = ABCDEDE属于B+

因此:

Fc = { 
  A -> BC, 
  B -> DE, 
  B -> D, 
  D -> A
} 

NowD是 , 中的一个无关属性B -> DE,因为B+ = ABCDED属于B+

因此:

Fc = { 
  A -> BC, 
  B -> E, 
  B -> D, 
  D -> A
} 

使用联合规则,我们得到:

Fc = { 
  A -> BC, 
  B -> DE, 
  D -> A
} 

现在没有更多无关的属性了。因此,这是 的最终规范封面F

于 2017-08-26T04:37:29.773 回答