这个作业属于哪个课程 https://edu.cnblogs.com/campus/uzz/cs3/
这个作业要求在哪里 https://edu.cnblogs.com/campus/uzz/cs3/homework/13106
这个作业的目标 第9次作业-知识点整理:关于函数依赖定义、函数依赖类型

一、函数依赖

1. 定义︰设R(U)是属性集合U={A,A...A }上的一个关系模式,X,Y是U上的两个子集,若对R(U)的任意一个可能得关系r,r中不可能有两个元组满足在X中的属性值相等而在Y中的属性值不等,则称"X函数决定Y"或"Y函数依赖于X",记为X→Y。

简单来说,函数依赖就是两个属性(或属性组)之间取值的关系。X→Y,要求当X中属性相同时,Y中对应的属性值也相同,即Vt, s ∈ R(U),t[X]= s[X] →t[Y ]=s[Y ]。显然,若X中元组的属性值互不相同,X→Y一定成立。

示例:U={学号,姓名,班号,班长,课号,成绩}
函数依赖有︰
(1)学号→>{姓名,班号,班长}
(2)班号—→→{班长}
(3){学号,课号}一→〉成绩

设计关系模式时,除了要给出属性全集外,还需给出数据依赖集合。

2. 问题示例


上表存在的函数依赖有:A→B,B →→C


上表存在的函数依赖有:A→>C,D→B

3. 函数依赖的特性

对X →Y,但Y汇X,则称X→Y为非平凡的函数依赖.
若X→Y,则任意两个元组,若X上值相等,则Y上值必然相等,称X为决定因素.
若X→> Y , Y →X,则记作X ↔Y .
若Y不函数依赖于X,则记为X → Y .
如果某一关系r的某属性集X,r中根本没有X上相等的两个元组存在,则X→Y恒成立.

二、部分或完全函数依赖

1. 定义:在R(U)中,若X →Y并且对于X的任何真子集X′都有X’/Y,则称Y完全函数依赖于X,记为X —〉Y,否则称Y部分函数依赖于X,记为XP:Y。

示例:U={学号,姓名,年龄,课号,成绩}
函数依赖有:
1){学号,课号}>U(因为该属性集是候选键)
(2){学号,课号}>姓名(因为学号就可以确定姓名)
(3){学号,课号}—>成绩

部分依赖存在着非受控冗余。

三、传递函数依赖

1. 定义︰在R(U)中,若X →Y ,Y→Z且Y∉X,Z∉Y ,Z∉X,Y→X,则称Z传递函数依赖于X。

示例:U={学号,班号,班长}
函数依赖有︰学号→〉班号;班号→班长
可以推出:学号一>班长,“班长"是传递依赖于“学号”的。

传递依赖存在着非受控冗余。