关系规范化基础
6.第六章关系的规范化

第六章关系的规范化设计第六章关系的规范化设计第一节问题的提出第二节函数依赖第三节范式第四节数据依赖的公理系统第一节关系模式设计问题的提出如何设计一个合理的关系数据库模式?c3c2c1c3c1cno 77OS丁惠s283DS 丁惠s290DB 丁惠s287OS 李立s178DB 李立s1gradecname sname sno 泛关系模式泛关系:泛关系模式中存在的问题c3c2c1c3c1cno 77OS丁惠s283DS 丁惠s290DB 丁惠s287OS 李立s178DB 李立s1gradecname sname sno反映现实世界操作性能例:设计教学管理关系数据库模型sc问题分析Sno Cno Tno Sname Grade Cname Tname S1C1T1赵民90OS彭S1C2T2赵民90DS杨S1C3T3赵民85C++刘S1C4T4赵民87DB张S2C1T4李军90OS张S3C1T4陈江75OS张S3C2T2陈江70DS杨S3C4T4陈江56DB张S4C1T1魏致90OS彭S4C2T2魏致85DS杨S5C1T1乔远95OS彭S5C4T4乔远80DB张关系SCT产生问题的原因?解:sct(sno, cno, tno, sname, grade, cname, tname)属性间约束关系(即数据间的依赖关系)太强解一:(sno,(cno,tno,(tno,cno, tname (sno,cno,解二:(sno,(cno,(tno, tname (sno,cno,(tno,cno)分解关系解决问题的方法:例sc解(sno, cno, tno, sname, grade, cname, tnameS n o S n a m e S 1赵民S 2李军S 3陈江S 4魏致S 5乔远StudentsCno Cname C1OS C2DS C3C++C4DBCoursesSnoCno Grade S1C190S1C290S1C385S1C487S2C190S3C175S3C270S3C456S4C190S4C285S5C195S5C480scTno Tname T1 彭 T2 杨 T3 刘 T4 张TeachersTeachCno Tno C1T1C1T4C2T2C3T3C4T4本章要解决的主要问题理想第二节:函数依赖数据依赖函数依赖(1)、函数依赖定义X 函数决定Y Y函数依赖于XX Y例:只能根据语义来确定函数依赖性的存在与否。
关系规范化步骤

成绩 英语 89 80 76 电工 87 90 77 物理 67 75 80
学号 99001 99002 99003
姓名 张三 李四 王五
关系规范化步骤演示(续 关系规范化步骤演示 续)
关系规范化步骤演示(续 关系规范化步骤演示 续)
(3)第三范式 如果关系模式R∈2NF,且每个非主属性都不传递依赖于R的每 个关系键,则R属于第三范式(Third Normal Form).
学号 99001 99002 99003 99004
姓名 李薇 肖文文 宋华 王枫
院系 计算机 计算机 计算机 数学
院系 计算机 数学
�
成绩 英语 89 80 76 英语 89 80 76 电工 87 90 77 电工 87 90 77 物理 67 75 80 物理 67 75 80
学号 99001 99002 99003 学号 99001 99002 99003
姓名 张三 李四 王五 姓名 张三 李四 王五
关系规范化步骤演示(续 关系规范化步骤演示 续)
分数 86 78 98 67
关系规范化步骤演示(续 关系规范化步骤演示 续)
学号 99001 99001 99001 99002 学号 99001 99002 姓名 李薇 王枫 姓名 李薇 李薇 李薇 王枫 院系 计算机 数学 院系 计算机 计算机 计算机 数学 学号 99001 99001 99001 99002 课程编号 C01001 C01002 G02003 S05002 课程编号 C01001 C01002 G02003 S05002 分数 86 78 98 67 分数 86 78 98 67
关系规范化基础

第三章 关系规范化基础一、内容提要关系数据库的设计中,一个非常重要的被视为理论问题的内容是如何构造合理的关系,使之能准确地反应现实世界,有利于应用和具体的操作。
这一问题就是关系规范化要研究的问题。
通过本章的学习,应重点掌握:(1)函数依赖及Armstrong 公理系统(2)为什么要对模式进行分解,如何分解(3)如何判断关系模式达到几范式(4)如何求属性的闭包及如何求最小函数依赖集(5)判断分解后的关系模式是不是无损连接或保持函数依赖(6)判断分解后的关系模式既无损连接又保持函数依赖(一)函数依赖及相关概念定义 设R(U)是属性集U 上的关系模式,X ,Y 是U 的子集。
若对R(U)的任何一个可能的关系r ,r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称X 函数决定Y 或Y 函数依赖于X ,记作:X →Y 。
(1)完全函数依赖:在R(U)中,如果X →Y ,并且对于X 的任何一个真子集X `,都有X `不能决定Y ,则称Y 对X 完全函数依赖,记作: X →Y例 给定一个学生选课关系SC(Sno ,Cno ,G),我们可以得到 F={(Sno ,Cno) →G},对(Sno ,Cno)中的任何一个真子集Sno 或Cno 都不能决定G ,所以,G 完全依赖于Sno ,Cno 。
(2)平凡的函数依赖:如果X →Y ,但Y 不完全函数依赖于X ,则称Y 对X部分函数依赖,记作:X →Y(3)传递依赖:在R(U)中,如果X →Y ,(Y ⊄X),Y →X ,Y →Z则称Z 对X 传递依赖。
(4)码:设K 为R(U ,F)中的属性的组合,若K →U ,则K 为R 的候选码,若有多个候选码,选一个作为主码。
注: 候选码也称候选关键字。
fpf(5) 主属性和非主属性:包含在任何一个候选码中的属性叫做主属性,否则叫做非主属性。
(6) 外码:若R(U)中的属性或属性组X非R的码,但是另一关系的码,则称X为外码。
5第五章第4讲关系模式的规范化

5第五章第4讲关系模式的规范化关系模式的规范化是数据库设计中的一个重要概念,它通过一系列规则和规范化原则,使得关系模式能够更加合理、高效地组织和管理数据。
规范化的目的是消除冗余和数据依赖,以避免数据异常和不一致的情况发生。
本文将介绍关系模式规范化的基本概念、规则和原则,并讨论规范化的实际应用。
关系模式规范化的基本概念是:在关系数据库中,每个关系模式都应该经过规范化,以达到最佳的数据结构和数据组织方式。
规范化是一个多阶段的过程,每个阶段都有特定的规则和原则。
第一范式(1NF)是最基本的规范化原则。
它要求每个关系模式的属性都是原子性的,即不可再分的。
这意味着属性的值不可以是集合、数组或多值的。
如果一个属性的值可以被分解为更小的数据项,则需要拆分为多个属性,使得每个属性都是原子的。
第二范式(2NF)要求在满足1NF的基础上,消除非主属性对码的部分函数依赖。
函数依赖指的是当一个属性的值确定之后,另一个属性的值也能确定。
如果一个属性只依赖于码中的一部分属性,而不是整个码,那么它就存在部分函数依赖,需要拆分为多个关系模式,以消除这种依赖。
第三范式(3NF)要求在满足2NF的基础上,消除非主属性对互相之间的传递依赖。
传递依赖指的是当一个属性的值确定之后,其他非主属性的值也能确定。
如果一个非主属性依赖于另一个非主属性,而不是直接依赖于码,那么它就存在传递依赖,需要拆分为多个关系模式,以消除这种依赖。
此外,还有更高级的规范化形式,如BCNF(巴斯-科德范式)和第四范式。
BCNF要求在满足3NF的基础上,消除所有非主属性对码的冗余依赖。
第四范式则要求在满足BCNF的基础上,消除多值依赖和联合依赖。
这些规范化原则和规则都是为了最大程度地消除数据冗余和依赖问题,并提高数据库的性能和数据完整性。
关系模式规范化在实际应用中有着广泛的应用。
首先,在数据库设计阶段就应该考虑规范化原则,选择合适的属性和关系模式,避免冗余和依赖问题。
课件:第3章关系规范化

关
第一范式(1NF)
系
第二范式(2NF)
模 式
第三范式(3NF)
的
BC范式(BCNF)
由 低 到 高
范 式
第四范式(4NF)
第五范式(5NF)
3.2.1 第一范式(1NF)
定义: 如果R的所有属性都是不可分的基本数据项,
则R∈1NF。
系名称 高级职称人数
教授 副教授
计算机系 6
10
信息管理 3
5
系
分析:[超额]完全依赖于主键 [姓名]和[部门]仅依赖于主键中的[编号] [定额]依赖于[职务],而[职务]依赖于[编号],所以
[定额]传递依赖于[编号] [部门经理]依赖于[部门],所以[部门经理]传递依赖
于[编号]
3.2 规范化和范式
➢规范化:用来设计“好”的关系数据库模式的规 范化理论
➢范式(NF):就是关系模式应满足的条件或要求
定义3:
在 R(U) 中 , 如 果 X->Y, 且 对 于 X 的 任 何 一 个 真子集X‘,都有X’->Y, 则称Y完全函数依赖于X,记 为X f Y, 否则称为部分函数依赖,记为X P Y. 如: S#->SD或SN->SD(若姓名不重复)是完全函数 依赖.
(S#,C#)->G也是完全函数依赖. (S#,C#)->SD是部分函数依赖.
S# │ SN │ SD │ SL │ C# │ G ──────┼───┼───┼──┼── 0001│张华 │信息系│南校区│数学│90 0002│李明 │信息系│南校区│英语│80 0003│王刚 │信息系│南校区│数学│95 0004│赵红 │管工系│北校区│数学│75 0005│陈英 │管工系│北校区│数学│86
第1章 第3讲—关系规范化

7
定义
◦ 如果关系模式R为第二范式,且R中每个非主属性都不
传递函数依赖于R的主码,则称R属于3NF。
示例
◦ 下列关系模式是2NF,是否为3NF?为什么? SD(学号,姓名,系名,系主任)
绩;每个教师只担任一门课的教学,一门课由若干教师任教;一位教师可以 指导多个学生,一个学生在某个时间和地点只能被一位教师指导。“学生”有 属性:学号、姓名、性别、专业名。“教师”有属性:职工号、教师姓名、职 称,“课程”有属性:课程号、课程名。 试画出ER图,并注明属性和联系类型。
17
谢谢观看
,“商店”有属性:商店编号、商店名、地 址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个 商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物 有一个消费金额和日期。
试画出ER图,并注明属性和联系类型。 任务二、假设每个学生选修若干门课程,且每个学生每选一门课只有一个成
05
MySql简介
2
在数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相同的,为 了区分关系模式的优劣,人们常常把关系模式分为各种不同等级的范式。
满足特定要求的关系模式称为范式,按其规范化程度从低到高可分为5级范式(Normal Form), 分别称为1NF,2NF,3NF(BCNF),4NF和5NF。
学习目标
了解数据库系统的基本概念 理解数据模型的类型及相关概念 理解关系、关系模型相关概念 掌握E-R图的绘制的方法 掌握将E-R模型转换为关系模型的方法 理解关系的完整性规则 理解关系规范化
第3章 关系规范化基础.

函数依赖的一些常用规则
自反性:若X包含Y,则存在X→Y。 增广性:若X→Y,则存在XZ→YZ。 传递性:若X→Y和Y→Z则存在X→Z。 合并性:若X→Y和X→Z则存在X→YZ。 分解性:若X→Y且Y包含Z,则存在X→Z。 伪传递性:若X→Y和WY→Z则存在WX→Z。 复合性:若X→Y和Z→W则存在XZ→YW。 自增性:若X→Y,则存在WX→Y。
BC 范式消除了关系中所有属性对候选码的部 分和传递依赖。若一个关系达到了第三范式, 并且它只有单个候选码,或者它的每个候选码 都是单属性,则该关系自然也达到BC范式。
关系规范化的过程就是概念单一化和逐步分 解关系的过程,就是把属性间存在的部分和传 递依赖逐步转化为关系之间1对1或1对多联系的 过程。
第3章
关系规范化基础
关系规范化基础
数据依赖 关系规范化 第一范式 第二范式 第三范式 BC范式
数据依赖
数据依赖包括函数依赖和多值依赖,我们这 本书只讨论有关函数依赖的内容。 函数依赖涉及到平凡函数依赖、非平凡函数 依赖、完全函数依赖、局部(部分)函数依 赖、直接函数依赖和传递函数依赖等概念。 函数依赖的定义:设一个关系为R(U),X和 Y为属性集U上的子集,若对于元组中X上的每 个值都有 Y 上的一个惟一值与之对应,则称 X 和Y具有函数依赖关系,并称X函数决定Y,或 称Y函数依赖于X,记作X→Y,称X为决定因素。
最小函数依赖集的定义:设一个关系为R(U),X 和Y为U的子集,若X→Y,并且为完全非平凡函数依 赖,同时Y是单属性,则称X→Y为R的最小函数依赖。 由R中所有最小函数依赖构成R的最小函数依赖集, 其中不含有冗余的传递函数依赖。
《关系模式的规范化》课件

THANKS
THANK YOU FOR YOUR WATCHING
关系模式的规范化主要基于函数依赖和范式的理论,通过逐 步消除冗余属性、处理数据依赖冲突,最终达到一定的规范 化程度,如第三范式(3NF)或更高范式。
关系模式规范化的重要性
减少数据冗余
规范化可以消除数据冗余,减少存储 空间的浪费,并降低数据维护成本。
保证数据一致性
通过规范化,可以确保数据的一致性 和完整性,避免因数据更新、删除操 作而产生的错误和异常。
从3NF到BCNF的转化
将关系模式分解为多个关系模式,使得每个 关系模式都满足3NF和BCNF。
07
关系模式规范化的应用场景
数据库设计
数据结构合理化
通过规范化,确保数据库中的关 系模式满足一定的范式要求,从 而使数据结构更加合理、清晰, 降低数据冗余和操作异常的风险 。
提高数据一致性
规范化有助于保证数据的一致性 ,避免数据在不同表中重复存储 ,从而降低数据不一致的问题。
BCNF范式消除了传递依赖,从而减 少了数据冗余和更新异常的可能性。
VS
BCNF范式是相对较弱的范式,它允 许有部分函数依赖,但不允许有完全 函数依赖。
如何达到BCNF
识别关系模式中的函数依赖, 并确定哪些是传递依赖。
通过分解关系模式或引入新 的候选键来消除传递依赖,
从而满足BCNF的要求。
在分解过程中,需要确保分解 后的关系模式仍然满足BCNF 的要求,并且能够保持数据的
03
通过规范化,可以降低因修改操作导致的数据完整性破坏的风
险,确保数据的准确性和一致性。
数据冗余消除
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 关系规范化基础一、内容提要关系数据库的设计中,一个非常重要的被视为理论问题的内容是如何构造合理的关系,使之能准确地反应现实世界,有利于应用和具体的操作。
这一问题就是关系规范化要研究的问题。
通过本章的学习,应重点掌握:(1)函数依赖及Armstrong 公理系统(2)为什么要对模式进行分解,如何分解(3)如何判断关系模式达到几范式(4)如何求属性的闭包及如何求最小函数依赖集(5)判断分解后的关系模式是不是无损连接或保持函数依赖(6)判断分解后的关系模式既无损连接又保持函数依赖(一)函数依赖及相关概念定义 设R(U)是属性集U 上的关系模式,X ,Y 是U 的子集。
若对R(U)的任何一个可能的关系r ,r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称X 函数决定Y 或Y 函数依赖于X ,记作:X →Y 。
(1)完全函数依赖:在R(U)中,如果X →Y ,并且对于X 的任何一个真子集X `,都有X `不能决定Y ,则称Y 对X 完全函数依赖,记作: X →Y例 给定一个学生选课关系SC(Sno ,Cno ,G),我们可以得到 F={(Sno ,Cno) →G},对(Sno ,Cno)中的任何一个真子集Sno 或Cno 都不能决定G ,所以,G 完全依赖于Sno ,Cno 。
(2)平凡的函数依赖:如果X →Y ,但Y 不完全函数依赖于X ,则称Y 对X部分函数依赖,记作:X →Y(3)传递依赖:在R(U)中,如果X →Y ,(Y ⊄X),Y →X ,Y →Z则称Z 对X 传递依赖。
(4)码:设K 为R(U ,F)中的属性的组合,若K →U ,则K 为R 的候选码,若有多个候选码,选一个作为主码。
注: 候选码也称候选关键字。
fpf(5) 主属性和非主属性:包含在任何一个候选码中的属性叫做主属性,否则叫做非主属性。
(6) 外码:若R(U)中的属性或属性组X非R的码,但是另一关系的码,则称X为外码。
范式在关系数据库中的一个非常重要的问题就是如何评价分解后的各个关系模式的好坏。
通常可以通过判断分解后的模式达到几范式来评价模式的好坏。
范式有:1NF、2NF、3NF、BCNF、4NF和5NF。
这几种范式之间的关系如下:1NF⊃2NF⊃3NF⊃BCNF⊃4NF⊃5NF通过模式分解,将低一级范式的关系模式分解成了若干个高一级范式的关系模式的集合,这种过程叫做规范化。
下面将给出各个范式的定义。
1.1NF(第一范式)定义若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。
例供应者和它所提供的零件信息,关系模式如下:FIRST (Sno,Sname,Status,City,Pno,Qty)并且有F={Sno→Sname,Sno→Status,Status→City,(Sno,Pno) →Qty}。
具体的关系如图5—l所示。
从图5—1中可以看出,每一个分量都是不可再分的数据项,所以是1NF。
但是,1NF带来四个问题:(1)冗余度大:例如每个供应者的Sno,Sname,Status,City要与零件的种类一样多;(2)引起修改操作的不一致性:例如供应者S1从“天津”搬到“上海”,若稍不注意,就会使一些数据被修改,另一些数据没有被修改,导致数据修改的不一致性;(3)插入异常:若某个供应者的其它信息未提供时,如“零件号”,则不能进行插入操作;(4)更新异常:若供应商S4的P2零件销售完了,删除后,在基本关系FIRST 找不到S4,可S4又是客观存在的。
正因为上述原因引入了2NF。
2.2NF(第二范式)定义若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF。
即当1NF消除了非主属性对码的部分函数依赖,则成为2NF。
例FIRST关系中的码是Sno、Pno,而Sno→Status,因此非主属性Status 部分函数依赖于码,故非2NF的。
若此时,将FIRST关系分解为:FIRSTl(Sno,Sname,Status,City)∈2NFFIRST2(Sno,Pno,Qty) ∈2NF因为FIRSTl和FIRST2中的码分别为Sno和Sno,Pno每一个非主属性完全依赖于码。
3.3NF(第三范式)定义若关系模式R(U,F)中不存在这样的码X,属性组Y及非主属性Z(Z⊆Y)使得X→Y,(Y→X)Y→Z成立,则关系模式R∈3NF。
即当2NF消除了非主属性对码的传递函数依赖,则成为3NF。
例FIRSTl∉3NF,因为在分解后的关系模式FIRSTl中有:Sno→Status,Status→City,存在着非主属性City传递依赖于码Sno。
4.BCNF(巴克斯范式);⊆定义若关系模式R∈1NF,若X→Y且Y X时,X必含有码,则关系模式R∈BCNF。
即当3NF消除了主属性对码的部分和传递函数依赖,则成为BCNF。
结论一个满足BCNF的关系模式,应有如下性质:(1)所有非主属性对每一个码都是完全函数依赖;(2)所有非主属性对每一个不包含它的码,也是完全函数依赖;(3)没有任何属性完全函数依赖于非码的任何一组属性。
(三)多值依赖1.多值依赖定义若关系模式R(U)中,X、Y、Z是U的子集,并且Z=U—X—Y。
当且仅当对R(U)的任何一个关系r,给定一对(x,z) 值,有一组Y的值,这组值仅仅决定于x值而与z值无关,则称“Y 多值依赖于X”或“X多值决定Y”成立。
记为:X→→Y。
2.多值依赖的性质多值依赖具有如下六条性质:(1)多值依赖具有对称性。
即若X→→Y,则X→→Z,其中Z=U—X—Y(2)多值依赖的传递性。
即若X→→Y,Y→→Z,则X→→Z—Y(3)函数依赖可以看成是多值依赖的特殊情况(4)若X→→Y,X→→Z,则X→→YZ(5)若X→→Y,X→→Z,贝,X→→Y⋂Z;(6)若X→→Y,X→→Z,则X→→Z—Y。
3.4NF(第四范式)定义(4NF)若关系模式R∈1NF,若对于R的每个非平凡多值依赖X→→Y ⊆且Y X时,X必含有码,则关系模式R(U,F)∈4NF。
(四)函数依赖的公理系统Armstrong公理系统:设关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么有如下推理规则:(1)A1自反律:若Y⊆X⊆U,则X→Y为F所蕴涵;(2)A2增广律:若X→Y为F所蕴涵,且Z⊆U,则XZ→YZ为F所蕴涵;(3)A3传递律:若X→Y,Y→Z为F所蕴涵,则X→Z为F所蕴涵。
根据上述三条推理规则又可推出下述三条推理规则:(1) 合并规则:若X →Y ,X →Z ,则X →YZ 为F 所蕴涵(2) 伪传递率:若X →Y ,WY →Z ,则XW →Z 为F 所蕴涵(3) 分解规则:若X →Y ,Z →Y ,则X →Z 为F 所蕴涵。
引理:X →A :A1…A2… A1成立的充分必要的条件是X →Ai 成立(I=1,2,3…,k )(五)函数依赖的闭包F +及属性的闭包X +:1. 函数依赖的闭包定义 关系模式R(U ,F)中为F 所逻辑蕴含的函数依赖的全体称为F 的闭包,记为:F +。
2. 属性的闭包 定义 设F 为属性集U 上的一组函数依赖,X ⊆U , ={A | X →A 能由F根据Armstrong 公理导出},则称 为属性集X 关于数依赖集F 的闭包。
3. 求属性X 的闭包X 吉的算法 算法 求属性的闭包 输入 X ,F输出 步骤(1) 令X (0)=X ,i =0(2) 求B ,B ={A |(∃v)(∃w)}(V →W ∈F ∧ V ∈X (i) ∧A ∈W)}(3) X (i+1)=B X (i)(4) 判断X (i+1)= X (i) 吗(5)若相等,或X (i)=U ,则X (i)为属性集X 关于函数依赖集F 的闭包。
且算法终止(6)若不相等,则i =i+1,返回第二步F X +FX + F X + FX +FX +FX +F例1 已知关系模式R(U ,F),U ={A ,B ,C ,D ,E);F ={A →B ,D →C ,BC →E ,AC →B}求 解 求 ,由上述算法,设X (0)=AE计算X (1): 逐一扫描F 中的各个函数依赖,找到左部为A 、E 或AE 的函数依赖,得到一个:A →B 。
故有X (1)=AE B 。
计算X (2):逐一扫描F 中的各个函数依赖,找到左部为ABE 或ABE 子集的函数依赖,因为找不到这样的函数依赖,所以,X (1)=X (2)。
算法终止,=ABE 。
求(AD);,由上述算法,设XtO ’=AD计算X ‘”:逐一扫描F 中的各个函数依赖,找到左部为A 、D 或AD 的函数依赖,得到两个:A+B ,D--~C 函数依赖。
故有XCl ’:ADUBC 。
计算X ‘n :逐一扫描F 中的各个函数依赖,找到左部为ADBC 或ADBC 子集的函数依赖,得到两个:BC —E ,AC —B 函数依赖。
故有X ‘2,:ABCDUE 。
所以,X(2’:ABCDE :U ,算法终止, (AD)吉:ABCDE 。
(六)最小函数依赖集1.等价和覆盖定义 一个关系模式R(U ,F)上的两个依赖集F 和G ,如果F ’=G ’,则称F 和G 是等价的,记做F 三G 。
若F 三G ,则称G 是F 的一个覆盖,反之亦然。
两个等价的函数依赖集在表达能力上是完全相同的。
2.最小函数依赖集定义 如果函数依赖集F 满足下列条件,则称F 为最小函数依赖集或最小覆盖。
; (1)F 中的任何一个函数依赖的右部仅含有一个属性;”(2)F 中不存在这样一个函数依赖X —A ,使得F 与F 一{X — A}等价;扩 (3)F 中不存在这样一个函数依赖X —A ,X 有真子集Z 使得 F 一{X —A}U{Z+A}与F 等价。
;· 3.计算最小函数依赖集的算法。
算法 计算最小函数依赖集。
输入 一个函数依赖集(AE)+ F(AD)+ F (AE)+F (AE)+ F输出F的一个等价的最小函数依赖集G。
步骤(1)用分解的规则,使F中的任何一个函数依赖的右部仅含有一个属性;,:’(2)去掉多余的函数依赖:从第一个函数依赖X+Y开始将其从F中去掉,然在剩下的函数依赖中求X的闭包X’,看X’是否包含Y,若是,则去掉X—Y;否则不能去掉,依次做下去。
直到拽不到冗余的函数依赖;(3)去掉各依赖左部多余的属性。
一个一个地检查函数依赖宏部非单个属性的依赖。
例如XY+A,若要判Y为多余的,则以醑+A代替XY+A是否等价?若AE(X)’,则Y是多余属性,可以去掉。
例2 已知关系模式R(U,F),U={A,B,C,D,E,G};江F={AB+C,D—EG,C—A,BE+C扩BC—D,CG—BD,ACD-~B,CE—AG};请将F化为最小函数依赖集。