§6.03 Introduction to Normal Form of Relation 关系规范化导轮
1 §6.03 Introduction to Normal Form of Relation 关系规范化导轮
● ·如何评价一个关系模型的优劣? 主要看它的规范化情况。 我们通过实例研究规范化含义。 。设有关系$CT,其具体关系如下: 2
2 • 如何评价一个关系模型的优劣? 主要看它的规范化情况。 • 我们通过实例研究规范化含义。 • 设有关系SCT , 其具体关系如下:
SCT: S# C# GRADE TNAME TAGE OFFICE 90 ZHOU 40 OF2 80 LILI 35 OF2 85 WANG 47 OF3 ::::331:5 70 ZHOU 40 OF2 90 WANG 47 OF3 75 ZHOU 40 OF2 80 LIU 35 OF2 90 ZHOU 40 OF2 95 ZHOU 40 OF2 80 WANG 47 OF3
3 SCT: S# C# GRADE TNAME TAGE OFFICE S1 C1 90 ZHOU 40 OF2 S1 C2 80 LILI 35 OF2 S1 C4 85 WANG 47 OF3 S2 C1 70 ZHOU 40 OF2 S2 C4 90 WANG 47 OF3 S3 C1 75 ZHOU 40 OF2 S3 C2 80 LIU 35 OF2 S4 C1 90 ZHOU 40 OF2 S5 C1 95 ZHOU 40 OF2 S5 C4 80 WANG 47 OF3
这个关系模式,操作中会出 现很多问题: 。高冗余:一般TNAME, TAGE,OFFICE,冗余度很高, 且不必要。 修改异常:将第一元组ZH0U的年龄改为41,引 起数据不一致。 插入异常:ZHANG新调入、无课教师无法记录其 自然情况。注意:SCT中key:S#、C#。 删除异常:删除C4课,会丢掉Wang的情况
4 这个关系模式,操作中会出 现很多问题: • 高冗余 : 一般TNAME, TAGE,OFFICE,冗余度很高, 且不必要。 • 修改异常:将第一元组ZHOU的年龄改为41,引 起数据不一致。 • 插入异常:ZHANG新调入、无课教师无法记录其 自然情况。注意:SCT 中key:S#、C#。 • 删除异常:删除C4课,会丢掉Wang的情况
这样的模式使用不方便, 于是出现了数据库模式规范化 理论研究。即: 上述模式设计是不合理的,为了解决这样的 些修改,插入、删除的不正常性,人们提出了 关系的规范化理论。 规范化方法的实质,是把不合理的数据相关性 做出合理的分离。 。 具体方法就是将关系框架作适当的分解(投 影),构成 ‘一事一地'的规范化的关系
5 这样的模式使用不方便, 于是出现了数据库模式规范化 理论研究。即: 上述模式设计是不合理的,为了解决这样的一 些修改,插入、删除的不正常性,人们提出了 关系的规范化理论。 • 规范化方法的实质,是把不合理的数据相关性, 做出合理的分离。 • 具体方法就是将关系框架作适当的分解(投 影),构成‘一事一地’的规范化的关系
仍以上述SCT为例,可对SCT投影分解如下: SC-Πs#, C#,GRADE (SCT) CT=C#,TNAME (SCT S# C# GRADE C# TNAME Ci 90 C1 ZHOU 80 C2 LIU 85 112233155 C4 Wang 70 .. TO=TNAME, TAGE,OFFICE SCT 3009 TNAME TAGE OFFICE 。 ZHOU 40 OF2 LIU 35 OF2 C4 80 Wang 47 OF3 6
6 仍以上述SCT为例,可对SCT投影分解如下: • SC=S#,C#,GRADE(SCT) • S# C# GRADE • S1 C1 90 • S1 C2 80 • S1 C4 85 • S2 C1 70 • S2 C4 90 • S3 C1 75 • S3 C2 80 • S4 C1 90 • S5 C1 95 • S5 C4 80 • CT=C#,TNAME(SCT) • C# TNAME • C1 ZHOU • C2 LIU • C4 Wang • TO=TNAME,TAGE,OFFICE (SCT) • TNAME TAGE OFFICE • ZHOU 40 OF2 • LIU 35 OF2 • Wang 47 OF3
用$C、CT,TO代替SCT可以 消除上述插入、删除、修改异常: ·修改教师,如Wang的年龄,只在T0上进行 删除课程,如C4,在CT、SC上进行,而Nang 的自然情况不会丢失。 ·插入教师CHAN,不任课,可以在TO上进行
7 用SC、CT,TO代替SCT可以 消除上述插入、删除、修改异常: • 修改教师,如Wang 的年龄,只在TO上进行; • 删除课程,如C4,在CT、SC上进行,而Wang 的自然情况不会丢失。 • 插入教师CHAN, 不任课,可以在 TO 上进行
·Losses joint:利用分解实现 关系规范化的过程中,不应增 加、也不应丢失被分解的关系 的原有信息,这种分解叫无损 连接的分解。即要求: SCT=SC CT TO 看出,所谓关系框架R的一个分解P,是指用一组 子框架P=R1,R2,,RN}代替R,使各子框架Ri满 足规范要求,且属性:R1R2U.·RN=R。对 于一个具体关系r,则有: r≡ΠR1(r)>ΠR2(r)D..>Rn(r)s
8 • Losses joint:利用分解实现 关系规范化的过程中,不应增 加、也不应丢失被分解的关系 的原有信息,这种分解叫无损 连接的分解。即要求: SCT=SC CT TO • 看出,所谓关系框架R的一个分解P,是指用一组 子框架P={R1,R2,…,RN}代替R,使各子框架Ri满 足规范要求,且属性:R1R2... RN=R。对 于一个具体关系r,则有: r R1(r) R2(r) ... Rn(r)
例:已知下列事实:一个 学生S#,只在一个系SD学习, 一个系只有一名系主任MN。 关系模式R(U,F): U=[S#,SD,MN},F={S# SD,SD一MN}。 S# SD MN S1 D1 张三 插入、删除、修改异常 D2 李四 3 D2 李 S4 D3 王五
9 例:已知下列事实:一个 学生S# ,只在一个系SD学习, 一个系只有一名系主任MN。 关系模式R(U,F): U={S#,SD,MN},F={S# SD,SD MN}。 r S# SD MN S1 D1 张三 插入、删除、修改异常 S2 D2 李四 S3 D2 李四 S4 D3 王五
为此做如下分解: P1={R1(S#,φ),R2(SD,φ),R3MN,中)} 这样的分解丢失了全部函数相关 性F,实际上R的具体关系就是R的具体 关系在U上的投影,故分解后: rl S# r2 SD r3 S1 I S2 S3 D3 程 S4 10
10 为此做如下分解: P1={R1(S#,),R2(SD,),R3(MN, )} 这样的分解丢失了全部函数相关 性F,实际上Ri的具体关系就是R的具体 关系在Ui上的投影,故分解后: r1 S# r2 SD r3 MN S1 D1 张三 S2 D2 李四 S3 D3 王五 S4