数据库复习——关系数据理论中的几个重要概念(闭包,逻辑蕴含,覆盖...)
前言
关系数据理论中几个比较抽象的概念
正文
函数依赖
- 定义
设R(U)是属性集合U={A1,A2,…,An}上的一个关系模式,X, Y是U上的两个子集,若对R(U)的任意一个可能的关系r, r中不可能有两个元组满足在X中的属性值相等而在Y中的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”, 记作X→Y。 - 函数依赖的特性
(1)对X→Y,但Y∉X, 则称X→Y为非平凡的函数依赖;
(2)若X→Y,则任意两个元组,若X上值相等,则Y上值必然相等,则称X为决定因素;
(3)若X→Y ,Y→X, 则记作X↔Y;
(4)若Y不函数依赖于X,则记作X Y;
(5)X→Y,有基于模式R的,则要求对任意的关系r成立;有基于具体关系r的,则要求对某一关系r成立;
(6)如一关系r的某属性集X, r中根本没有X上相等的两个元组存在,则X→Y恒成立;
逻辑蕴含是什么
设F是关系模式R(U)中的一个函数依赖集合,X, Y是R的属性子集,如果从F中的函数依赖能够推导出X→Y,则称F逻辑蕴涵X→Y, 或称X→Y是F的逻辑蕴涵。
比如:F含有依赖关系A→B,B→C, 则可推出A→C,所以F逻辑蕴含A→C
闭包是什么
被F逻辑蕴涵的所有函数依赖集合称为F的闭包(Closure),记作 F+。
- 闭包是由关系模式R直观得到的函数依赖F所推出的所有隐含的或未隐含的(直观的)函数依赖的集合
- 小集合大闭包,包含了平凡的函数依赖
示例:设R=ABC,F={A→B,B→C},则F+的组成如下,即由如下形式的X→Y构成:
(1)X包含A,而Y任意, 如ABC→AB,A→C,AB→BC,…
(2)X包含B但不含A且Y不含A,如BC→B,B→C,B→Φ,…
(3)X→Y是C→C或C→Φ
属性(集)闭包
对R(U, F), X→U, U = { A1,A2,…,An}, 令:
X+F = { Ai | 用Armstrong Axiom A1,A2,A3可从F导出X→Ai } 称X+F为X关于F的属性(集)闭包。
简单说就,就是能由X在F范围内,能推导出来的所有属性的集合
覆盖和最小覆盖
覆盖:对R(U)上的两个函数依赖集合F、G, 如果F+= G+,则称F和G是等价的,也称F覆盖G或者G覆盖F。
若F满足以下条件,则称F为最小覆盖(minimal Cover)或最小依赖集若F满足以下条件,则称F为最小覆盖(minimal Cover)或最小依赖集(minimal set of Functional Depandency):
- F中每个函数依赖的右部是单个属性; (右边只有一个属性)
- 对任何X→A∈F, 有F - { X→A }不等价于F;(每个函数依赖不可或缺)
- 对任何X→A∈F, Z→X, ( F - { X→A })∪{Z→A}不等价于F。(每个函数依赖的左端都没有多余属性)
注意:每个函数依赖集F都有等价的最小覆盖F’。