一、多值依赖与关系的第四范式
1.多值依赖的定义
多值依赖:
2.多值依赖的特性
1.对于X给定值,Y有一组值与之对应(0个或者n个)且这组Y值不以任何方式与U-X-Y中属性值相联系,有X→→Y。
2.若交换t,s的Y值而得到的新元组仍在r中,则X→→Y。
3.X,Y不必相交,u,v也可以与t,s相同。
4.函数依赖是多值依赖的特例。
5.令Z=U-X-Y,有X→→Z,若Z=∅,则必有X→→Y。
## 3.关系的第四范式
4NF:
第四范式消除了非主属性对候选键以外属性的多值依赖。
二、关于多值依赖的公理
1.多值依赖的Armstrong公理
三、模式分解存在的问题
1.模式分解的概念
当模式不符合关系范式时,进行模式分解。
1.模式分解:
2.模式分解需要关注:
①R与ρ在数据内容方面是否等价:分解的无损连接性。
②R与ρ在数据依赖方面是否等价:分解的保持依赖性。
3.关于模式分解的一些特性:数据内容的等价性
四、无损连接分解及其检验算法
1.无损连接分解的概念
大的模式关系得到的一个集合投影到小的关系上的一个集合,连接的结果与之前的关系是相同的。
2.无损连接分解的检验算法
例:
3.检验无损连接算法
4.保持依赖分解的概念
保持依赖:
注:①保持依赖的分解可能不是无损连接的。
②无损连接的分解可能不是保持依赖的。
无损连接的判断方式:
R1∩R2是Z,R2-R1是C,而Z又决定C,所以是无损分解。
保持依赖的判断方式:
这里的R2是由Z→C保持的,但是CS→Z是没有保持下来的,所以不符合保持依赖分解。
5.保持依赖分解的检验算法应用实例
五、将关系模式分解为3NF或BCNF
关系模式分解成BCNF
1.关系模式无损连接地分解成BCNF示例
关系模式无损连接的分解成BCNF的算法。
2.关系模式保持依赖性的分解成3NF(将每一个函数依赖单独组成一个关系)。
3.关系模式保持依赖的分解又无损连接的分解成3NF的算法
六、连接依赖与第5NF
1.连接依赖
例:
2.关系的第5NF
当且仅当关系模式R的每个连接依赖均按其候选键进行连接运算时,则称R是第5范式。
第5范式消除了不按候选键连接的函数依赖。
3.数据库设计理论
数据依赖理论
关系范式理论
模式分解理论