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

使用Armstrong公理推导非平凡函数依赖AD→E、CD→E求助

函数依赖问题解答

一、概念疑问解答

1. 推导AD→E、CD→E的含义

原始函数依赖集F中的依赖确实都是非平凡的,但AD→E、CD→E并不属于F的原始依赖集合。题目要求的是仅使用Armstrong公理体系的规则,从F的已知依赖出发,一步步严谨推导出这两个新的依赖,不能直接通过计算属性闭包等方式直接给出结果,每一步推导都必须对应明确的公理规则。

2. 非平凡依赖的定义

对于函数依赖X→Y,如果Y不包含于X,就称该依赖为非平凡函数依赖。反之如果Y是X的子集,就是平凡函数依赖,平凡依赖是恒成立的,不携带额外的约束信息,所以题目要求推导的是有实际业务约束意义的非平凡依赖。

二、推导步骤

首先明确Armstrong公理的基础规则和常用导出规则(导出规则可由基础规则推导得到,推导过程中可直接使用):

  • 自反律:若Y⊆X,则X→Y
  • 增广律:若X→Y,则对任意属性集Z,都有XZ→YZ
  • 传递律:若X→Y且Y→Z,则X→Z
  • 分解规则(导出):若X→YZ,则X→Y且X→Z

推导AD→E

  1. 从F中取已知依赖A→BC,应用分解规则得到A→B
  2. 对A→B应用增广律,两边同时增加属性D,得到AD→BD
  3. 从F中取已知依赖BD→E
  4. 对AD→BD和BD→E应用传递律,得到AD→E
    验证:E不属于AD的属性集合,因此该依赖为非平凡依赖,推导有效。

推导CD→E

  1. 从F中取已知依赖CD→AB,应用分解规则得到CD→B
  2. 对CD→B应用增广律,两边同时增加属性D,得到CD→BD(左边CD∪D=CD,右边B∪D=BD)
  3. 从F中取已知依赖BD→E
  4. 对CD→BD和BD→E应用传递律,得到CD→E
    验证:E不属于CD的属性集合,因此该依赖为非平凡依赖,推导有效。

内容的提问来源于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 19:06:01