函数依赖
这一章主要详细解读了数据库中不同属性之间的关系,其中最基础的就是函数依赖关系。
通俗地来讲就是,由一个属性集合(内含一个或多个属性,暂时不考虑空集情况)可以推出另外属性集合(内含一个或多个属性)。
所谓的“推出”这种关系也就是当前者集合内所有元素被确定的时候,后者集合内所有元素内容也能唯一确定(类比代数学中的“函数”)。
也就是我们说,后者依赖前者。
特殊的依赖关系
首先是平凡依赖,自己依赖自己,这是总成立的所以称为平凡。
这个“函数”的自变量是一个集合,可以存在多余的属性,许多特殊的关系都是由于这一点产生的。比如当自变量合集中多出至少一个属性,对于这个依赖关系而言,后者对前者就属于部分依赖,而多余的属性则称为无关属性,属于右无关,左无关后续会分析。
传递与直接依赖也很好理解,中间经过多次或一次“推出”关系。
关系模式与闭包
关系模式的本质是一个属性集合与一个依赖关系集合。其中依赖关系集合可以通过关系代数逻辑运算得到新的依赖关系。对于一个给定的依赖集合,把所有能被运算得到的依赖组成一个新依赖集合,就能被称为原集合的依赖集闭包。但事实上对于实际问题一般我们并不需要依赖集闭包中的所有关系,而且一般依赖集闭包内容极其庞大且绝大多数作用有限,更多时候仅作为描述时的概念。所以更多地我们使用属性集闭包