You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Armstrong公理证明AG为给定关系模式的超键

证明AG为关系R的超键(基于Armstrong公理)

结论前置

可以推导出和G相关的有效结论,核心基于Armstrong公理的自反律,不需要依赖给定函数依赖集F中显式包含G的依赖项,具体推导过程如下:

1. 用到的Armstrong公理规则说明

  • 自反律:若属性集Y是属性集X的子集,则必然有X→Y成立,该规则为内置公理,不依赖给定的函数依赖集F
  • 增广律:若X→Y成立,Z为任意属性集,则XZ→YZ成立
  • 传递律:若X→Y、Y→Z成立,则X→Z成立

2. 计算AG的属性闭包(AG)+

超键的判定规则是:若属性集的闭包包含关系的全部属性,则该属性集为超键,因此我们计算(AG)+验证:

  1. 初始化闭包集合:根据自反律,AG→A、AG→G,因此初始闭包为 {A, G}
  2. 应用F中的A→BCD规则:结合增广律可得AG→BCD,将B、C、D加入闭包,此时闭包为 {A, B, C, D, G}
  3. 应用F中的BC→DE规则:当前闭包已包含B、C,因此可得AG→DE,将E加入闭包,此时闭包为 {A, B, C, D, E, G}

3. 超键判定

此时(AG)+已经覆盖关系R的全部6个属性,因此AG是R的超键。

G相关可推导结论补充

除上述证明用到的依赖外,基于给定F可推导的G相关结论仅包括:

  • 任意包含G的属性集X,都满足X→G(由自反律直接推导)
  • 不存在不包含G的属性集X,能推导出X→G:因为F中所有依赖的右部都不含G,闭包推导过程中永远不会将G加入不包含G的属性集的闭包中
  • G本身无法决定除自身外的任何其他属性:G的闭包(G)+ = {G}

内容的提问来源于stack exchange,提问作者Encipher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:15:04