计算一组属性的关闭时,如何处理合并的实体类型



我正在修改即将到来的考试,我很难理解有关属性关闭的示例问题。这是问题:

AB→C
BE→I
E→C
CI→D
Find the closure of the set of attributes BE, explaining each step.

当给定的步骤是单个实体类型时,使用阿姆斯特朗公理,但我不明白如何回答'be',

我找到了许多解释。

首先,您使两个截然不同的东西,属性和实体类型混淆。简而言之,实体类型用于描述在数据库架构中建模的现实世界实体。属性描述了有关此类实体的事实。例如,实体类型的人可以作为属性,出生日期等属性

因此,问题是如何计算一组属性的关闭。您可以应用Armstrong的公理,尝试每个步骤应用其中一个,直到可能,但是您还可以使用以下非常简单的算法来简化计算(如果您Google Google Google"算法"算法闭合SET属性"您会找到一个"它的大量描述(:

We want to find X+, the closure of the set of attributes X.
To find it, first assign X to X+.
Then repeat the following while X+ changes:
    If there is a functional dependency W → V such as W ⊆ X+ and V ⊈ X+,
       unite V to X+.

在您的情况下,给定:

AB → C
BE → I
E → C
CI → D

要计算be 我们可以以这种方式进行操作:

1. BE+ = BE
2. BE+ = BEI (because of BE → I)
3. BE+ = BEIC (because of E → C)
4. BE+ = BEICD (because of CI → D)

不能使用其他依赖性来修改be ,因此算法终止,结果为bcdei。就阿姆斯特朗的公理而言,步骤1是由于反射性造成的,而步骤2至4是由于传递性和增强性的组合。

最新更新