第9章 关系规范化理论
1.关系模式设计的问题
(1)数据冗余问题
存在的数据重复或者数据的不一致
(2)数据更新问题
把重复的数据修改,使修改复杂化
(3)数据插入问题
虽然设立了一个系,并明确学生们的宿舍楼位置;尽管已初步具备sdept及sloc数据;然而目前无法将这些数据直接注入数据库中;由此可知目前该系尚未开始招生;其中sno与cno列为本表的关键字段;但必须满足这些字段不可空缺的要求。
(4)数据删除问题
如果一名学生一开始只选择了单科课程,在后来退修后,则应被要求删除其该科目的注册记录;因为该学生仅注册了一门课程的缘故,在完成上述操作后也会被自动地从系统中移除基础资料。
2.函数的依赖
核心概念:变量X与变量Y之间存在数量上的对应关系。对于每一个确定的X值都有一个对应的Y值存在,并且可以说函数由变量X决定或者变量Y受到变量X的影响。记作:y = f(x)

Y
举例:对学生关系模式student(sno,sname,sdept,sage)有以下函数依赖关系:
sno

sname,sno

sdept,sno

sage
(2)术语与符号:
. 如果x

Y,但Y不包含于X,则称X

Y是非平方的函数依赖。例:A

B,AC

B,AC

AB
反之为平凡的函数依赖。例:AB

B。
. 如果Y不依赖于X,则记作X-/->Y。
. 如果X

Y,则称X为决定因子。
. 如果X

Y,并且Y

X,则记作X

Y。
. 如果X

同时,在一个关系模式R中,并且对于每个满足条件的任一真子集X'都有函数依赖关系成立,则称Y完全函数依赖于X,并用符号表示为: X-f\rightarrow Y ;特别地,在R中如果存在某个属性A使得每个满足条件的任一真子集A'都有函数依赖关系成立,则称B完全函数依赖于A。

Y成立,则称Y部分函数依赖于X,记作X

Y。
. 如果X

Y(非平方函数依赖,并且Y-/-X),Y

Z,则称Z传递函数依赖于X。
【**(sno,cno)

sname是部分函数依赖,因为sno

sname是完全函数依赖**】
属于主键范围内的所有字段均为主属性,在数据库设计中被明确划分的那些不在任何候选码中的字段则被称为非主属性
候选键为全部属性的表称为全键表
3.函数依赖的推理规则
设关系模式R具有属性集U以及函数依赖集F,在此设定下X、Y、Z、W均为取自U的子集
(1)自反律
(2)增广律
(3)传递律
X

Y和Y

Z在R上成立,则X

Z在R上也成立
(4)合并规则
X

Y和X

Z在R上成立,则X

YZ在R上也成立
(5)分解规则
(6)伪传递规则
X

Y和YW

Z在R上成立,则XW

Z在R上也成立
(7)复合规则
X

Y和W

Z在R上成立,则XW

YZ在R上也成立
