0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# 数据库之函数依赖

一个属性集决定另一个属性集时,称另一属性集依赖于该属性集。设R (U)是属性集U上的关系模式,X、Y是U的子集。若对R (U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y

函数依赖有以下五种类型:

1、完全函数依赖

设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。

实例:(学号,课程号)→ 成绩。

2、部分函数依赖

设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。

实例:假设不存在重名的情况,(学号,姓名)→ 性别,学号 →性别,所以“(学号,姓名)→ 性别”是部分函数依赖。

3、传递函数依赖

设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),且Y→Z,则称Z传递函数依赖于X。

实例:关系S(学号,系名,系主任),学号 → 系名,系名 →系主任,并且系名无法确定学号,所以“学号 → 系主任”为传递函数依赖。

4、平凡函数依赖

当关系中属性集合Y是属性集合X的子集时(Y⊆X),存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。

实例:在关系SC(Sno, Cno, Grade)中,(Sno,Cno)→ Sno,(Sno,Cno)→ Cno。

5、非平凡函数依赖

当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。

实例:在关系SC(Sno, Cno, Grade)中, (Sno,Cno)→ Grade。

举报

相关推荐

0 条评论