数据库原理与应用第四章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1 数 据 依 赖
3. 最小函数依赖集 每一个函数依赖集F均等价于一个极小函数依赖集Fm。此
Fm称为F的最小依赖集。
4.2 关系的规范化
4.2.1 第一范式
如果一个关系模式R的所有属性都是不可分的基本数据项, 则R∈1NF。
第一范式是对关系模式的最起码的要求。不满足第一范式 的数据库模式不能称为关系数据库。但是满足第一范式的关系 模式并不一定是一个好的关系模式。
4.3 模 式 分 解
4.3.1 模式分解规则
分解具有“无损连接性”(Lossless join)。 分解要“保持函数依赖”(Preserve functional dependency)。 分解既要“保持函数依赖”,又要具有“无损连接性”。
4.3 模 式 分 解
4.3.2 模式分解方法
如果一个分解具有无损连接性,则它能够保证不丢失信息。 如果一个分解保持了函数依赖,则它可以减轻或解决各种 异常情况。 分解具有无损连接性和分解保持函数依赖是两个互相独立 的标准。具有无损连接性的分解不一定能够保持函数依赖。同 样,保持函数依赖的分解也不一定具有无损连接性。
4.1 数 据 依 赖
2. 三种函数依赖 在R(U)中,如果X→Y,并且对于X的任意一个真子集X‘,
都有X’不能确定Y,则称Y对X完全函数依赖。 若X →Y,但Y不完全函数依赖于X,则称Y对X部分函数依
赖。
在R(U)中,如果X→Y,(X不属于Y),Y→Z,(Z不属于
Y),则称Z对X传递函数依赖。
关 系 模 式 R<U , F>∈1NF , 如 果 对 于 R 的 每 个 函 数 依 赖 X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。
4.3 模 式 分 解
把泛关系模式R用一组关系模式的集合ρ={R1,R2,…, Rk}来表示(R1,R2,...,Rk)都是R的子集,ρ就是数据库模式。以ρ 代替R的过程称为关系模式的分解。实际上,关系模式的分解不 仅仅是属性集合的分解,它是对关系模式上的函数依赖集、以 及关系模式的当前值分解的具体表现。
数据依赖研究数据之间的联系;范式是关系模式的标准; 模式分解是自动化设计的基础。其中的重点是关系模式的规范 化式。
4.3 模 式 分 解
2.模式分解的具体算法 算法1 (合成法)转换为3NF的保持函数依赖的分解。 算法2 转换为3NF既有无损连接性又保持函数依赖的分解。
本章小结
本章主要讨论关系数据库设计理论,列举了较多的实例, 详细介绍了关系数据库设计理论的三个方面:数据依赖、关系 的规范化和模式分解。
4.1 数 据 依 赖
4.1.3 函数依赖的公理系统
1. Armstrong公理系统
把自反律、传递律和增广律称为Armstrong公理系统。 Armstrong公理系统是有效的、完备的。Armstrong公理的 有效性指的是由F出发根据 Armstrong公理推导出来的每一个函 数依赖一定在F+中;完备性指的是F+中的每一个函数依赖,必 定可以由F出发根据Armstrong公理推导出来。 2. 属性集闭包 Armstrong公理的完备性及有效性说明了“导出”与“蕴含” 是两个完全等价的概念。于是F+也可以说成是由F出发借助 Armstrong公理导出的函数依赖的集合。
第4章 关系数据库设计理论
4.1 数据依赖 4.2 关系的规范化 4.3 模式分解
4.1 数 据 依 赖
4.1.1 函数依赖
1.函数依赖的定义
设有一关系模式R(A1,A2,…,An),X和Y均为R的子
集,对于R的任意一个可能的关系r来说,当其中任意两个元组u, v中对应于X的那些属性分量的值均相等时,则有u、v中对应于 Y的那些属性分量的值也相等,称X函数确定Y,或Y函数依赖于 X,记为X→Y。
4.3 模 式 分 解
4.3.3 模式分解算法
1. 关于模式分解的几个重要事实 (1)若要求分解保持函数依赖,那么模式分离总可以达到
3NF,但不一定能达到BCNF; (2)若要求分解既保持函数依赖,又具有无损连接性,可以
达到3NF,但不一定能达到BCNF; (3)若要求分解具有无损连接性,那一定可达到4NF。
一个低一级范式的关系模式,通过模式分解可以转换为若 干个高一级范式的关系模式的集合,这种过程就叫规范化。
4.2 关系的规范化
4.ห้องสมุดไป่ตู้.2 第二范式
若R1NF,且每一个非主属性完全函数依赖于码,则 R2NF。
4.2.3 第三范式
若R∈3NF,则每一个非主属性既不部分依赖于码也不传递 依赖于码。
4.2.4 BCNF