4.5多值依赖与4NF 课件(共14张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

4.5多值依赖与4NF 课件(共14张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源简介

(共14张PPT)
关系数据库规范化理论
第4章
目录
01
关系规范化
的引入
02
函数依赖
03
函数依赖的
公理系统
04
关系模式的
规范化
05
多值依赖
与4NF
06
关系模式分解
及规范化步骤
本章主要内容
通过第2、3章的学习,学生可以完成数据库关系模型的设计及实现。每种关系模型对应一种关系模式,关系模式的好坏直接决定数据的完整性、准确性、一致性和操作性。然而,是不是所有满足关系模型的关系模式设计都是“最好”的设计?不同的关系模式设计会出现什么样的问题?有没有什么理论标准来评价或者优化该关系模式,使其成为“更好”的关系模式设计?
本章重点内容是学习如何针对具体的应用项目,从概念模型设计出发,通过不断优化,实现一个“较好”的数据库关系模式设计。其内容包括关系模式设计存在的常见问题,关系模式中属性间依赖关系及函数依赖的公理系统理论,最小函数依赖集及其求解算法,范式及其转换步骤和多属性之间的依赖关系。
多值依赖与4NF
第4章
05
4.5.1 问题的引入
【例4.13】假设有教师授课关系TC(TNo,CNo,BNo),其中,TNo为教师编号,CNo为课程编号,BNo是教材书名,如表4.12所示。请分析在关系模式TC中各属性之间存在的关系。
很显然,表4.12中存在“一对多”关系,且表中存在大量的冗余。通过对教师授课关系TC仔细分析发现,该关系存在以下特点。
解:由表4.12我们发现如下语义规范。
(1)编号相同的课程可以由不同的教师授课,同时教师可以选用不同的教材。
(2)编号相同的教师可以教授不同的课程,同时教材可以相同或者不相同。
4.5.1 问题的引入
(2)属性集{TNo}和{BNo}之间也有数据关系,该关系是通过{CNo}建立起来的间接关系,然而,这种关系值得注意的是,当{CNo}的一个值确定之后,其所对应的一组{TNo}值与{}中的属性值无关,显然,这是“一对多”关系中的一种特殊情况,即“多对多”的关系。
经过以上分析可知,若属性X与Y之间的数据关系具有上述特征,就不再属于函数依赖关系,这种关系称为多值依赖。
4.5.2 多值依赖的基本概念
1.多值依赖的概念
定义:设有关系模式R(U),X、Y是属性集U中的两个子集,而r是R(U)中任意给定的一个关系。如果有下述条件成立,则称Y多值依赖于X,记为X→→Y。
(1)对于关系r在X上的一个确定的值(元组),都有r在Y中的一组值与之对应。
(2)Y的这组对应值与r在Z=U-X-Y中的属性值无关。
此时,若X→→Y,但Z=U-X-Y≠,则称为非平凡多值依赖,否则称为平凡多值依赖。平凡多值依赖的一个常见情形是U=X∪Y,此时Z=,多值依赖定义中关于X→→Y的要求总是满足的。
4.5.2 多值依赖的基本概念
由定义可知,说明了以下两点。
(1)X与Y之间的对应关系是相对宽泛的,即一个X值所对应的Y值的个数没有作任何强制性规定,Y值的个数可以是从零到任意多个自然数,是“一对多”的情形。
(2)所谓的“宽泛性”是指全模式的依赖关系,即X所对应的Y的取值与U-X-Y无关,是一种特殊的“一对多”的情形。
4.5.2 多值依赖的基本概念
2.多值依赖的性质
(1)多值依赖具有对称性;
(2)函数依赖可以看作是多值依赖的特殊情况;
(3)多值依赖具有传递性;
(4)多值依赖具有合并律;
4.5.2 多值依赖的基本概念
3.多值依赖与函数依赖的区别
4.5.2 多值依赖的基本概念
例如:假设有多值依赖关系R(U),属性集U包括{A,B,C,D},如若A→→BC,则A→→D成立,但是A→→B不一定成立,如表4.13所示。
4.5.3 第四范式
定义:设关系模式R(U,F)1NF,X和Y为R中的任意两个属性子集,如若对于任何非平凡的多值依赖X→→Y(YX),X都为R的超码,则称R为第四范式,记作:R4NF。
如果关系模式R(U,F)上存在函数依赖X→Y,则存在多值依赖X→→Y,如若R(U,F)属于4NF,则X为超码,由BCNF的定义知,R(U,F)BCNF。因此,由4NF的定义可以得出下面两点结论:
(1)4NF中的多值依赖都是非平凡的多值依赖。
(2)4NF中的所有的函数依赖都满足BCNF,但BCNF不一定是4NF。
4.5.3 第四范式
例如:例4.13中,关系模式TC(CNo,TNo,BNo),分析TC是否属于4NF。
解:根据语义分析,TC 的候选码为:{CNo,TNo,BNo};
主属性:CNo、TNo、BNo,没有非主属性,不存在非主属性对主属性的部分函数依赖和传递函数依,因此,TC属于BCNF
在多值依赖CNo→→TNo和CNo→→BNo中,由于CNo不是超码,因此关系模式TC不属于4NF。
4.5.3 第四范式
下面对关系模式TC进行分解,得到关系模式CT和CB,关系CT和CB分别如表4.14和表4.15所示。
分解后,在关系模式CT中,有CNo→TNo,是非平凡多值依赖,且CNo是候选码,因此关系模式CT属于4NF;同理,关系模式CB也属于4NF。

展开更多......

收起↑

资源预览