9.2函数依赖
9.2.1函数依赖定义
■函数依赖( FD )是数据库设计的核心部分。
■什么是函数依赖?
例如:
在 Students 关系中,因为每个学号 Sid 的值都对应着唯一一个学生的名字 Sname ,我们可以将其形式化为:
Sid → Sname
因此,可以说,名字 Sname 函数依赖于学生的学号 Sid ,学生的学号 Sid 决定了学生的名字 Sname 。
1.函数依赖的推理规则
设 U 是关系模式 R 的属性集, F 是 R 上成立的只涉及 U 中属性的
函数依赖集。函数依赖的推理规则如下:
(1)A1(自反性):如果 Y 드 XCU ,则 X 一 Y 。(2)A2(增广性):如果 X 一 Y 且 ZU ,则 XZ 一 YZ 。
(3)A3(传递性):如果 X 一 Y 且 Y 一 Z ,则 X 一 Z 。
(4)B1(合并性):如果 X 一 Y 且 X 一 Z ,则 X 一 YZ 。
(5)B2(分解性):如果 X 一 YZ ,则 X 一 Y 、 X 一 Z 。
(6)B3(结合性):如果 X 一 Y 且 W 一 Z ,则 XW 一 YZ 。
(7)B4(伪传递性):如果 X 一 Y 且 WY 一 Z ,则 XWZ 。A1~A3就是有名的 Armstrong 公理,B1~B4是 Armstrong 公理的
推论。