9.2 函数依赖(Functional Dependency)

 9.2.1 基本概念

定义:

如果有一个关系模式R(A1,A2,...,An),X和Y为{A1,A2,...,An} 的子集,r为R的任一具体关系,t1、t2是r中的任意两个元组。如果由t1[X]=t2[ ]可以推导出t1[Y]=t2[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。

例:

对学生关系模式Student(Sno,Sname,Sdept,Sage)有以下函数依赖关系:

Sno→Sname, Sno→Sdept,Sno→Sage 

对学生选课关系模式SC(Sno,Cno,Grade)有以下函数依赖关系:

(Sno,Cno)→Grade

9.2.2 一些术语和符号

9.2.3 函数依赖的推理规则

1.Arnstrong 公理
(1)自反律(reflexivity)。
若Y⊆ X⊆ U,则X在R上成立。即一组属性函数决定它的所有子集例如,对关系模式SC(Sno,Sname,Cno,Credit,Grade),有:(Sno,Cno)→Cno和(Sno,Cno)一Sno^{+}

(2)增广律(augmentation)。
若X→Y在R上成立,且Z包含于U,则XZ→YZ在R上也成立。

(3)传递律(transitivity)。
若X→Y和Y→Z在R上成立,则X→Z在R上也成立。

2. Armstrong公理推论
(1)合并规则(union rule)。
若X→Y和X→Z在R上成立,则X→YZ在R上也成立。
例如,对关系模式 Student(Sno,Sname,Sdept,Sage),有Sno→(Sname,Sdept),Sno→ Sage,则有Sno→(Sname,Sdept,Sage)成立。
(2)分解规则(decomposition rule)。
若X→Y和Z⊆ Y在R上成立,则X→Z在R上也成立。

从合并规则和分解规则可得到如下重要结如果A…A,是关系模式R的属性集,那么X→A,…A。成立的充分必要条件是X→A(i=1,2.…,n)成立。
(3)伪传递规则(pseudo-transitivity rule)。
若 X→Y和YW→Z在R上成立,则XW→Z在R上也成立。

(4)复合规则(composition rule)。
若X→Y和W→Z在R上成立,则 XW→YZ 在R上也成立。例如,对关系模式 SC(Sno,Sname,Cno,Credit,Grade),有: Sno→Sname和Cno→Credit成立则有:(Sno,Cno)→(Sname,Credit)

9.2.4 闭包及候选键求解方法

候选键的求解方法

对于给定的关系模式R(A1,A2,...,An)和函数依赖集F,将关系模式R的属性分为如下四类:

(1)L类:仅出现在函数依赖的左边的属性。

(2)R类:仅出现在函数依赖的右边的属性(非主属性)。

(3)N类:函数依赖左右边均不出现。

(4)LR类:函数依赖左右边均出现。

对R中的属性X,有以下结论:

(1)若X是L类属性,则X一定包含在关系模式R的任何一个候选键中;若X+包含了全部属性,则X为关系模式R的唯一候选键。

(2)若X是R类,则X不包含在关系模式R的任何一个候选键之中。

(3)若X是N类属性,则X一定包含在关系模式R的任何一个候选键之中。

(4)若X是LR类属性,则X可能包含在关系模式R的某个候选键之中。

判断候选键的步骤:

1.寻找L、N类的X属性;

2.判断(L,N)+是否等于U;

3.是,则为候选键,否则寻找LR类的X属性;

4.判断(L,N,LR)+是否等于U;

5.确定候选键。

9.2.5 极小函数依赖集




 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值