最小密钥和候选密钥之间的区别?
Differences between minimal key and candidate key?
我有这个 R(A,B,C,D,E),它有 FD:A->B,CD->E,E->A,B->D
对于这个问题,我需要找到 R 的最小密钥。我想我已经将其计算为 CA、CB、CD 或 CE(所有可选)。
这个问题的第二部分:R(A,B,C,D) with FD's : A->B, B->C, C->D, D->A 对于这部分我需要列出所有候选键,但我似乎无法找到与我在 3 列中的第一种方法不同的方法。 (除非三列方法对最小键不起作用?
谢谢
一般来说,一个(candidate)key是一组属性,决定了关系的所有属性,称为“最小集合”(具有这个属性的属性),从某种意义上说,您不能在不丢失作为键的 属性 的情况下从中删除任何属性。这与 superkey 形成对比,后者确定关系的所有属性,但可以具有比那些绝对必要的属性更多的属性。所以,没有“最小键”的正式定义:如果你有一组属性,那么它可以是一个(候选)键,或者一个超级键,或者一个非键。
在第一个示例中,您已经正确识别了密钥,它们是 CA、CB、CD 或 CE。在第二个示例中,所有属性都是键(即 A、B、C 和 D)。在这两个示例中,可用于查找密钥的方法没有区别。
我有这个 R(A,B,C,D,E),它有 FD:A->B,CD->E,E->A,B->D 对于这个问题,我需要找到 R 的最小密钥。我想我已经将其计算为 CA、CB、CD 或 CE(所有可选)。
这个问题的第二部分:R(A,B,C,D) with FD's : A->B, B->C, C->D, D->A 对于这部分我需要列出所有候选键,但我似乎无法找到与我在 3 列中的第一种方法不同的方法。 (除非三列方法对最小键不起作用?
谢谢
一般来说,一个(candidate)key是一组属性,决定了关系的所有属性,称为“最小集合”(具有这个属性的属性),从某种意义上说,您不能在不丢失作为键的 属性 的情况下从中删除任何属性。这与 superkey 形成对比,后者确定关系的所有属性,但可以具有比那些绝对必要的属性更多的属性。所以,没有“最小键”的正式定义:如果你有一组属性,那么它可以是一个(候选)键,或者一个超级键,或者一个非键。
在第一个示例中,您已经正确识别了密钥,它们是 CA、CB、CD 或 CE。在第二个示例中,所有属性都是键(即 A、B、C 和 D)。在这两个示例中,可用于查找密钥的方法没有区别。