第六章关系数据理论 范式
第六章 关系数据理论 范 式
、关系模式相关定义 定义64:设K为R(UF)中的属性或属性组合。若K-U,则K称 为R的侯选码;若候选码多于一个,则选定其中的一个做为主码; 主属性与非主属性 包含在任何一个候选码中的属性,称为主属性; 不包含在任何码中的属性称为非主属性或非码属性 最简单情况:一个属性是码; 最极端情况:整个属性组是码,也称全码;
一、关系模式相关定义 定义6.4:设K为R(U,F)中的属性或属性组合。若K U, 则K称 为R的侯选码;若候选码多于一个,则选定其中的一个做为主码; 主属性与非主属性 ◦ 包含在任何一个候选码中的属性 ,称为主属性; ◦ 不包含在任何码中的属性称为非主属性或非码属性; 最简单情况:一个属性是码; 最极端情况:整个属性组是码,也称全码;
定义65:关系模式R中属性或属性组X并非R的码,但Ⅹ是另 个关系模式的码,则称X是R的外部码,也称外码; 如在SC(Sno,Cno, Grade)中,Sno不是码,但Sno是关系模式S (Sno, Sdept.,Sage)的码,则Sno是关系模式SC的外部码; 。主码与外部码一起提供了表示关系间联系的手段
定义6.5 :关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一 个关系模式的码,则称 X 是R 的外部码,也称外码; 如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S (Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码; 主码与外部码一起提供了表示关系间联系的手段
关系模式规范化 关系模式的好与坏,用什么标准衡量?这个标准就是模式的 范式(简记为NF); 范式是符合某一种级别的关系模式的集合; 范式的种类与数据依赖有着直接的联系,基于FD的范式有 INF、2NF、3NF、BCNF等多种。 某一关系模式R为第n范式,可简记为R∈nNF
二、关系模式规范化 关系模式的好与坏,用什么标准衡量?这个标准就是模式的 范式(简记为NF); 范式是符合某一种级别的关系模式的集合; 范式的种类与数据依赖有着直接的联系,基于FD的范式有 1NF、2NF、3NF、BCNF等多种。 某一关系模式R为第n范式,可简记为R∈nNF
各范式之间的关系 INF 2NF 3NF BCNF 4NF
各范式之间的关系 1NF 2NF 3NF BCNF 4NF ……
如果一个关系满足某个范式要求,则它也会满足较其级别低的所有 范式的要求。 一个低一级范式的关系模式,通过模式分解(投影运算)可以转化 为若干个高一级范式的关系模式的集合,这个过程叫做规范化; 用几个简单的关系去取代原来结构复杂的关系的过程叫做关系规范 化 规范化理论是围绕着范式建立的
如果一个关系满足某个范式要求,则它也会满足较其级别低的所有 范式的要求。 一个低一级范式的关系模式,通过模式分解(投影运算)可以转化 为若干个高一级范式的关系模式的集合,这个过程叫做规范化; 用几个简单的关系去取代原来结构复杂的关系的过程叫做关系规范 化。 规范化理论是围绕着范式建立的
关系规范化 目的:使结构合理,使数据冗余尽量小,减少插入,删除和更新异 常 方法:将关系模式投影分解成多个关系模式,但关系模式的分解 不是唯一的; 。要求:分解后的关系模式集合应当与原关系模式“等价”,既具 有无损连接性,又保持函数依赖特性
关系规范化 目的: 使结构合理,使数据冗余尽量小,减少插入,删除和更新异 常; 方法: 将关系模式投影分解成多个关系模式,但关系模式的分解 不是唯一的; 要求: 分解后的关系模式集合应当与原关系模式“等价”,既具 有无损连接性,又保持函数依赖特性
1)第一范式1NF 当且仅当一个关系R中,每一个分量都是不可再分的数据项时, R∈lNF 要求属性是原子的; 第一范式是对关系模式的最起码的要求。不满足第一范式的 数据库模式不能称为关系数据库 。但是满足第一范式的关系模式并不一定是一个好的关系模式
1)第一范式1NF 当且仅当一个关系R中,每一个分量都是不可再分的数据项时, R∈1NF ; 要求属性是原子的; 第一范式是对关系模式的最起码的要求。不满足第一范式的 数据库模式不能称为关系数据库; 但是满足第一范式的关系模式并不一定是一个好的关系模式
2)第二范式2NF 定义66若R∈INF,且每一个非主属性完全函数依赖于码,则 R∈2NF; 如果关系模式R∈1NF,并且R的码是单个属性,那么R∈2NF
2)第二范式2NF 定义6.6 若R∈1NF,且每一个非主属性完全函数依赖于码,则 R∈2NF ; 如果关系模式R∈1NF,并且R的码是单个属性,那么R∈2NF
例1:判断关系模式SL-C(Sno, Sdept,Sloc,Cno, Grade)是否满足 2NF,其中Sloc为学生住处,假设每个系的学生住在同一个地方; 第一步:判断S-L-C是否为第一范式 第二步:确定候选码(Sno,Cno); 第三步:确定所有函数依赖有:Sno→ Sdept,Sno→Sloc (Sno, Cno )>Sdept, Sno, Cno)> Sloc Sno, cno) F lde 得出结论:和2NF定义相违背,故S--C不是2NF;
例1:判断关系模式S-L-C(Sno,Sdept, Sloc,Cno,Grade)是否满足 2NF,其中 Sloc 为学生住处,假设每个系的学生住在同一个地方; 第一步:判断S-L-C是否为第一范式; 第二步:确定候选码(Sno,Cno); 第三步:确定所有函数依赖有: Sno →Sdept, Sno →Sloc, ( Sno , Cno ) Sdept,( Sno , Cno ) Sloc , ( Sno , Cno ) Grade; 得出结论:和2NF定义相违背,故S-L-C不是2NF;