文档详情

05关系数据库规范化理论.ppt

发布:2017-06-19约9.84千字共55页下载文档
文本预览下载声明
Confidential / All Right Reserved 第五章 关系数据库规范化理论 第五章 关系数据库规范化理论 5.1 关系规范化的必要性 5.1 关系规范化的必要性 5.1 关系规范化的必要性 SLC中的样本数据 5.1 关系规范化的必要性 5.1 关系规范化的必要性 5.1 关系规范化的必要性 5.1 关系规范化的必要性 数据依赖 函数依赖 键的形式化定义 候选键的求解理论和算法 回顾 5.3 范式 范式定义 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) 改进的3NF(BCNF) 多值依赖与第四范式(4NF) 5.3.1 范式的定义 范式(NF)是符合某一种级别的关系模式的集合。 满足不同程度要求的为不同范式。 范式的概念最早由E.F.Codd提出: 1971年 1NF,2NF,3NF 1974年 BCNF 1976年 4NF,5NF 5NF 3NF BCNF 2NF 4NF 1NF 若R(U,F)符合x范式的要求,则称R为x范式,记作:R∈xNF 5.3.2 第一范式(1NF) 定义5.14 第一范式(1NF) 如果一个关系模式R(U,F)的所有属性都是不可分的 基本数据项,则R∈1NF. 例:SLC2(SNo,SDept,SLoc,CName,Score)∈1NF 满足1NF的数据库模模式不一定是一个好的关系模式; 不满足1NF的数据库模式不能称为关系数据库模式。 5.3.3 第二范式(2NF) 定义5.15 第二范式(2NF) 满足第一范式的关系模式R(U,F),如果所有的 非主属性都完全依赖于键,则称R属于第二范式, 记为R(U,F)∈2NF. 例:SLC2(SNo,SDept,SLoc,CName,Score)∈1NF SC2(SNo,CName,Score) ∈2NF SL2(SNo,SDept,SLoc) ∈2NF (SNo,CName)→Score Sno→Score Cname→Score 5.3.4 第三范式(3NF) 定义5.16 第三范式(3NF)若R(U,F)∈2NF, 且它的任何一个非主属性都不传递依赖于键, 则称关系R属于第三范式,记为R(U,F)∈3NF。 例:SL2(SNo,SDept,SLoc)∈2NF SD2(SNo,SDept) ∈3NF DL2(SDept,SLoc) ∈3NF 在关系数据库模型设计中目前一般采用第三范式。 5.3.5 BCNF 定义5.17 改进的3NF-BCNF 设关系模式R(U,F)∈1NF, 若X→Y且Y X时X必包含键,则称R(U,F)∈BCNF。 一个满足BCNF的关系模式必然有: R中所有非主属性对每一个键都是完全函数依赖; R中所有主属性对每一个不包含它的键,都是完全函数依赖; R中没有任何属性完全函数依赖于非键的任何一组属性。 5.4 关系模式的规范化 SLC2(SNo,SDept,SLoc,CName,Score)∈1NF SC2(SNo,CName,Score)∈2NF SL2(SNo,SDept,SLoc)∈2NF SD2(SNo,SDept)∈3NF DL2(SDept,SLoc)∈3NF 一个低一级的范式的关系模式, 通过模式分解转换为若干个高一级范式的关系模式集合, 这种分解过程叫做关系模式的规范化 5.4.1 关系模式规范化的目的和基本思想 规范化的目的: 基本思想: 解决关系模式中存在的数据冗余、插入和删除异常、更新异常的问题 逐步消除数据依赖中不合适的部分,使模式中的各个关系模式达到某种程度的“分离”,即采用“一事一地”的模式设计原则。 5.4.2 关系模式规范化的步骤 1NF 2NF 3NF BCNF 消除非主属性对键的部分函数依赖 消除非主属性对键的传递函数依赖 消除主属性对键的部分和传递函数依赖 基本原则: 由低到高,逐步规范 权衡利弊,适可而止 通常以满足第三范式为基本要求。 范式的判定 【练习1】:设有关系模式R(A,B,C,D,E,P)其函数依赖集 F={A→B,C→P,E→A,CE→D},判断R属于第几范式。 L: 解: C, E R: P, D N: none LR: A ∴ CK:CE ={ } C ,E ,P ,A ,B = U ,D R∈1NF 主属性: C, E 非主属
显示全部
相似文档