2012-12-15 55 views
0

我正在审查一组函数依赖关系的最小覆盖条件。功能依赖关系集的最小覆盖范围

Here,提到右侧只能有单一属性。所以{A1A2 → B1B2}是不可能的。它应该被拆分为{A1A2 → B1, A1A2 → B2}

但通过科思DBMS,以下条件是有

Each left side of a functional dependency in Fc is unique. That is, there are no 
two dependencies A1 → B1 and A2 → B2 in Fc such that A1 = A2. 

所以,根据这个{A1A2 → B1, A1A2 → B2}是不可能的。依赖关系应该合并为{A1A2 → B1B2}以避免重复。

请说明哪一个是正确的。

回答

0

这在我看来似乎是符号上的差异,仅此而已。这两套FD是相同的。

  • {A1A2→B1}
  • {A1A2→B2}

  • {A1A2→B1B2}

大部分自动化工具我已经使用表达的最小盖正如你在第一组中看到的那样。你的文字似乎更喜欢第二套。

这两个不同的表达式对可还原性或覆盖或封闭没有影响,这是计算最小覆盖率时的真正问题。你可能争辩说,第一个版本,右边不超过一个非素数属性,是更好的,因为它更接近6NF的分解。

但是你应该使用你的文本和你的教授需要的版本,牢记这是一个错误的要求。这是错误的,从第二个版本到第一个版本的标记不会影响您是否确实找到了最小覆盖范围,并且对您计算最小覆盖范围需要做的工作没有实质影响。

+0

那就对了。这取决于要求。但我只是想知道根据定义我可以在Minimal Cover中考虑哪些示例。规范封面和最小封面是不同的? – Shashwat

+0

*规范封面*和*最小封面*在我读过的所有作者中意味着同样的事情。它们都是暗示所有相关FD的最小FD集合。 (您可以从最小覆盖范围中推导出所有相关的FD)。我不明白这个问题,“根据定义,我可以在Minimal Cover中考虑哪些示例?” –