关系模式的规范化理论模板
04-1 关系规范化理论
消除冗余数据,但丢失数据依赖关系
7
(3)第三种分解方法
• • • • S(学号,学生姓名,学院名称,导师姓名) P(项目编号,项目名称) D(学院名称,院长) T(承担任务)
消除冗余数据,但丢失了信息。
8
(4)第四种分解方法
• • • • S(学号,学生姓名,学院名称、导师姓名) P(项目编号,项目名称) D(学院名称,院长) S_P(学号,项目编号,承担任务)
43
二、Armstrong公理系统
对于关系模式R(U,F),有 • 公理1:自反律(Reflexivity) 若Y X U,则X→Y为F所蕴含。 • 公理2:增广律(Augmentation) 若X→Y为F所蕴含,且ZU,则XZ→YZ为F所蕴 含。 • 公理3:传递律(Transitivity) 若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。
自反律、增广律、传递律是最基本的Armstrong公理。
44
由自反律、增广律、传递律可以导出下面三条推理规则。
公理4:合并规则
由X→Y,X→Z,有X→YZ。 公理5:伪传递规则 由X→Y,WY→Z,有XW→Z 公理6:分解规则 由X→Y及 Z Y,有X→Z。
45
定理:Armstrong公理系统是有效的 (正确性)、完备的。 正确性:指公理1、2、3是正确的。 有效性:指由F出发根据Armstrong 公理推导出来的每一个函数依赖一 定在F+。 完备性:指F+中的每一个函数依赖, 必定可以由F出发根据Armstrong 公理推导出来。
10
解决方法
• 解决问题的方法就是将关系模式进一步分 解 • 将关系模式中的属性按照一定的约束条件 重新分组,争取“一个关系模式只描述一 个独立的实体”,使得逻辑上独立的信息 放在独立的关系模式中,即进行关系模式 的规范化处理。
数据库关系模式的规范化设计理论
4.3 关系模式旳规范化
第二范式(2NF)
定义4.13
若R(U)∈1NF,且每一种非主属性完全函数依赖于 某个候选键,称R(U)为第二范式,即R(U)∈2NF。
例
有关系模式R(U)=(Sno,Sdept,Sloc,Cno, Grade),候选键为(Sno,Cno)
Sno Grade
Cno
Sdept Sloc
4.2 关系模式旳函数依赖
再论关系与关系模式
关系模式是相对稳定旳、静态旳,而关系却是 动态变化旳,不稳定旳
关系旳每一次变化成果,都是关系模式相应旳 一种新旳详细关系。
小写字母r表达关系模式R(U)旳相应旳详细关 系
4.2 关系模式旳函数依赖
函数依赖旳一般概念
定义4.1
设R(U)是属性集U={A1, A2, …, An}上旳关系模式, X和Y是U旳子集。若对R(U)旳任一详细关系r中旳 任意两个元组t1和t2,只要t1[X]=t2[X]就有 t1[Y]=t2[Y],则称“X函数拟定Y”或“Y函数依赖 于X” (Founctional Dependence),记作X→Y。
多值依赖
平凡多值依赖
对于关系模式R(U),设X,Y是U旳子集,若 X→→Y,其中Z=U-X-Y=∅,则称X →→Y为平凡多 值依赖,不然成为非平凡多值依赖。
4.3 关系模式旳规范化
第四章
关系模式旳规范化设计理论
学习目的
掌握规范化理论旳有关概念和措施 掌握函数依赖定义及其推理规则 掌握多种范式及其相互关系 掌握关系模式分解中存在旳问题、分解旳
无损连接性和保持函数依赖性等
4.1 问题旳提出
关系模式可能存在旳异常
学号
课程号
任课教师 任课教师所在系
5第五章第4讲关系模式的规范化
5第五章第4讲关系模式的规范化关系模式的规范化是数据库设计中的一个重要概念,它通过一系列规则和规范化原则,使得关系模式能够更加合理、高效地组织和管理数据。
规范化的目的是消除冗余和数据依赖,以避免数据异常和不一致的情况发生。
本文将介绍关系模式规范化的基本概念、规则和原则,并讨论规范化的实际应用。
关系模式规范化的基本概念是:在关系数据库中,每个关系模式都应该经过规范化,以达到最佳的数据结构和数据组织方式。
规范化是一个多阶段的过程,每个阶段都有特定的规则和原则。
第一范式(1NF)是最基本的规范化原则。
它要求每个关系模式的属性都是原子性的,即不可再分的。
这意味着属性的值不可以是集合、数组或多值的。
如果一个属性的值可以被分解为更小的数据项,则需要拆分为多个属性,使得每个属性都是原子的。
第二范式(2NF)要求在满足1NF的基础上,消除非主属性对码的部分函数依赖。
函数依赖指的是当一个属性的值确定之后,另一个属性的值也能确定。
如果一个属性只依赖于码中的一部分属性,而不是整个码,那么它就存在部分函数依赖,需要拆分为多个关系模式,以消除这种依赖。
第三范式(3NF)要求在满足2NF的基础上,消除非主属性对互相之间的传递依赖。
传递依赖指的是当一个属性的值确定之后,其他非主属性的值也能确定。
如果一个非主属性依赖于另一个非主属性,而不是直接依赖于码,那么它就存在传递依赖,需要拆分为多个关系模式,以消除这种依赖。
此外,还有更高级的规范化形式,如BCNF(巴斯-科德范式)和第四范式。
BCNF要求在满足3NF的基础上,消除所有非主属性对码的冗余依赖。
第四范式则要求在满足BCNF的基础上,消除多值依赖和联合依赖。
这些规范化原则和规则都是为了最大程度地消除数据冗余和依赖问题,并提高数据库的性能和数据完整性。
关系模式规范化在实际应用中有着广泛的应用。
首先,在数据库设计阶段就应该考虑规范化原则,选择合适的属性和关系模式,避免冗余和依赖问题。
(有例子)关系数据模式的规范化理论
在某些情况下,为了保持数据的完整性,可能会导致数据冗余。
维护困难
当需要添加、删除或修改数据时,可能需要修改多个相关表,增 加了维护的复杂性。
第二范式(2NF)
点击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅的 阐述您的观点。
定义与特性
特性
必须消除非主属性对候选键的部分 函数依赖。
设计和实施难度
4NF需要仔细设计和实施,以避免出现不必要的复杂性和问题。在实践中,完 全符合4NF的设计并不总是可行的,有时需要进行适当的反规范化以提高性能。
07
关系数据模式规范化的实践建议
选择合适的规范化级别
第一范式 (1NF): 确保属性值 是原子的,消除重复的组。
第二范式 (2NF): 在1NF基础 上,消除部分依赖。
第四范式(4NF)通过消除多值依赖,确保了数据的 无冗余性,从而提高了数据的一致性和完整性。
简化数据模型
4NF将数据模型简化为更简单的形式,使得数据的处 理和查询更加高效。
减少数据冗余
通过消除多值依赖,4NF有效地减少了数据冗余,避 免了数据不一致的问题。
4NF的缺点与问题
性能影响
由于4NF对数据模型进行了高度的规范化,可能会导致查询性能下降。因为为 了获取所需的数据,可能需要连接更多的表,导致查询效率降低。
重要性
随着数据库技术的不断发展,规范化理论在关系型数据库的设 计和管理中扮演着至关重要的作用。它有助于减少数据冗余、 避免数据异常和数据不一致性,提高数据的可维护性和可扩展 性,降低数据库的维护成本。
规范化过程简介
原始关系数据模式的识别
明确需要规范化的原始关系数据模式,包括 各个关系模式的属性和实体。
《关系模式的规范化》课件
THANKS
THANK YOU FOR YOUR WATCHING
关系模式的规范化主要基于函数依赖和范式的理论,通过逐 步消除冗余属性、处理数据依赖冲突,最终达到一定的规范 化程度,如第三范式(3NF)或更高范式。
关系模式规范化的重要性
减少数据冗余
规范化可以消除数据冗余,减少存储 空间的浪费,并降低数据维护成本。
保证数据一致性
通过规范化,可以确保数据的一致性 和完整性,避免因数据更新、删除操 作而产生的错误和异常。
从3NF到BCNF的转化
将关系模式分解为多个关系模式,使得每个 关系模式都满足3NF和BCNF。
07
关系模式规范化的应用场景
数据库设计
数据结构合理化
通过规范化,确保数据库中的关 系模式满足一定的范式要求,从 而使数据结构更加合理、清晰, 降低数据冗余和操作异常的风险 。
提高数据一致性
规范化有助于保证数据的一致性 ,避免数据在不同表中重复存储 ,从而降低数据不一致的问题。
BCNF范式消除了传递依赖,从而减 少了数据冗余和更新异常的可能性。
VS
BCNF范式是相对较弱的范式,它允 许有部分函数依赖,但不允许有完全 函数依赖。
如何达到BCNF
识别关系模式中的函数依赖, 并确定哪些是传递依赖。
通过分解关系模式或引入新 的候选键来消除传递依赖,
从而满足BCNF的要求。
在分解过程中,需要确保分解 后的关系模式仍然满足BCNF 的要求,并且能够保持数据的
03
通过规范化,可以降低因修改操作导致的数据完整性破坏的风
险,确保数据的准确性和一致性。
数据冗余消除
关系模式规范化设计理论
4.4.3 无损连接的测试(9)
⑵ 反复检查F中的函数依赖,修改表格元素: ① 根据AC,对以上表4.17(a)进行处理,由 于第1,2,5行在A分量(列)上的值为a1(相等),在 C分量(列)上的值不相等,所以将属性C列的 第1,2,5行上b13, b23, b53改为同一个符号b13,结 果见表4.17(b)
4.4.3 无损连接的测试(2)
表4.15 关系r及其投影
AB C
a1 b1 c1 a2 b1 c2 a7 b3 c3 a8 b4 c4 a9 b5 c5
AB
a1 b1 a2 b1 a7 b3 a8 b4 a9 b5
BC
b1 c1 b1 c2 b3 c3 b4 c4 b5 c5
关系r
关系r1
关系r2
4.4.3 无损连接的测试(5)
计算方法和步骤: ⑴构造一张k行n列的表格,每列对应一个属性
Aj(j=1, 2, …, n),每行对应一个模式Ri(Ui) 的属 性集合(i=1, 2, …, k)。如果Aj在Ui中,那么在表 格的第i行第j列处境上符号aj,否则填上符号bij, ⑵ 反复检查F的每一个函数依赖,并修改表格中的 元素,直到表格不能修改为止。其方法如下:
4.4.3 无损连接的测试(14)
定理4.13 如果R(U)的分解为={Rl(U1), R2(U2)}, 其 中 U=U1U2,F 为 R(U) 所 满 足 的函数依赖集合,则分解是无损连接的充 分 必 要 条 件 为 ( U1U2)(U1U2) 或 者 (U1U2)(U2U1)成立。 此定理表明,当模式R分解成两个关系模 式Rl(U1)和R2(U2)时,如果其公共属性能函 数决定U1或U2中的其它属性,这样的分解 就是无损连接的。
(参考资料)关系规范化
例
有一个关系如表所示。关系模式为:学生(学号,姓名, 性别,出生年月,班级编号,系编号,系名称,课程编号,课程名称, 成绩)
学号
姓名 性别 出生年月
班级 系编号 系名称 课程编号 课程名称 成绩
A101100102 赵盘 男 1988/2/4 A1011001 A101 软件工程 A101-01 软件制作 84
数据库技术及应用
1.2.4 关系规范化
在关系数据库设计的理论中很重要的就是关系规范化 理论。
关系规范化为具体问题,如何构造一个适合于它的数 据模式,即应该构造几个关系模式,每个关系由哪些属性 构成等内容,提供方法。
关系规范化理论的内容
数据依赖:研究数据之间的联系。 范式:关系模式的标准。 模式分解:模式设计的方法。
A101100102
赵盘
76
89
84
A101100109
江鑫
97
95
97
A101100113
……
……
……
满足第一范式的关系模式不一定就是一个好的关系模 式。例如,对于前面的关系“学生”存在数据冗余、插入 异常、删除异常等问题。
2.第二范式(2NF)
若R(U)∈1NF,且每一个非主属性完全函数依赖于某 个候选键,称R(U)为第二范式,即R(U)∈2NF。
1.第一范式(1NF)
如果一个关系模式R(U)的所有属性都是不可再分的基 本数据项,则称R(U)为第一范式,即R(U)∈1NF。
第一范式是对关系模式的最起码的要求。不满足第一 范式的数据库模式不能称为关系数据库。
例
已知关系模式学生(学号,姓名,性别,出生年月,班级编 号,系编号,系名称,课程编号,课程名称,成绩)
《关系模式的规范化》课件
1 减少数据Байду номын сангаас余
规范化可以减少数据存储 空间的占用,提高数据库 的性能和响应速度。
2 提高数据更新和修改
的效率
规范化可以减少数据更新 和修改时的复杂性,降低 数据不一致性的风险。
3 增强数据的可扩展性
规范化可以提高数据的可 扩展性,使得数据库能够 适应未来的需求变化。
规范化关系模式的方案
第一范式
1. 每个属性都是原子的 2. 每个属性只能包含一个值 3. 每个属性在一个关系中
结论和总结
通过规范化关系模式,我们可以提高数据库的性能、一致性和可维护性。规 范化是有效管理和组织数据库的重要工具。
只能出现一次
第二范式
1. 满足第一范式 2. 所有非主键属性完全依
赖于主键
第三范式
1. 满足第二范式 2. 不存在传递依赖
规范化关系模式的实施步骤
1
分析数据库
评估数据库的结构和关系,确定需要进行规范化的部分。
2
分解关系
将复杂的关系拆分为多个简单的关系,使每个关系都满足规范化的要求。
3
建立关系
建立新的关系和外键来表示原始关系之间的联系。
《关系模式的规范化》 PPT课件
这是一份关于关系模式规范化的PPT课件。通过本课件,我将向大家介绍背景、 定义、重要性、好处、实施步骤等相关内容,帮助大家更好地理解和应用关 系模式。
背景介绍
在数据库设计和管理中,关系模式是一种用于描述和组织数据的方法。了解背景可以帮助我们更好地理解关系 模式的起源和发展。
什么是关系模式
关系模式是一种用表格形式表示实体、属性和关系的数据结构,它是关系数 据库的基础。关系模式中的实体由表格的行表示,属性由表格的列表示。
第6章关系数据库规范化理论
·包含在任一候选码中的属性,叫做主属性(Prime Attribute);
第6章 关系数据库规范化理论
· 不包含在任何码中的属性称为非主属性 (Nonprime Attribute)或非码属性(Non―key Attribute);
第6章 关系数据库规范化理论
2. 插入与删除异常 无法插入某部分信息或删除掉不应删除的信息称 为插入或删除异常。
例如,9级工资为660元的信息无法插入表。 因为该 表的码是姓名,而目前无职工工资级别为9级,表中不能 插入码为空值的记录。 即在插入一行时,此关系模式强 迫同时增加关于两个实体的数据。 又如,要删除姓名为 C的职工记录时,又将7级工资的信息一起删去了。 即在 删除一行时,删除了关于两个实体的数据。
属性间的联系可分为以下三类: 1. 一对一关系(1∶1) 以职工模式为例: 职工(职工号,姓名,职称,部 门),如果该企业(或单位)中职工无重名,则属性职工 号与姓名之间是1∶1关系。 一个职工号唯一地决定一 个姓名,一个姓名也可决定唯一的职工号。 设X、 Y是关系R的两个属性(集)。 如果对于X 中的任一具体值,Y中至多有一个值与之对应,且反之亦 然,则称X、 Y两属性间是一对一关系。
是唯一的。 对表 6 ― 4、 表 6 ― 5分别进行横向和纵 向展开,可分别转化为如表 6 ― 6、 表 6 ― 7 所示的符 合1NF的关系。
第6章 关系数据库规范化理论
6.1 关系规范化的作用
所谓规范化,就是用形式更为简洁、 结构更加规范 的关系模式取代原有关系的过程。
例 有三个属性的工资表(姓名,级别,工资)关系模 式。 对应此模式建立的表如表 6 ― 1 所示。
数据库原理04-1 关系规范化理论
46
第四范式(续)
例: Teach(C,T,B) ∈ 4NF。 存在非平凡的多值依赖
C→→T, C→→B且C不是候选码
• 用投影分解法把Teach分解为如下两个关系模式:
CT(C, T) ∈ 4NF CB(C, B) ∈ 4NF C→→T, C→→B是平凡多值依赖
47
规范化小结
• 关系数据库的规范化理论是数据库逻辑 设计的工具。 • 一个关系只要其分量都是不可分的数据 项,它就是规范化的关系,但这只是最 基本的规范化。 • 规范化程度可以有多个不同的级别
8
例:U={学号,系部,系主任,课程名称,成绩} F={学号→系部,系部 →系主任, (学号,课程名称) →成绩}
注意:函数依赖不是指关系模式R的某 个或某些关系满足的条件,而是指R的 一切关系均要满足的约束条件
9
由定义可以导出下列概念:
1. 决定因素:若X →Y,则X叫做决定因素 2. 平凡的函数依赖:X →Y,Y X,则称 X→Y是平凡的函数依赖。 3. 非平凡的函数依赖:X →Y,但Y X, 则称X→Y是非平凡的函数依赖。 4. 互相依赖:若X→Y, Y→X, 则记作X ←→Y。 5. 若Y不函数依赖于X,则记作X → Y。
10
定义4.2 :完全函数依赖
在R(U)中,如果X →Y,并且对于X的任 何一个真子集X’,都有X’ →Y,则称Y对X完 全函数依赖。记作: F Y X
定义4.3 :部分函数依赖
在R(U)中,如果X →Y,并且对于X的一 个真子集X’,有X’ → Y,则称Y对X部分函 数依赖。记作: P Y X
定义4.4:传递函数依赖
规范化 数据依赖的公理系统 模式分解
1
一个低一级范式的关系模式,通过模 式分解可以转换为若干个高一级范式 的关系模式的集合,这种过程就叫做 规范化。 范式表示关系模式满足的某种级别。
关系数据库规范化理论模板
第4章关系数据库规范化理论数据库设计的一个最基本的问题是怎样建立一个合理的数据库模式, 使数据库系统无论是在数据存储方面, 还是在数据操作方面都具有较好的性能。
什么样的模型是合理的模型, 什么样的模型是不合理的模型, 应该经过什么标准去鉴别和采取什么方法来改进, 这是在进行数据库设计之前必须明确的问题。
为使数据库设计合理可靠、简单实用, 长期以来, 形成了关系数据库设计理论, 即规范化理论。
它是根据现实世界存在的数据依赖而进行的关系模式的规范化处理, 从而得到一个合理的数据库设计效果。
本章首先说明关系规范化的作用, 接着引入函数依赖和范式等基本概念, 然后介绍关系模式等价性判定和模式分解的方法, 最后简要介绍两种数据依赖的概念。
4.1 关系规范化的作用4.1.1问题的提出从前面的有关章节可知, 关系是一张二维表, 它是涉及属性的笛卡尔积的一个子集。
从笛卡尔积中选取哪些元组构成该关系, 一般是由现实世界赋予该关系的元组语义来确定的。
元组语义实质上是一个n目谓词( n是属性集中属性的个数) 。
使该n目谓词为真的笛卡尔积中的元素( 或者说凡符合元组语义的元素) 的全体就构成了该关系。
但由上述关系所组成的数据库还存在某些问题。
为了说明的方便, 我们先看一个实例。
【例4.1】设有一个关于教学管理的关系模式R(U), 其中U由属性Sno、Sname、Ssex、Dname、Cname、Tname、Grade 组成的属性集合, 其中Sno的含义为学生学号, Sname为学生姓名, Ssex为学生性别, Dname为学生所在系别, Cname为学生所选的课程名称, Tname为任课教师姓名, Grade为学生选修该门课程的成绩。
若将这些信息设计成一个关系, 则关系模式为:教学( Sno, Sname, Ssex, Dname, Cname, Tname, Grade) 选定此关系的主键为( Sno,Cname) 。
关系数据模式的规范化理论
第一范式的原则和规则
第一范式要求数据库表中的每个属性都是原子性的,不可再分解,确保数据的唯一性。
第二范式的原则和规则第二范式要数据库表中的非主键属性必须完全依赖于主键,消除了数据冗 余和更新异常。
第三范式的原则和规则
第三范式要求数据库表中的非主键属性不应相互依赖,消除了数据冗余和传递依赖。
逆范式的概念和应用
关系数据模式的规范化理论
本部分介绍关系数据模式的规范化理论,包括规范化理论的定义和关系数据 库的基本概念。
规范化理论的定义
规范化理论是数据库设计中的基本原则,用于优化数据库结构,提高数据存 储和操作的效率。
关系数据库的基本概念
关系数据库是按照关系模型组织的数据集合,具有集合、表、行和列等基本概念。
逆范式是指在某些情况下,有意将数据冗余存储在数据库中,以提高查询性 能。
规范化理论的优缺点
规范化理论的优点是提高了数据的一致性和完整性,减少了数据冗余和更新异常。缺点是增加了数据库的复杂 性和查询的复杂度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章关系模式的规范化理论关系数据库的规范化设计是指面对一个现实问题, 如何选择一个比较好的关系模式集合。
规范化设计理论对关系数据库结构的设计起着重要的作用。
关系模型有严格的数学理论基础, 因此人们就以关系模型为作为讨论对象, 形成了数据库逻辑设计的一个有力工具――关系数据库的规范化理论。
本章内容( 1) 关系模式的冗余和异常问题。
( 2) FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系; 平凡的FD; 属性集的闭包; 推理规则的正确性和完备性; FD集的等价; 最小依赖集。
( 3) 无损分解的定义、性质、测试; 保持依赖集的分解。
( 4) 关系模式的范式: 1NF, 2NF, 3NF, BCNF。
分解成2NF、3NF 模式集的算法。
( 5) MVD、4NF、5NF的定义。
一, 关系模式设计中的问题1.什么是好的数据库构建好的, 合适的数据库模式, 是数据库设计的基本问题a) 体现客观世界的信息b) 无过度的冗余c) 无插入异常d) 无删除异常e) 无更新复杂如书上的S_C_G关系。
假设需要设计一个学生学习情况数据库StuDB。
下面我们以模式S_C_G( Sno, Sname, Dname, Age, Cno, Cname, Score, Pre_cno) 为例来说明该模式存在的问题。
下表是其一个实例。
3冗余度大: 每选一门课, 她本人信息和有关课程信息都要重复一次。
4插入异常: 插入一门课, 若没学生选修, 则不能把该课程插入表中。
5删除异常: 如S11号学生的删除, 有一门只有她选, 会造成课程的丢失。
6更新复杂: 更新一个人的信息, 则要同时更新很多条记录。
还有更新选修课时也存在这样的情况。
2.异常的原因:数据信赖的约束3.解决方法:数据库设计的规范化: 分解, 每个相正确独立, 依赖关系比较单纯, 如分解为3NF我们采用分解的方法, 将上述S_C_G分解成以下三个模式:S( Sno, Sname, age, Dname)C( Cno, Cname, Pre_cno)S_C( Sno, Cno, Score)4.规范化设计理论包括三个内容:i> 数据信赖---- 核心, 研究数据之间的联系ii> 范式---- 关系模式的标准iii> 模式设计方法---- 自动化设计的基础二, 函数依赖( Functional Dependency, FD)1. 函数依赖的定义: ( 还有非函数的依赖? , 什么是函数? 给出一个值能唯一确定另外一个值? 映射: 一对一, 多对一, 一对多?)定义: 函数依赖是指一个或一组属性能够( 唯一) 决定其它属性的值。
数学的语言:设有关系模式R(U), 其中U={A1, A2, …, A n}是关系的属性全集, X、Y是U的属性子集, 设t和u是关系R上的任意两个元组, 如果t和u在X的投影t[X]=u[X]推出t[Y]=u[Y], 即: t[X]=u[X] => t[Y]=u[Y],则称X函数决定Y, 或Y函数依赖于X。
记为X→Y。
在上述的关系模式S( Sno, Sname, age, Dname) 中, 存在以下函数依赖:Sno→ageSno→Dname...( Sno,Cno) →Score...2. 几种类型的函数依赖定义6.2( 非平凡函数依赖、 平凡函数依赖) : 一个函数依赖X →Y 如果满足Y ⊈X, 则称此函数依赖为非平凡函数依赖, 否则称之为平凡函数依赖。
例如X →Φ, X →X , XZ →X 等都是平凡函数依赖。
定义6.3( 完全函数依赖、 部分函数依赖) : 设X 、 Y 是关系R 的不同属性集, 若X →Y ( Y 函数依赖于X) , 且不存在X’ ⊂X , 使X’→Y , 则称Y 完全函数依赖于X, 记为Y X f −→−; (即不存在真子集依然是函数依赖关系的函数依赖是完全函数依赖)。
否则则称Y 部分函数依赖于X, 记为Y X p −→−。
例如, 在上例关系S 中, Dname f −→−Sno 是完全函数依赖; Dname p −→−Snam e)(Sno, 、 Dname p −→−age)(Sno, 是部分函数依赖。
在属性Y 与X 之间, 除了完全函数依赖和部分函数依赖关系等直接函数依赖, 还存在间接函数依赖关系。
如果在关系S 中增加系的电话号码Dtel, 从而有Sno →Dname, Dname →Dtel, 于是Sno →Dtel 。
在这个函数依赖中, Dtel 并不直接依赖于Sno, 是经过中间属性Dname 间接依赖于Sno 。
这就是传递函数依赖。
定义6.4( 传递函数依赖) : 设X 、 Y 、 Z 是关系模式R (U)中的不同的属性集, 如果X →Y , Y →X, Y →Z, 则称Z 传递依赖于X 。
否则,称为非传递函数依赖。
举例说明:定义6.5 关键字( Key, 候选键) : 在关系模式R(U)中, 若K⊆U, 且满足U−, 则称K为R的关键字。
K f−→一个包含了关键字的属性集合也能够函数决定( 但不是完全函数决定, 而是部分决定) 属性全集, 我们把这种包含了关键字的属性集合称为超关键字(Super Key)。
例如, 在上例的S( Sno, Sname, Dname, Age) 、C( Cno,Cname,Pre_cno) 、S_C( Sno, Cno, Score) 三个关系模式中, 存在以下关键字:SnameSnoSno f−→−Dname(Age,),,CnoCnameCno f−→e−,)(con_Pr,)(,−scoreCnoSno f−→因此, Sno、Cno和( Sno, Cno) 分别是关系模式S、C和S_C的关键字。
SnameDnameSno−(AgeSnameSno p−→,,,))(,DnameSnoSnameSno p−→(Age−Dname(,),,),因此, (Sno, Sname)和(Sno, Dname)都不是关键字, 而是超关键字。
3 函数依赖的公理系统(1) 函数依赖的逻辑蕴涵例如 在上述的传递函数依赖中, 由X →Y , Y →Z, 推导出X →Z, 这能够表示为:{X →Y , Y →Z }⊨ X →Z 其中: ⊨表示逻辑蕴涵。
一般地, 函数依赖的逻辑蕴涵定义如下:定义6.6( 逻辑蕴涵) : 设F 是由关系模式R(U)满足的一个函数依赖集, X →Y 是R 的一个函数依赖, 且不包含在F, 如果满足F 中所有函数依赖的任一具体关系r, 也满足X →Y , 则称函数依赖集F 逻辑地蕴涵函数依赖X →Y , 或称X →Y 可从F 推出。
可表示为: F ⊨X →Y 例: Sno →Dname, Dname →Dtel, 则: Sno →DtelF X →Y函数依赖集F 的闭包F+定义6.7: 函数依赖集F 所逻辑蕴涵的函数依赖的全体称为为F 的闭包( Closure) , 记为F +, 即F +={X →Y |F ⊨X →Y }例如, 有关系R( X, Y , Z) , 它的函数依赖集F ={X →Y , Y →Z }, 则其闭包F +为:⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→=+YZ YZ XYZ XYZ XYZ XZ XYZ XY XYZX Z YZ YZ XYZ YZ XZ YZ XY YZ X Y YZ XZ XYZ XZ XZ XZ XY XZX YZ XY XYZ XY XZ XY XY XY X YZ Y Z XYZ Z XZ Z XY Z X Z Y Y XYZ Y XZ Y XY Y X Z Z Y Y X XYZ X XZ X XY X X Z Y XYZ XZ XY X F φφφφφφφφφ (2) Armstrong 公理系统1) 独立推理规则即下面给出的Armstrong公理的三条推理规则是彼此独立的。
A1: 自反律(Reflexivity)如果Y⊆X, 则X→Y成立, 这是一个平凡函数依赖。
根据A1能够推出X→Ф、U→X等平凡函数依赖( 因为Ф⊆X⊆U) 、XY→X。
A2: 增广律(Augmentation)如果X→Y, 且Z⊆W, 则XW→YZ成立。
根据A2能够推出XW→Y、XZ→YZ或XW→YW、X→XY、XY →X等。
A3: 传递律(Transitivity)如果X→Y且Y→Z, 则X→Z成立其它推理规则推论1: 合并规则(The Union Rule){X→Y, X→Z}⊨X→YZ推论2: 分解规则(The Decomposition Rule)如果X→Y, Z ⊆Y, 则X→Z成立; ( X→YZ) , X→Y, X→Z 推论3: 伪传递规则(The Pseudo Transitivity Rule){X→Y, WY→Z}⊨XW→Z证: ( 1) X→Y⊨X→XY( A2增广律)X→Z⊨XY→YZ( A2增广律)由上可得X→YZ( A3传递律)( 2) Z⊆Y⊨Y→Z( A1自反律)X→Y( 给定条件)。