4.6关系模式分解及规范化步骤(课件)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

2024-03-21
| 32页
| 63人阅读
| 1人下载
普通

内容正文:

关系数据库规范化理论 第4章 目录 01 关系规范化 的引入 02 函数依赖 03 函数依赖的 公理系统 04 关系模式的 规范化 05 多值依赖 与4NF 06 关系模式分解 及规范化步骤 本章主要内容 通过第2、3章的学习,学生可以完成数据库关系模型的设计及实现。每种关系模型对应一种关系模式,关系模式的好坏直接决定数据的完整性、准确性、一致性和操作性。然而,是不是所有满足关系模型的关系模式设计都是“最好”的设计?不同的关系模式设计会出现什么样的问题?有没有什么理论标准来评价或者优化该关系模式,使其成为“更好”的关系模式设计? 本章重点内容是学习如何针对具体的应用项目,从概念模型设计出发,通过不断优化,实现一个“较好”的数据库关系模式设计。其内容包括关系模式设计存在的常见问题,关系模式中属性间依赖关系及函数依赖的公理系统理论,最小函数依赖集及其求解算法,范式及其转换步骤和多属性之间的依赖关系。 关系模式分解 及规范化步骤 第4章 06 4.6 关系模式分解 定义: 假设有关系模式R(U,F),U是属性全集,F是函数依赖集,其中,{,,…,}是U的子集,且,如果用一个关系模式的集合代替R(U),就称ρ是关系模式R(U)的一个分解。 为确保模式分解前后保持一致性,在R(U,F)分解为ρ的过程中,需要考虑以下两个问题: (1)R和ρ是否等价。 (2){F1,F2,…,Fn}是否与F等价。 对以上两个问题的讨论,主要考虑模式分解后数据依赖的一致性,即分解要能够保持无损连接性和保持函数依赖性,如若破坏这种依赖关系,就失去了分解的意义。 4.6.1 无损分解 1.无损分解的定义 定义: 设R(U,F)是一个关系模式,F是R上的一个函数依赖集,R分解为关系模式集合。如果对于R中满足F的每一个关系r,都有,则称分解相对于F是无损连接分解(Lossingless Join Decomposition),简称为无损分解,否则就称为有损分解(Lossy Decomposition)。 4.6.1 无损分解 【例4.14】已知关系模式R(U,F),其中属性集U={A,B,C},F={A→B,A→C},如若将R分解后的关系模式集合为:ρ1={R1{A,B},R2{A,C}},ρ2={R3{A,B},R4{B,C}},依据无损分解的定义,判断ρ1、ρ2是否为无损分解。 解:(1)如图4.5(a)所示,r是关系模式R(U,F)上的一个关系,图4.5(b)和图4.5(c)分别是r在R1、R2上的投影r1和r2。r1与r2自然连接后,得到图4.5(d)所示的关系模式。由图4.5(a)与图4.5(d)可知,分解后ρ1能够恢复到r,因此ρ1是一个无损分解。 (2)图4.5(e)和图4.5(f)分别是r在R3、R4上的投影r3和r4。r3与r4自然连接后,得到图4.5(g)所示的关系模式。由图4.5(g)可知,分解后ρ2不能够恢复到r,因此ρ2是一个有损分解。 4.6.1 无损分解 图4.5 有损分解与无损分解示意图 4.6.1 无损分解 2.无损分解测试算法 无损分解测试算法:假设有关系模式R(U,F),其中,U={A1,A2,…,An},R(U)的一个分解是,判断ρ是否为无损分解的算法如下。 输入: (1)关系模式R(U),其中,U={A1,A2,…,An}; (2)R(U)上成立的函数依赖集F; (3)R(U)的一个分解,而。 输出: ρ相对于F是否为无损分解。 4.6.1 无损分解 具体步骤如下: (1)构造一个k行n列的表格,每列对应一个属性,每行对应一个模式的属性集合。如果在中,那么在表格的第i行第j列处填写,否则填写。 (2)根据函数依赖集F中的每个函数依赖,重复地修改表格中的元素,直至表格不能修改为止。 具体操作过程:从F中按照某种顺序取某一函数依赖X→Y,在表格中查询X分量,如若存在表格内有两行在X上分量相等,在Y分量上不相等,则修改Y分量的值,使这两行在Y分量上相等,具体修改过程分以下两种情况。 ① 如若其中一个Y分量是aj,则将另一个也修改成aj。 ② 如若Y分量均不是aj,则用标号较小的bij替换另一个标号。 (3)重复操作,当按着F中的顺序,根据所有函数依赖对表格修改完毕后,如若表格中有一行全是a,即a1,a2,…,an,则ρ相对于F是无损分解,否则是有损分解。 4.6.1 无损分解 【例4.15】设有关系模式R(U,F),U={A,B,C,D,E},。R(U,F)的一个模式分解。下面使用无损分解测试算法“追踪”判断ρ是否为无损分解。 解:(1)根据题意,构建一个5行5列的初始表格,如表4.16所示。 4.6.1 无损分解 (2)根据函数依赖F中的函数依赖,修改表格元素。 ① 根据函数依赖A→C,可对表4.16进行

资源预览图

4.6关系模式分解及规范化步骤(课件)-《数据库应用技术-SQL Server》同步教学(人民邮电版)
1
4.6关系模式分解及规范化步骤(课件)-《数据库应用技术-SQL Server》同步教学(人民邮电版)
2
4.6关系模式分解及规范化步骤(课件)-《数据库应用技术-SQL Server》同步教学(人民邮电版)
3
4.6关系模式分解及规范化步骤(课件)-《数据库应用技术-SQL Server》同步教学(人民邮电版)
4
4.6关系模式分解及规范化步骤(课件)-《数据库应用技术-SQL Server》同步教学(人民邮电版)
5
4.6关系模式分解及规范化步骤(课件)-《数据库应用技术-SQL Server》同步教学(人民邮电版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。