一、函数依赖关系
函数依赖:若A的每一个值和B中的一个唯一值对应,则称B函数依赖于A ,记为A —> B.函数依赖可以被任务是一种属性约束关系,这种依赖关系类似于在高中所学习的映射关系,即mapping,在实际应用中,考虑
在常见的三规范化的依赖中,涉及到两种依赖,完全依赖和传递依赖
二、完全依赖
定义: 属性(组)B完全依赖于属性(组)A,当B函数依赖于A但是不含漱依赖于A的任一真子集,以上述表为例
三、传递依赖
定义: 如果A,B,C是都一关系的属性,称C传递依赖于A,若A
→
\to
→B, B
→
\to
→ C
举个例子
四、规范化
1NF:每一行和每一列相交的位置有且仅有一个值
2NF:满足第一范式的要求并且每个非主关键字属性完全函数依赖于主关键字的关系
3NF:满足第一和第二范式的要求并且所有非主关键字都不传递依赖于主关键字的关系
上述的规范也即规范的最初定义,下面将对规范化进行更多的形式化描述
函 数 依 赖 的 形 式 化 定 义 {\bf 函数依赖的形式化定义} 函数依赖的形式化定义
- 设 R(U) 是属性集合 U={ A1, A2, … , An } 上的一个关系模式,X, Y 是 U 上的两个子集,若对 R(U) 的任意一个可能的关系 r ,r 中不可能有两个元组满足在 X 中的属性值相等而在 Y 中的属性值不等,则称 “ X 函数决定 Y ” 或 “ Y函数依赖于X ” ,记作 X → Y X \to Y X→Y