gpt4 book ai didi

database - 对于任何关系,规范封面总是唯一的吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:49 30 4
gpt4 key购买 nike

假设我有如下关系

C -> B
CB -> AC
CAE -> FB
D -> E
CA -> B

我书中给出的规范封面是 C -> AB, CE -> F, D -> E

但是 Canonical cover 也可以是 C - AB, D - EF? 我们可以为一个关系设置两个不同的 canonical cover 吗?

最佳答案

But Canonical cover can also be C - AB, D - EF?

,它不能是您的功能依赖项 (FD) 集合的规范覆盖。 F 的规范覆盖是泛函的“最小”集依赖项等同于 F,没有冗余依赖项或依赖项的冗余部分。

您建议的规范封面不等同于 F。例如,函数依赖性 CAE->FB 未完全包含在您建议的规范覆盖中,因此它不是规范覆盖。

另一方面,您的书中给出的 C -> AB, CE -> F, D -> E 是规范封面,唯一 规范封面这组 FD 是可能的。

Can we have two different canonical cover for one relationship?

是的我们可以。为了找到规范的封面,我们这样做 -

  • 首先确保单例右侧(RHS)
  • 其次删除任何无关的左侧 (LHS) 属性
  • 第三删除任何多余的功能依赖

由于上面的第三步,我们可以对一种关系有不同的规范覆盖。我将用一个例子来解释这一点。

给定 FD 为:

X→YZ
Y→XZ
Z→XY

首先确保单例RHS。所以我们有:

  1. X→Y
  2. X→Z
  3. Y→X
  4. Y→Z
  5. Z→X
  6. Z→Y

第二 没有无关的 LHS。已经很满意了。

第三 删除任何多余的 FD。现在我们可以删除 (2)、(3) 和 (6) 作为冗余依赖项并将最小覆盖集设置为:

1:

X→Y,
Y→Z,
Z→X

或者我们可以删除 (1)、(4) 和 (5) 作为冗余依赖并将最小覆盖集设置为:

2:

Z→Y,
Y→X,
X→Z

因此,在这种情况下,我们有相同关系的两个规范覆盖。

关于database - 对于任何关系,规范封面总是唯一的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34332781/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com