四、关系模式的规范化 关系规范化理论正是用来改造关系模式,通过分解关系模式来消除 其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和 数据冗余问题
1 关系规范化理论正是用来改造关系模式,通过分解关系模式来消除 其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和 数据冗余问题。 四、关系模式的规范化
1、函数依赖 设R(U是属性集U上的关系模式,Ⅹ,Y是U的子集。若对于R(U)的 任意两个元组t和t,如果t1[Xt2X],则t[Y]=tY],那么称X函数 确定Y或Y函数依赖X,记作X→Y。 不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等 若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素; 关系模式R中的所有关系都要满足约束条件
1 设 R(U) 是属性集 U上的关系模式,X,Y是U的子集。若对于R(U)的 任意两个元组t1和t2,如果t1 [X]= t2 [X],则t1 [Y]= t2 [Y] ,那么称X函数 确定Y或Y函数依赖X,记作 X→Y 。 • 不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等; • 若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素; • 关系模式R中的所有关系都要满足约束条件。 1、函数依赖
1、函数依赖 对丁关系模式R,U为属性集合,Ⅹ、Y为其属性子集; 根据函数依赖定义和实体间联系的定义,可得出如下结论: 若X和Y是1:1的联系,则存在函数依赖Ⅹ→Y和Y→X; 若X和Y是1:n的联系,则存在函数依赖Y→X; 若X和Y是m:n的联系,则XY之间不存在函数依赖关系; 以关系模式 student为例 系与系主任是1:1,有 Sdept→ Mname和 Mname→ Sdept; 系与学生是1:n,故有Sno→ Sdept; ·学生与课程是m:n,故Sno和Cno之间不存在函数依赖
1 对于关系模式R ,U为属性集合,X、Y为其属性子集; 根据函数依赖定义和实体间联系的定义,可得出如下结论: • 若X和Y是1:1的联系,则存在函数依赖X→Y 和Y →X; • 若X和Y是1:n的联系,则存在函数依赖Y →X; • 若X和Y是m:n的联系,则XY之间不存在函数依赖关系; 以关系模式student为例 • 系与系主任是 1:1,有Sdept →Mname和Mname→Sdept; • 系与学生是1: n,故有Sno → Sdept ; • 学生与课程是m :n,故Sno和Cno之间不存在函数依赖.。 1、函数依赖
1、函数依赖 EG:有关系模式S(Sno, Sname,Ssex,Sage, Sdept,假设学生姓名不允 许重名;则有 Sno→Ssex,Sno→Sage,Sno→ Sdept,Sno←→ Sname, Sname→Ssex, Sname→Sage, Sname→ Sdept 但Ssex+Sage ①若X→Y,并且Y→X,则记为X←→Y ②若Y不函数依赖于Ⅹ,则记为XY
1 EG: 有关系模式S (Sno, Sname, Ssex, Sage, Sdept),假设学生姓名不允 许重名;则有: Sno → Ssex,Sno → Sage , Sno → Sdept,Sno ←→ Sname, Sname → Ssex, Sname → Sage,Sname → Sdept 但Ssex →Sage ① 若X→Y,并且Y→X, 则记为X←→Y; ② 若Y不函数依赖于X, 则记为X→Y。 1、函数依赖
(1)函数依赖分类 平凡函数依赖( Trivial fd) 非平凡函数依赖( Nontrivial fd) 函数依赖( Full fd) 部分函数依赖( Partial fd) 传递函数依赖( Transitive FD)
1 平凡函数依赖(Trivial FD) 非平凡函数依赖(Nontrivial FD) 完全函数依赖(Full FD) 部分函数依赖(Partial FD) 传递函数依赖(Transitive FD) (1)函数依赖分类