【问题标题】:Armstrongs Axioms Proof阿姆斯壮公理证明
【发布时间】:2012-11-30 17:27:31
【问题描述】:

我在使用 Armstrong 公理证明函数依赖性时遇到问题。这个我正在挣扎 和。令 R(A,B,C,D,E) 为关系模式,F = {A→CD, C→E, B→D} 1. 证明:F: BC-> DE

我有什么:

1 给定 B->D 1. 在 1 上增加 C,BC->DC

2。 分解2,BC->D BC->C

3。 BC->C, BC->E 上的传递性

4。 Union on BC ->D and and 4, BC->DE

不确定这是否是一个合适的解决方案。

也证明:AC-> BD 我不认为这可以被证明。 请帮忙!

【问题讨论】:

标签: database relational-database functional-dependencies


【解决方案1】:

除了一些明显的拼写错误之外,您的解决方案是正确的:

  1. 给定 B->D, C->E
  2. 1: BC -> DC 上的增强 C
  3. 在 2 上分解:BC -> C (3.1), BC -> D (3.2)
  4. 1, 3.1 的传递性:BC -> C, C -> E: BC -> E
  5. 3.2 和 4 上的联合:BC -> DE

或者:

  1. B->D, C->E
  2. augment(1.1, c): bc -> dc
  3. augment(1.2, d): cd -> ed
  4. trans(2, 3): bc -> de(注意:bc -> dc bc -> cd cb -> cd cb -> dc)

ac -> bd 通常无法证明:检查 armstrong 公理,您会注意到某些 X 出现在派生 fd 的右轴上,它必须出现在原始 fd 之一的右轴上,除了

  1. X 是原始 fd 的 lhs 上某个 X' 的子集

  2. fd 是通过 X 增广推导出来的

1.) 构成从未提及的约束。 如果 2.) 适用,X 也会出现在原始 fd 的 lhs 上。消除 X 的唯一方法是通过传递性,这要求 X 出现在原始 fd 之一的 rhs 上。

把 b 当作 X 看 ac -> bd 是不可证明的。

缩写

Shorthand Expansion
fd(s) Functional dependency(/-cies)
lhs Left-hand side (of an equation / a derivation )
rhs Right-hand side

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 2021-04-06
    • 1970-01-01
    相关资源
    最近更新 更多