数据库系统概论——模式的分解
模式分解的定义
R<U,F>的一个分解指的是: ρ = R 1 < U 1 , F 1 > , . . . , R n < U n , F n > \rho = {R_1<U_1, F_1>, ..., R_n<U_n, F_n>} ρ=R1<U1,F1>,...,Rn<Un,Fn>,其中 U = U 1 ∪ U 2 ∪ . . . ∪ U n U = U_1 \cup U_2 \cup ... \cup U_n U=U1∪U2∪...∪Un且 U i ⊆ U j U_i \subseteq U_j Ui⊆Uj,$ 1 \leqslant i, j \leqslant n , , , F_i是F在U_i$上的投影
将低级关系模式分解为若干个高一级的关系模式并不是唯一的,只有能够保证分解后关系模式与原关系模式等价的方法才有意义
模式分解等价概念的三种不同定义
分解具有无损连接性
无损连接性要求分解后的关系模式进行自然连接后不会丢失信息
分解要保持函数依赖
要求分解后的关系模式保持原有的函数依赖
分解既要保持函数依赖又要具有无损连接性
同时具有保持函数依赖性和无损连接性
分解的无损连接性和保持函数依赖的模式分解
分解的无损连接性
$ \rho = {R_1<U_1, F_1>, …, R_n<U_n, F_n>} 是 是 是R<U,F> 的 一 个 分 解 , 若 对 于 的一个分解,若对于 的一个分解,若对于R<U, F> 的 任 何 关 系 的任何关系 的任何关系r 均 有 均有 均有r = r 在 在 在 \rho 中 各 关 系 模 式 上 投 影 的 自 然 连 接 成 立 , 则 称 分 解 中各关系模式上投影的自然连接成立,则称分解 中各关系模式上投影的自然连接成立,则称分解 \rho 具 有 无 损 连 接 性 , 简 称 具有无损连接性,简称 具有无损连接性,简称 \rho $为无损连接,只有具有无损连接性的分解才能够保持不丢失信息,无损连接性不一定能够解决插入异常、删除异常、修改复杂和数据冗余等问题
保持函数依赖的模式分解
$ \rho = {R_1<U_1, F_1>, …, R_n<U_n, F_n>} 是 是 是R<U,F> 的 一 个 分 解 , 若 F 所 逻 辑 蕴 含 的 函 数 依 赖 一 定 也 为 分 解 后 所 有 关 系 模 式 的 函 数 依 赖 的一个分解,若F所逻辑蕴含的函数依赖一定也为分解后所有关系模式的函数依赖 的一个分解,若F所逻辑蕴含的函数依赖一定也为分解后所有关系模式的函数依赖F_i 所 逻 辑 蕴 含 , 即 所逻辑蕴含,即 所逻辑蕴含,即F^+ = (F1 \cup F^2 \cup … Fn)+ , 则 称 关 系 模 式 ,则称关系模式 ,则称关系模式R 的 这 个 分 解 是 关 系 模 式 的这个分解是关系模式 的这个分解是关系模式R$这个分解是保持函数依赖的(Preserve dependency
)
作用
若一个分解具有无损连接性,能保证它不丢失信息,若一个分解保持了函数依赖,则可以减轻或解决各种异常情况
特别地,分解具有无损连接性和分解保持函数依赖是两个互相独立的标准,具有无损连接性的分解不一定能够保持函数依赖,保持函数依赖的也不一定具有无损连接性
模式分解算法
按照不同的分解算法,关系模式所能达到的范式是不同的
-
若要求分解保持函数依赖那么分解模式一定能够达到
3NF
,但不一定能够达到BCNF
-
若要求分解既有无损连接性又保持函数依赖,则模式分解一定能够达到
3NF
,不一定能够达到BCNF
-
若要求分解具有无损连接性,那么模式一定能够达到
4NF
关系模式规范化基本思想
-
逐步消除不合适的数据依赖中使模式中的各关系模式达到某种程度的分离,即进行模式分解
-
一事一地的模式设计原则
-
规范化理论为数据库设计提供了理论指南和算法工具
-
结合应用环境的具体情况,合理地设计数据库模式
关系模式规范化是关系数据库的重要理论依据,为数据库设计提供了理论指南和算法工具,是关系模式规范化实际应用价值
鸣谢
最后
- 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解