函数依赖的 F+(F 的闭包)和 F*(F 的覆盖)有什么区别?
What is the difference between F+ (closure of F) and F* (cover of F) for Functional Dependencies?
F+和F*定义如下:
F+: 关闭F
- F+ = {fd | F |= fd}
- 从推理规则推导出的所有 FD 的集合(通常:阿姆斯特朗公理)
F*: F的封面
- F* = {fd | F |- fd}
- F 包含的所有 FD 的集合(所有为真的 FD)
所以我的问题是:F+ 和 F* 有什么区别?能不能也举个例子说明一下区别。
阿姆斯特朗公理(以及类似的公理集)的一个重要 属性,它们是可靠和完整的(证明参见例如 this)。
这相当于 F+ = F*。换句话说,从这些公理导出的所有 FD 都在逻辑上被 F 蕴涵,以及所有在逻辑上被 F 蕴涵的 FD 依赖项都可以通过重复应用公理来导出。
F+和F*定义如下:
F+: 关闭F
- F+ = {fd | F |= fd}
- 从推理规则推导出的所有 FD 的集合(通常:阿姆斯特朗公理)
F*: F的封面
- F* = {fd | F |- fd}
- F 包含的所有 FD 的集合(所有为真的 FD)
所以我的问题是:F+ 和 F* 有什么区别?能不能也举个例子说明一下区别。
阿姆斯特朗公理(以及类似的公理集)的一个重要 属性,它们是可靠和完整的(证明参见例如 this)。
这相当于 F+ = F*。换句话说,从这些公理导出的所有 FD 都在逻辑上被 F 蕴涵,以及所有在逻辑上被 F 蕴涵的 FD 依赖项都可以通过重复应用公理来导出。