1.函数依赖的定义
关系R上的函数依赖(functional dependency,FD)是指“如果R的两个元组在属性A1,A2,…,An上一致(即它们对应于这些属性的分量值都相等),那么它们必定在其它属性B1,B2,…,Bm上也一致”。该函数依赖形式记为A1A2…An -> B1B2…Bm,并称为“A1,A2,…,An函数决定B1,B2,…,Bm”。
此图是关于R中任意两个元组t和u的关系的解释。其中,属性集A和B可以任意出现,并不要求A,B连续出现或者A在B之前出现。
2.关系的键
如果下列条件满足,就认为一个或多个属性集{A1,A2,…An}是关系R的键。
(1).这些属性通过函数决定关系的所有其它属性。或者说,关系R不可能存在两个不同的元组,它们具有相同的A1,A2,…,An值。
(2).在{A1,A2,…An}的真子集中,没有一个能够函数决定 R的所有其它属性。也就是说,键必须是最小的集合。
3.超键
一个包含键的属性集就叫做超键(superkey),即键的超集的简写。因此,每个键都是超键。但是某些超键就不是最小化的键。注意,每个超键都满足键的第一个条件:它函数决定了关系中所有其它的属性。但是不满足第二个条件:最小化。