数据库学习笔记_8_函数依赖_基本概念
先说明一点概念:
关系,在关系数据库里,更像是指代一张表。
基本概念1:
我们使用一个拉丁小写字符来表示属性集合。使用一个罗马小写字母后面跟着一个括号扩着的罗马大写字母来表示一个relation schema,罗马小写字母表示关系(即所在的表名),而大写字母表示目标表名里所有属性的集合。
上面我们提到用拉丁小写字符来表示属性的集合,这个属性可以是已存在关系表的属性的集合,也可以不是。当我们使用罗马字符的时候,通常这些字符都是存在于关系表内的。
声明函数LA(a),为将a变为拉丁文a.
function dependency的定义:
当我们说
α –>β时
for any pair of tuples t1 and t2 in r(R),当t1(α)=t2(α)时t1(β)=t2(β),则就可以说α –>β,即β is functional dependent on a.
有些function dependency 是价值不高的(trivial)
比如AB->A, A->A什么的,因为这是一种必然,我们将LA(a)->LA(b) if LA(b)为LA(a)子集。
有性质当A->B,B->C时,A->C
我们将所有可以被LA(a)所depend的LA(b)作为一个集合,用LA(a)+ 表示。