5.2 函数依赖

1. 函数依赖的定义

定义1:

设有关系模式R(U),X和Y是属性集U的子集,函数依赖(Functional Dependency, FD )是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X] = s[X]蕴含t[Y] = s[Y], 那么FD X→Y在关系模式R(U)中成立。

t[X]表示元组t在属性集X上的值。

X→Y读作X函数决定Y,或Y函数依赖X

定义2:

设F是在关系模式R(U)上成立的函数依赖集,X和Y是属性集U的子集。如果从F推导出X→Y也在R(U)上成立,那么称F逻辑蕴含X→Y,记为F |= X→Y。

定义3:

设F是函数依赖集,被F逻辑蕴含的函数依赖全体构成的集合,称为函数依赖集F的闭包(Closure),记为F­­­+。即F+ = {X→Y | F |= X→Y}

定义4:

对于FD X→Y,如果Y⊆X,那么称X→Y是一个平凡的FD,否则称为非平凡的FD

定义5:

设关系模式R的属性集是U,X是U的一个子集。如果X→U在R上成立,那么称X是R的一个超键。如果X→U在R上成立,但对于X的任一真子集X1都有X1→U不成立,那么称X是R上的一个候选键。

定义6:

设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用X+表示,它是从F集使用FD推理规则推出的所有满足X→A的属性A的集合:

X+ = {属性A | X→A在F+中}

定义7:

设F是属性集U上的FD集。如果Fmin是F的一个最小依赖集,那么Fmin应满足下列四个条件:

1).Fmin+ = F+

2).每个FD的右边都是单属性

3).Fmin中没有冗余的FD

4).每个FD的左边没有冗余的属性

每个函数依赖集至少存在一个最小依赖集,但不一定唯一

3种函数依赖定义:

2.Armstrong公理:

A1(自反性): 若Y⊆X⊆U,则X→Y在R上成立

A2(增广性): 若X→Y在R上成立,且Z⊆U,则XZ→YZ在R上成立

A3(传递性): 若X→Y和Y→Z在R上成立,则X→Z在R上成立。

以下推理规则可由上面三条规则导出。

A4(合并性): {X→Y,X→Z} |= X→YZ

A5(分解性): { X→Y,Z⊆Y} |= X→Z

A6(伪传递性): {X→Y,WY→Z} |= WX→Z

A7(复合性): {X→Y,W→Z} |= XW→YZ

A8(通用一致性定理): {X→Y,W→Z} |= X∪(W - Y)→YZ

证明过程如此>>>>>>icon-default.png?t=M3K6https://blog.csdn.net/weixin_52047251/article/details/124477553

3.定理

定理1:

FD推理规则A1,A2,A3是正确的。也就是,如果X→Y是从F用推理规则导出,那么X→Y在F+中。

定理2:

如果A1A2A3…An是关系模式R的属性集,那么X→A1A2A3…An成立的充分必要条件是

X→Ai (i = 1, 2, …, n)成立。

定理3:

X→Y能用FD推理规则推出的充分必要条件是Y⊆X+。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值