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

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

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

函数依赖的定义

对于具有多个属性的关系模式 R,如果对于属性集合中的两个子集 A 和 B 和任意的关系 r,r 中不可能出现两个记录使得 A 中的值相等而 B 中的值不等,则称 A 函数决定 B,B 函数依赖于 A,记作 A→B。

另一种说法是,如果将 A 和 B 单独拿出来做一个关系,这个关系中 A 可以作为主键。

性质:
有些函数依赖关系中 B⊆A,这种称为是 平凡 的函数依赖,反之为不平凡的函数依赖。

即使两个属性之间存在函数依赖关系,即 A→B,这不意味着 A 和 B 不能在关系的多条记录中出现。

两个属性子集可能相互函数依赖。

如果关系中,A 上没有相同的两个记录出现,那么任意属性子集都函数依赖于 A。

有基于 模式 的函数依赖,要求对所有可能的关系都成立;也有基于 关系 的函数依赖,只要求对这一个关系成立即可。

函数依赖的类型

部分函数依赖与完全函数依赖

如果 A→B,但是存在 A 的真子集 A’ 使得 A′→B,则称 B 部分函数依赖 于 A。如果不存在这样的子集,此时为 完全函数依赖

传递函数依赖

函数依赖关系具有传递性:A→B,B→C⇒A→C。

如果加上一些更强的限制:A→B 和 B→C 都是非平凡的,且 C⊈A,
B
A,则称 C 传递函数依赖 于 A。

函数依赖相关的几个重要概念

候选键:能够 完全决定 关系模式中所有属性的属性组称为关系模式上的 候选键。

主键:对于一个关系模式,可以选取其任意一个候选键作为 主键。

主属性:包含于任意一个候选键中的属性称为 主属性,否则为 非主属性。

超键:超键和候选键类似,但是移除了完全决定的限制。超键是某个候选键对应属性集的超集。

外键:某个属性组不是当前关系模式的候选键,但是是另一个关系模式的候选键,称为当前关系模式的 外键。

其它的一些概念:

逻辑蕴涵:设 F 是关系模式 R 上函数依赖关系的集合(不一定是完整的)。对于 R 的两个属性组 A 和 B,如果从 F 中能够推理出 A→B,则称 F 逻辑蕴涵 A→B,记作 F⊨A→B。

闭包:设 F 是关系模式 R 上函数依赖关系的集合(不一定是完整的)。F 逻辑蕴涵的所有函数依赖关系构成的集合称为 F 的闭包。

关于函数依赖的 Armstrong 公理

Armstrong 公理

Armstrong 公理一共有三条,可以用来从函数依赖关系集合中发现新的函数依赖关系。

这一小节使用 X、Y、Z 作为属性组;U 作为属性全集;F 作为某个函数依赖关系的集合。

Armstrong 公理对应的引理

从上述公理出发可以引出下面四条定理(为了方便就不写 ∈F 以及 F⊨ 了):

最小覆盖及其构造

对于一个函数依赖集 F,如果和它等价的函数依赖集 F’ 满足下面三个条件,则称为是 F 的最小覆盖(也叫 最小依赖集):

如何确定

posted @ 2023-11-19 23:14  xyFaN  阅读(154)  评论(0)    收藏  举报