我想知道如何找到无关的属性,虽然我读了很多我无法理解的文章。其中许多给出了无关属性的定义。我从 Abraham Silberschatz、Henry F. Korth、S. 的《数据库系统概念》一书中找到了 2 个示例。苏达山。
- FD F=(AB -> C , A -> C) 无关属性 = B
- FD F=(AB -> CD , A -> C ) 无关属性 = C
但是我也无法理解这两个,因为他们没有给出任何解释。谁能解释如何找到无关的属性?
我想知道如何找到无关的属性,虽然我读了很多我无法理解的文章。其中许多给出了无关属性的定义。我从 Abraham Silberschatz、Henry F. Korth、S. 的《数据库系统概念》一书中找到了 2 个示例。苏达山。
但是我也无法理解这两个,因为他们没有给出任何解释。谁能解释如何找到无关的属性?
1)已在其他答案中解释
2)A->C 这意味着 C 可以从 A 派生。
AB->CD 可以分解为 AB->C 和 AB->D。
但是这里我们不需要 AB 来推导出 C,因为它可以从 A 推导出来。因此是多余的
第一个:
如果A可以识别C,那么如果你制作一个新的密钥作为A和B的复合密钥,它都可以识别C,但是你可以在没有B的帮助下识别C,所以b是无关的属性。
第二:
根据阿姆斯特朗的分解规则
Ab->cd 将分解为 AB->C AND AB->D
,因此现在可以仅使用 AB 的键来识别 c 和 D,这使 C 成为 A->C 中的外部属性并将其删除。
如果A可以识别C,那么如果你创建一个新的键作为A和B的组合键,它都可以识别C,但是你也可以在没有B的帮助下识别C,所以b是无关属性。