这个作业属于哪个课程 | 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={学号,班号,班长}
函数依赖有︰学号→〉班号;班号→班长
可以推出:学号一>班长,“班长"是传递依赖于“学号”的。
传递依赖存在着非受控冗余。