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

发布时间 2023-11-14 22:47:31作者: James_Harden1
这个作业属于哪个课程 https://edu.cnblogs.com/campus/uzz/cs3
这个作业要求在哪里 https://edu.cnblogs.com/campus/uzz/cs3/homework/13106
这个作业的目标 1.知识点完整性2.排版布局美观程度3.计算机工具应用综合能力(绘图、数学公式)

一、函数依赖

1. 函数依赖

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

②白话:在一个关系 R 中,属性(组) Y 的值是由属性(组) X 的值所决定的 。又可以说,在关系 R 中,若两个元组的 X 属性值相同,那么这两个元组的 Y 属性值也相同。

③为什么叫做函数依赖? 函数的定义:对于定义域中任意 x ,有且只有一个 y 与之对应。 属性之间的依赖:对于相同的 X 属性值,有且只有一个 Y 属性值与之对应。

④本质:函数依赖的本质就是反应了 一个关系中属性之间的约束关系,或者依赖关系。函数依赖是一种数据依赖。

举例:

U={学号,姓名,年龄,专业 }
{学号}→{ 姓名,年龄,专业 }

其中,{属性A,属性B}→{属性C}

2. 完全函数依赖和部分函数依赖

①定义:在关系 R(U) 中,若 X→Y,且对于 X 的任何真子集 X1 都有 X1不指向 Y,则称 Y 完全函数依赖于 X,记为: 。否则称Y函数部分依赖于 X,记为

白话:完全函数依赖就是说 属性组 X 的所有属性一起(即完全)才能决定属性 Y,去掉任何一个属性都不行。相反的,部分函数依赖就是说 属性组 X 中的 部分属性就可以决定 Y ,用不着全部。

举例:

U = {学号,姓名,年龄,班号,班长,课号,成绩 }

其中,单个学号可以决定性别和年龄,单个学号就可以决定成绩。因此姓名,年龄和成绩对学号,课号是部分函数依赖。

3. 传递函数依赖

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

白话:如果 X 函数决定 Y,Y 函数决定Z,且 Y、Z 都不包含于 X,Z 不包含于 Y ,Y 不能决定 X,则称 Z 传递函数依赖于 X。 注意!:若
X→Y,Y→Z,可以得到X→Z,但 不能说 Z 传递函数依赖于 X。

举例:

学生( 学号,姓名,系号,系主任 )

二、思维导图