第9次作业-知识点整理:关于函数依赖定义、函数依赖类型

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

一.函数依赖定义

(1)函数依赖是指关系中属性间(或者说是表中字段间)的对应关系。
定义:设 R 为任一给定关系,如果对于 R 中属性 X 的每一个值,R 中的属性 Y 只有唯一值与之对应,则称 X 函数决定 Y 或称 Y 函数依赖于 X ,记作 X—>Y。其中,X 称为决定因素。

(2)设R(U)是属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体的值与之对应,则称X函数决定Y,或Y函数依赖于X,记作 X→Y,称X为决定因素,Y为依赖因素。y=f(x),即给定一个x值,y就确定了唯一的一个值,那么就说y函数依赖与x,或x函数决定y,可以写成X→Y,式子左边的变量称为决定因素,右边的变量称为依赖因素。

(3)函数依赖可以理解为属性之间的一种约束条件,它能够用于判断建立的关系表是否合理。

对于关系模式SCD
U={SNo, SN, Age, Dept, MN, CNo, Score}
F={SNo→SN, SNo→Age, SNo→Dept, (SNo, CNo)→Score}
一个SNo有多个Score的值与其对应,因此 Score不能唯一地确定,即Score不能函数依赖于SNo,所以有:SNo↛Score,同样有:SNo↛CNo。但是Score可以被(SNo, CNo)唯一地确定。
所以可表示为:(SNo,CNO)→Score。

二.函数依赖类型

1.完全函数依赖

定义:设R为任一给定关系,X、Y为其属性集,也就是X、Y为U的子集,若X→Y,且X中的任何真子集Z,都有Z→Y都不成立,则称Y完全函数依赖于X。

我们通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB.
比如(学号,课名)->成绩,而单独的学号或者课名都不能确定成绩,这就叫完全函数依赖。


2.部分函数依赖

定义:设R为任一给定关系,X、Y为其属性集,也就是X、Y为U的子集,若X→Y,且X中的任何真子集Z,都有Z→Y都成立,则称Y部分函数依赖于X。

通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。
比如(学号,课名)->姓名,其实只要学号就可以了,这样的依赖就叫部分函数依赖


3.传递函数依赖

定义:设R为任一给定关系,X、Y、Z 为其不同属性子集,也就是X、Y、Z为U的子集,若 X→Y,Y→X不成立,Y→Z,则有X→Z,称为Z传递函数依赖于X。

仅通过完全函数依赖和部分函数依赖的特性来区分函数依赖的特性是,传递函数依赖可能是一种完全函数依赖,也可能是一种部分函数依赖。

可以通过函数依赖传递过程中是否存在部分函数依赖来进行区分。若函数依赖的传递过程均发生在完全函数依赖上,则产生的传递函数依赖是一种完全函数依赖,否则为部分函数依赖。


posted on 2023-11-15 16:22  cheng112  阅读(97)  评论(0)    收藏  举报