5第五章第2讲函数依赖公理体系
主键,超键,外键,候选键,函数依赖,第一范式,第二范式,第三范式,BCNF,第四范式
主键,超键,外键,候选键,函数依赖,第⼀范式,第⼆范式,第三范式,BCNF,第四范式最近回顾了下数据库的相关知识,正好借着这个机会,把其中⼀些概念重新理⼀理,也加深⼀些印象。
⾸先我们来看看数据库中的基本概念:超键(super-key):在⼀个关系中能唯⼀地标志⼀个元组。
候选键(candidate):最⼩的超键,其任意真⾃⼰都不能成为⼀个超码。
例如,(⾝份证号,姓名)和(⾝份证号)都可以试超键,但(⾝份证号)是候选码。
主键(primary key):⽤户选作元组标识的⼀个候选键程序主键。
主键通常由⽤户从候选码中选择出来的。
外键(foreign key):假设存在两组关系,r和s,其中r(A, B, C), s(B, D),在关系r上的属性B称作参照s的外键,r也成为外码依赖的参照关系,s叫做外码被参照关系。
参照关系中外键的值必须在参照关系中存在或者null主属性:包括在候选键中的属性。
熟悉了这些概念之后我们来看看范式。
范式(Normal Form)⽬前常见的范式包括第⼀范式(1NF),第⼆范式(2NF),第三范式(3NF),Boyce-Codd(BCNF)和第四范式(4NF)。
第⼀范式:关系模式中的所有熟悉的域都是原⼦的。
如果某个域中元素被认为是不可分的,则成这个域为原⼦的。
如姓名,可以拆分为姓和名,因此,这⾥的姓名是⾮原⼦的。
1NF的缺点是存在数据的冗余以及当插⼊更新删除是容易出现异常。
第⼆范式:在满⾜第⼀范式的关系模式中,每⼀个⾮主属性完全函数依赖于任何⼀个候选键,则R属于第⼆范式。
满⾜第⼀范式的关系模式可以通过模式分解,⽣产满⾜第⼆范式的多个关系模式。
模式分解需要满⾜⼀下两个条件⽆损分解:在分解之后,n个分解关系通过⾃然连接(⾃然连接是在等值连接的基础上去掉相同的列,如果⾃然连接中找不到等值信息那么⾃然连接就等价于笛卡尔积)形成的⼆维表和没分解之前关系的⼆维表是等价的(元组没有增加也没有减少),则称这种分解形成的关系模式保持⽆损连接性;R1∩R2→(R1-R2)或R1∩R2→(R2-R1)保持函数依赖(functional dependency):函数依赖借助了数学上的函数概念α→β,即在属性集α上的值相同时,其在属性集β上的值也相同,我们称β函数依赖与α,α函数决定β。
[总结]关系数据库设计基础(函数依赖、无损连接性、保持函数依赖、范式、……)
[总结]关系数据库设计基础(函数依赖、⽆损连接性、保持函数依赖、范式、……)≏≎≟≗≖≍≭∼∽≁≃≂≅≊≈≉≇≳⪞⪆⋧⪊≵≲⪝⪅⋦⪉≴⊂ subset ⋐⊄⊊ ⊈⊃⊇ ⋑⊅⊋ ⊉≺⪯≼⋞≾⪷⋨⪵⪹⊀≻⪰≽⋟≿⪸⋩⪶⪺⊁ in ∋∉∌∝≬⊸函数依赖(Function Dependency)定义设关系模式R(U),属性集合U= {A1,A2,…,An},X,Y为属性集合U的⼦集,如果对于关系模式R(U)的任⼀可能的关系r,r中的任意两个元组u、v,若有 u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X。
⽤符号X→Y表⽰。
其中X为决定因素,Y为被决定因素。
若对于R(U)的任意⼀个可能的关系r,r中不可能存在两个元组在X上的属性值性等,⽽在Y上的属性值不等。
(1) 函数依赖是语义范畴的概念,只能根据语义来确定⼀个函数依赖关系。
(2) 函数依赖X→Y的定义要求关系模式R的任何可能的关系r中的元组都满⾜函数依赖条件。
术语 (1)若X→Y,则X称作决定因素(Determinant) (2)若X→Y,Y→X,称作X<->Y。
(3)若Y不函数依赖于X,称作X -/-> Y。
(4)X→Y,若Y不包含X,即X ⊄ Y,则称X→Y为⾮平凡的函数依赖。
正常讨论的都是⾮平凡的函数依赖。
(5)X→Y,若Y包含X,即X ⊂ Y,则称X→Y为平凡的函数依赖。
(6)完全函数依赖(full functional dependency):在R(U)中,设X、Y是关系模式R(U)中不同的属性⼦集(即X ⊂ U,Y ⊂ U), 若存在 X→Y,且不存在 X的任何真⼦集X'(即 X' ⊊ X),使得 X'→Y,则称Y完全函数依赖 ( full functional dependency ) 于X。
记作 X-F->Y。
(7)部分函数依赖:在关系模式R(U)中,X、Y是关系模式R(U)中不同的属性⼦集(即X ⊂ U,Y ⊂ U), 若X→Y成⽴,如果X中存在任何真⼦集X'(即 X' ⊊ X),⽽且有X'→Y也成⽴,则称Y对X是部分函数依赖,记作:X-P->Y。
关系数据理论课后答案
关系数据理论课后答案第五章关系数据理论习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、1NF、2NF、3NF、BCNF、多值依赖、4NF。
解析:解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答:函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称"X函数确定Y"或"Y函数依赖于X",记作X→Y。
解析:(1)函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。
(2)函数依赖是属性之间的一种联系,体现在属性值是否相等。
由上面的定义可以知道,如果X→Y,则r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。
(3)要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。
(4)函数依赖不是指关系模式R在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。
答:完全函数依赖、部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'Y,则称Y对X完全函数依赖,记作:若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:?→Z,则称Z对X传递函数依赖。
传递依赖:在R(U)中,如果X→Y,(Y候选码、主码:设K为R<u,f>中的属性或属性组合,若K→U(完全依赖)则K为R的候选码(Candidate key)。
若候选码多于一个,则选运其中的一个为主码(Pdmary key)。
解析:1)这里我们用函数依赖来严格定义码的概念。
在第二章中我们只是描述性地定义码(可以复习若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码(Candidate key)。
函数依赖闭包
函数依赖闭包⼀、函数依赖的逻辑蕴涵定义:设有关系模式R(U)及其函数依赖集F,如果对于R的任⼀个满⾜F的关系r函数依赖X→Y都成⽴,则称F逻辑蕴涵X→Y,或称X→Y可以由F推出。
例:关系模式 R=(A,B,C),函数依赖集F={A→B,B→C}, F逻辑蕴涵A→C。
证:设u,v为r中任意两个元组:若A→C不成⽴,则有u[A]=v[A],⽽u[C]≠v[C]⽽且A→B, B→C,知u[A]=v[A], u[B]=v[B], u[C]=v[C],即若u[A]=v[A]则u[C]=v[C],和假设⽭盾。
故F逻辑蕴涵A→C。
满⾜F依赖集的所有元组都函数依赖X→Y(X→Y不属于F集),则称F逻辑蕴涵X→Y(X→Y由F依赖集中所有依赖关系推断⽽出)⼆、Armstrong公理1、定理:若U为关系模式R的属性全集,F为U上的⼀组函数依赖,设X、Y、Z、W均为R的⼦集,对R(U,F)有:F1(⾃反性):若X≥Y(表X包含Y),则X→Y为F所蕴涵;(F1':X→X)F2(增⼴性): 若X→Y为F所蕴涵,则XZ→YZ为F所蕴涵;(F2':XZ→Y)F3(传递性): 若X→Y,Y→Z为F所蕴涵,则X→Z为F所蕴涵;F4(伪增性):若X→Y,W≥Z(表W包含Z)为F所蕴涵,则XW→YZ为F所蕴涵;F5(伪传性): 若X→Y,YW→Z为F所蕴涵, 则XW→Z为F所蕴涵;F6(合成性): 若X→Y,X→Z为F所蕴涵,则X→YZ为F所蕴涵;F7(分解性): 若X→Y,Z≤Y (表Z包含于Y)为F所蕴涵,则X→Z为F所蕴涵。
函数依赖推理规则F1∽F7都是正确的。
2、Armstrong公理:推理规则F1、F2、F3合称Armstrong公理;F4 ∽ F7可由F1、F2、F3推得,是Armstrong公理的推论部分。
三、函数依赖的闭包定义:若F为关系模式R(U)的函数依赖集,我们把F以及所有被F逻辑蕴涵的函数依赖的集合称为F的闭包,记为F+。
第3-4讲函数依赖和公理
定义(传递FD):设关系模式R,X、Y、Z是R的属性子集, 若FD X→Y,Y → X,Y→Z,则有FD X→Z,称FD X→Z为 传递函数依赖。
函数依赖、完全依赖、传递依赖等基本概念是第四章关系 数据库范式的基础。
18
算法3.2.3
判定F是否蕴涵X→Y的成员测试算法
输入:函数依赖集F和FD X→Y。
输出:若F蕴涵X→Y输出为true,否则为false MEMBER(F, X→Y) begin if Y CLOSURE(X,F) then return(true) eles return(false) end.
={AB→E,E→G, BE→I, GI→H}
13
定义(函数依赖集F的闭包 F +)
设F是关系r(R)上的函数依赖集,F所蕴含的所有FD的集
合称为F的闭包,记作F +。 F
+
= { X→Y
|
所有F |= X→Y }
例:设F={AB→C,C→B}。 求F+
14
设F={AB→C,C→B}。 F+ 为: F+ = {A→A, AB→A, AC→A, ABC→A, B→B, AB→B, BC→B,ABC→B,C→C,AC→C,BC→C,ABC→C,AB→AB, ABC→AB,AC→AC,ABC→AC,BC→BC, ABC→BC, ABC→ABC, AB→C, AB→AC, AB→BC, AB→ABC,C→B,
(3)并比较两种方法更好用语言来实现。
21
(1)设F ={AB→C,B→D,CD→E,CE→GH,G→A},
数据库原理第五章关系数据库的规范化设计
12
模式分解是关系规范化的 主要方法(二)
与TDC相比,分解为三个关系模式后,数据的冗余度明显 降低。 当新插入一个系时,只要在关系D中添加一条记录。 当某个教师尚未讲课,只要在关系T中添加一条教师记录, 而与TC授课关系无关,这就避免了插入异常。 当某个系的教师不再讲课时,只需在TC中删除该教师的 全部授课记录,而关系D中有关该系的信息仍然保留,从 而不会引起删除异常。 同时,由于数据冗余度的降低,数据没有重复存储,也不 会引起更新异常。
24
2.2 完全函数依赖和部分函数依赖
例如:学生成绩表中
姓名 王一 王二 王三 王一
学号 1 2 3 4
年龄 16 15 16 16
籍贯 河北 山东 北京 天津
姓名不能推出年龄,学号也不能推出年龄,但是 姓名 + 学号能推出年龄,故完全依赖;
学号能直接推出籍贯,故是部分依赖
25
2.3 传递函数依赖
当关系中的元组增加、删除或更新后都不能被破 坏这种函数依赖。因此,必须根据语义来确定属 性之间的函数依赖,而不能单凭某一时刻关系中 的实际数据值来判断。
20
函数依赖的定义和性质(六)
函数依赖可以保证关系分解的无损连接性
设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果X Y或X Z,则有R(X,Y,Z)=R[X,Y]*R[X,Z],其中,R[X,Y]表示关 系R在属性(X,Y)上的投影,即 R等于其投影在X上的自然连 接,这样便保证了关系R分解后不会丢失原有的信息,称为 关系分解的无损连接性
函数依赖的公理系统资料
定义4.15 最小覆盖. 满足下列条件的函数依赖集F称为最小覆盖(最 小依赖集, 极小依赖集),记作Fmin:
(1) 单属性:F中任一函数依赖 XA,A必是单属 性。 (2) 无冗余性:F中不存在这样的函数依赖X A, 使得 F与 F {X A}等价。 (3) 既约性:F中不存在这样的函数依赖 X A, X是多属性,在X中有真子集 Z,使得 F 与 F {X A} {Z A}等价。
2
函数依赖集的闭包F+
定义 4.12 在关系模式 R<U,F> 中,被 F 所 逻辑蕴涵的函数依赖的全体所构成的集合称 作F的闭包,记作 F+ = {XY | F├ XY} + 显然,F F 。 F+的计算很麻烦,F不大,其F+也可能很大。 例如: 设 R<U, F>, U={X, Y, Z}, F = {XY, YZ} F+ = { XX, XY,X Z, YY, YZ, Z Z, XYX,XYY,XYXY, XZ→X, ……}
函数依赖的公理系统
建立函数依赖推理系统的目的:
(1) 求关系模式的候选码 (2) 判断关系模式的范式级别 (3) 给定一组函数依赖,需要导出另外一些函数依赖, 或判断另外的函数依赖是否成立。例如: FD={A B,B C},判断 A C是否成立?
本节内容:
1. 逻辑蕴涵; 2. Armstrong函数依赖公理系统; 3. 函数依赖集的闭包; 4. 属性集闭包; 5. 函数依赖集的等价和覆盖; 6. 最小函数依赖集。
XY
t[XZ] = s[XZ]
t[Y] = s[Y] t[Z] = s[Z]
t[YZ] = s[YZ]
函数依赖的公理系统
函数依赖集的等价和覆盖
求最小函数依赖集的方法:
应用分解规则,使F中每一个依赖的右部单一化。 去掉各函数依赖左部多余的属性。
方法:检查F中左边是非单属性的依赖,如: XY→A, 要判定Y是否多余,只要求X闭包,若X闭包A,则Y 是多余的,以X →Y 代替XY→A。
去掉多余的依赖。
方法:从第一个依赖开始,若要从F中去掉X →Y ,则在 剩下的依赖中求X闭包,若X闭包包含Y,则去掉X →Y
属性集闭包计算举例
练习 已知R<U,F>, U= (A, B, C, G, H, I),F={AB, AC, CGH,
CGI, BH},计算(AG)+。 – 算法第一次循环的执行步骤: 步骤 FD closure
1.
2. 3. 4. 6. 6.
初值
AB AC CGH CGI BH
增广律得证。
定理 Armstrong推理规则是正确的
(3) 传递律:若X→Y及Y→Z为F所蕴含,则 X→Z为 F所蕴含。
证:设X→Y及Y→Z为F所蕴含。
对R<U,F> 的任一关系 r中的任意两个元组 t,s。 若t[X]=s[X],由于X→Y,有 t[Y]=s[Y];
再由Y→Z,有t[Z]=s[Z],所以X→Z为F所蕴含.
引理: X→A1 A2…Ak成立的充分必要条件 是X→Ai成立(i=l,2,…,k)。
总结:函数依赖(FD)的推理规则
函数依赖有一个正确的和完备的推理规则集——Armstrong 推理规则:
设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U 中属性的函数依赖集, 推理规则如下:
候选码的判断
设有关系R({A1,A2,…,An},F),F为R的函数依赖集,X为
第5章关系数据理论.ppt
2019/10/18
数据库系统
13
第五章 关系数据理论
(4)部分函数依赖: XY,但Y不完全函数依赖于X, 即存在X’ X,有X’Y。
记作 X p Y
如在 S(S#,SN,SD,SA)中,因为 S#SD, 所以 (S#,SN) p SD
又如:(Sno,Cno)→Sdept是部分函数依赖
(5)传递函数依赖:若XY,Y X,YZ, 且Z(XY)= ,则称Z对X是传递函数依赖。
职工关系(工号,姓名,工种,车间号) 车间关系(车间号,车间名,车间主任) 定额关系(工号,日期,定额,超额,车间号)
本节开头
2019/10/18
本章开头
数据库系统
下一节
7
第五章 关系数据理论
§2 数据依赖
数据模型中我们讨论了实体间的联系,同时提到实体内部 属性间也有联系。事实上上一节中的问题都是由于属性间的联 系引起的。
微分方程
高等代数 数学分析
这是产生问题的原因吗?
…… 数据库系统
17
第五章 关系数据理论
2、多值依赖(MultiValued Dependency,缩写为MVD)
设 R(U)是属性集U上的关系模式,X、Y、Z是U的子集,
且Z=UXY,多值依赖XY成立当且仅当对R(U)的任一关
系r,任给的一对(x,z)值有一组Y的值,这组值仅仅取决于
一方面,修改工作量大; 另一方面,可能漏改或该错,会造成数据的不一致性;
上例充分说明对关系模式若随意设计,其后果是严重的。 本章将要讨论产生上述问题的原因以及解决办法,即如何改 造一个不好的关系模式。这就是规范化理论要解决的主要问题。
2019/10/18
数据库系统
函数依赖规范化
键码举例
首先:观察title 和year不能决定starName,因 为很多电影有多个影星。 {year,starName}也不是键码,因为一个影星 在同一年中可能出演多部电影,因此, year,starname→title 不是函数依赖。 同样{title,starName}也不是键码。 从而确定了{title, year,starName}是最小的 集合
检验给定的任一函数依赖 A1A2…..An →B是否蕴含于依赖集S
分析: 根据属性集闭包的定义, 知A1A2…..An →{ A1,A2,…..,An }+ 含于S。 只要证明B在{ A1,A2,…..,An 中,那么函数依赖A1A2…..An →B 定蕴含于依赖集S中。 可 蕴 }+ 肯
检验给定的任一函数依赖 A1A2…..An →B是否蕴含于依赖集S
函数依赖说明
强调:函数依赖是针对关系模式, 而不是特定的实例。
2 用函数依赖解释候选码、超码
如果一个或多个属性的集合{A1,A2,….An} 满足如下条件,就称该集合为关系R的键 码。 1. 这些属性函数决定该关系的所有其 他属性。 2. {A1,A2,….An}的任何真子集都不能 函数决定R的所有其他属性。
函数依赖举例
Movie(title,year,length,filmType, studioName,starName) Title year->length Title year -> filmtype Title year -> studioName 简写: title year -> length filmtype studioName
例3.26 :
已知关系R拥有属性A,B和C,它满足如下 函数依赖:A->B和B->C, 则可以推断出R满足A->C。 分析: 考察R的任意两个在属性A上取 值一致的元组,证明它们在属 性C上也取得一致。
关系理论
29
码
为关系模式R<U,F>中的属性或属性组合。 中的属性或属性组合。 定义 设K为关系模式 为关系模式 中的属性或属性组合 若K
f
U,则K称为 的一个侯选码(Candidate , 称为R的一个侯选码( 称为 的一个侯选码
Key)。若关系模式R有多个候选码,则选定其中 )。若关系模式 有多个候选码 )。若关系模式 有多个候选码, 的一个做为主码( 的一个做为主码(Primary key)。 主码 )。 主属性与非主属性 ALL KEY
学号,所在系 而:(学号 所在系 系主任 部分函数依赖 学号 所在系)→系主任
23
术语和符号(8) 术语和符号
如果X→Y(非平凡函数依赖,并 (非平凡函数依赖, 如果 X)、 )、Y→Z,则称 传递函数 且Y )、 ,则称Z传递函数 依赖于X。 依赖于 。 专业, 所在系, 如学号→专业,专业 所在系,则所 学号 专业 专业→所在系 在系传递函数依赖于学号。 传递函数依赖于学号 在系传递函数依赖于学号。
14
注意定义中: 注意定义中:
t1[X]=t2[X] t1[Y]=t2[Y]
t1
200
t2
15
例:对仓库关系 仓库(仓库号,城市,面积) 仓库(仓库号,城市,面积) 有函数依赖: 有函数依赖: 仓库号→城市(城市函数依赖于仓库号) 仓库号→城市(城市函数依赖于仓库号) 函数依赖于仓库号 仓库号→面积(面积函数依赖于仓库号) 仓库号→面积(面积函数依赖于仓库号) 函数依赖于仓库号
20
术语和符号(5) 术语和符号
如果K是关系模式 如果 是关系模式R(U,F)的任一候选关 是关系模式 的任一候选关 键字, 是任一属性或属性集 如果X , 是任一属性或属性集, 键字,X是任一属性或属性集,如果 ∈K, 则X称为主属性;否则称为非主属性。 称为主属性; 称为主属性 否则称为非主属性。 仓库号, 如(仓库号,器件号 是库存关系的关键 仓库号 器件号)是库存关系的关键 仓库号和 均是主属性, 那么仓库号 器件号均是主属性 字,那么仓库号和器件号均是主属性,而 数量为非主属性。 数量为非主属性。 为非主属性
约束数据库中的函数依赖公理系统与设计理论
定 义 和 分 解 为 第 3范 式 和 B 范 式 的 算 法 , 而 基 C 从 本 完 成 了在 函数 依 赖 范 畴 内 的 约 束关 系 模 式 设 计 工
定 义 1 设 为 一 类 约 束 , 为 其 论 域 , : D 则
.
这 是 一 种 与 时 空 数 据 关 系 密 切 的 约 束 . D 为 若 定 义 2 设 R是 x 上 的 K 元 约 束 关 系 , 的 约 它
一
般的全序集 , 类 约束称为密序约束. 这
1 )变 量 集 X 一 ( , , , ) 的 约 束 K 元 。 : … 。 上 组 是 一 个 约 束 合 取 式 , 一 ^ … A , 中每 其
据 库 的 无损 连 接 问 题 , 到 很 好 的 结 果 . 文 即 是 研 得 本
4 )约 束 数 据 库 定 义 为 有 限 个 约 束 关 系 组 成 的 集合. 5 )设 R( x)是 约 束 关 系模 式 , R( 上 的 数 则 x)
据 依 赖 D 定 义 为 一个 映 射 , 的定 义 域 为 R( 它 x)所
成 了约 束数据 库设 计 的核 心工 作 : 约束 关 系模式 分解 为 3 把 NF或 B NF的算 法. C
关 键 词 :约束 数 据 库 ; 函数 依赖 ; 函数依 赖 公理 系统 ; 式设 计 模
中 图分 类 号 : P3 11 1 T 1.3
文 献 标 识 码 : A
个 ( ≤ i N) 1 ≤ 是 中 的定 义 在 变 量 集 X 上 的一
据 库 可 看 成 是关 系 数 据 库 的 自然 扩 充 , 此 自然 希 因
数据库系统概论 第5章
当一个关系模式在连接的过程中没有丢掉有用信息的, 称为无损连接分解否则称为有损连接分解。 3NF的优点就是其总可以在满足无损连接并保持依赖的 前提下得到3NF设计。其缺点是,若没有消除所有的传递 依赖,则必须要用空值来表示数据项间的某些可能有意义 的联系。此外,3NF还存在信息重复的问题。 若必须在BCNF和保持依赖的3NF间作选择的话,通常 倾向于选择3NF。因为若不能有效地检验依赖的保持情况, 我们要么牺牲系统性能,要么破坏数据库中的数据的完整 性,这当然都不好。相比之下,3NF中允许传递依赖造成 少量冗余反到是可以容忍的。所以,我们常选择保持依赖 而放弃BCNF。
假定有一个实际问题,有关系模式: 借书人(姓名,地址,书名,日期) 即 BORROW(NAME,ADDR,TITLE,DATE) 其中:NAME和TITLE是整个模式的关键字(主码)。
NAME 张 平 张 平 张 平 张 平 张 平 张 平 李少林 李少林 ADDR A1 A1 A1 A1 A1 A1 A2 A2 TITLE T1 T2 T3 T4 T5 T6 T3 T7 DATE D1 D2 D3 D4 D5 D6 D4 D7
一个低一级范式的系模式的集合,这种 过程就叫规范化。各种范式之间的关系为:
1NF 2NF
3NF BCNF 4NF
5NF
例:以下两例为非1NF关系。借书人
部门名 部门号
经理
正经理 副经理
张 平 李文化
DN1 DN2
D1 D2
M1 M2
5.2.5 3NF
定义:关系模式R(U,F)中若不存在这样的码X,属 性组Y及非主属性Z(Z Y)使得X→Y(Y→X)Y→Z 成立,则称R(U,F) ∈3NF。 简言之,不存在非主属性部分依赖和传递依赖于 码的第一范式称为第三范式。 从定义中还可得出结论:不存在非主属性的模式 为第三范式。
关于函数信赖性的公理系统
• 引理4.5 一个函数依赖集F总可找到另一 个其所有函数依赖的右端均只有一个属性 的函数依赖集G,F被G所覆盖。
• 证明:令G是由所有这样的X→A组成的函数 依赖集:如果X→Y∈F且A∈Y,则X→A在G 中。
• 这时,显然能由X→Y按分解律导出X→A, 从而有GF+ 。但又有FG+成立,因为若 Y=A1A2…Ak,则F中的X→Y能由G中的 X→A1,…,X→Ak用合并律导出。
• ③ 对于传递性,设r是R的任意一个关系, u,v是r的任意两个元组。如果u[X]=v[X], 则由X→Y,应有u[Y]=v[Y],又由Y→Z,推 出有u[Z]=v[Z]。也就是说当u[X]=v[X]时 有u[Z]=v[Z]。这就说明X→Z成立,即传递 性是正确的。
• 证毕。
从阿姆斯特朗公理能导出若干条其他推 导规则。在下一个引理里,我们给出其 中的三个。 引理4.2 1)合并律:若X→Y且X→Z,则有X→YZ。 2)伪传递律:若X→Y且WY→Z,则有XY→Z。 3)分解律:若X→Y且Z Y,则有X→Z。
• ② 充分性:设Y同上,如果YXF+ ,由 定义4.4可知能用Armstrong公理从F可
以推导出X→Ai(i=1,2,…,k)。再
由合并规则可知能用Armstrong公理从F
可以推导出X→Y。
• 定理4.1 Armstrong公理是有效的和 完备的。
• 有效性已在引理4.1给出。这里我们 只需要证明完备性。
所以V→W在关系r中成立。②
V。由xf图4.1可
见,V在u、v两个元组上的属性值必不一致。这时,
不管是否存在WXF+,V→W在关系r中一定成立。
• 结论:只要X→Y不能根据Armstrong公理从 F中推导出来,F就不逻辑蕴涵X→Y。换句 话说,凡是被F逻辑蕴涵的函数依赖一定能 用Armstrong公理推导出来。证毕。
第五章关系数据理论
第五章关系数据理论部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑第五章关系数据理论6.3 数据依赖的公理系统1. 逻辑蕴含定义6.11 对于满足一组函数依赖 F 的关系模式R <U,F>,其任何一个关系r,若函数依赖X→Y都成立, (即对于r中任意两个元组s,t,若s[X]=t[X],则s[Y]t[Y]>,则称F逻辑蕴含X→Y例如R(X, Y,Z>,F={X→Y, Y→Z}X→Z为了求得给定关系模式的码,为了从一组给定的函数依赖求得蕴涵的函数依赖,就需要一套推理规则。
这组推理规则是Armstrong于1974年提出的,所以称为Armstrong公理系统。
2. Armstrong公理系统一套推理规则,是模式分解算法的理论基础用途:求给定关系模式的码从一组函数依赖求得蕴含的函数依赖关系模式R <U,F >来说有以下的推理规则:Al.自反律<Reflexivity):若Y X U,则X →Y为F所蕴含。
(Sno,S name> →Sname注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于FA2.增广律<Augmentation):若X→Y为F所蕴含,且Z→U,则XZ→YZ为F所蕴含。
A3.传递律<Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。
定理 6.1 Armstrong推理规则是正确的<l)自反律:若Y X U,则X →Y为F所蕴含证: 设Y X U对R <U,F> 的任一关系r中的任意两个元组t,s:若t[X]=s[X],由于Y X,有t[y]=s[y],所以X→Y成立.自反律得证<2)增广律: 若X→Y为F所蕴含,且Z U,则XZ→YZ 为F 所蕴含。
证:设X→Y为F所蕴含,且Z U。
设R<U,F> 的任一关系r中任意的两个元组t,s;若t[XZ]=s[XZ],则有t[X]=s[X]和t[Z]=s[Z];由X→Y,于是有t[Y]=s[Y],所以t[YZ]=s[YZ],所以XZ→YZ为F所蕴含.增广律得证。
armstrong公理证明
armstrong公理证明Armstrong公理是关于数据库关系模型中的函数依赖性的一组规则。
它是计算机科学中非常重要的理论基础之一。
本文将对Armstrong公理进行详细的证明。
1. 引言关系数据库是计算机科学领域中最常用的数据管理工具之一。
它通过使用表来存储和管理数据。
关系数据库中的数据一般由多个表组成,并通过某种方式进行关联。
在关系数据库中,表示数据之间关系的一个重要概念是函数依赖。
2. 函数依赖函数依赖是关系数据库中的一个重要概念。
它描述了一个数据项(或数据项集合)对另一组数据项(或数据项集合)的依赖关系。
例如,假设我们有一个表格“学生”,其中包含学生的ID、姓名和年龄。
在这个例子中,学生的ID唯一确定一个学生的姓名和年龄。
因此,我们可以说“学生的姓名和年龄函数依赖于学生的ID”。
这个函数依赖可以用符号“ID -> (姓名, 年龄)”表示。
在关系模型中,函数依赖也要满足一组规则,这就是Armstrong公理。
Armstrong公理定义了函数依赖的一些基本性质,包括自反性、增强性、传递性和合成性。
3. 自反性Armstrong公理的第一个规则是自反性。
自反性指的是任何集合X的子集Y都满足函数依赖X -> Y。
换句话说,如果X是一个集合,Y是X的一个子集,那么函数依赖X -> Y是成立的。
证明自反性的方法是通过使用关系代数的核心操作来构建关系代数引理。
关系代数是描述关系数据库操作的一种代数描述语言。
它包括一组操作,如选择、投影、连接和并。
我们可以使用关系代数的选择操作来构造一个证明。
选择操作返回一个满足某个条件的元组集合。
在这种情况下,我们可以选择满足Y 的全部可能的函数依赖的X的元组来构建证明。
4. 增强性Armstrong公理的第二个规则是增强性。
增强性指的是如果X -> Y,那么对于任何Z,XZ -> YZ也成立。
换句话说,如果一个集合X的函数依赖于另一个集合Y,那么将Z添加到X和Y中对函数依赖的结果不会改变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-4-2 南晓数信学院 30
四、候选键的求解方法 3、候选键的一般求解法 ⑥ 在剩余的属性中依次取两个属性、三个属 性,…,将其记为集合B,并求(XB)F+ :若 (XB)F+包含了R的全部属性,且自身不包含已 求出的候选键,则XB为R的一个候选键; ⑦ 重复⑥,直到Y中的属性按⑥的组合依次取完 为止; ⑧ 输出候选键,算法结束。
B→C},求函数依赖集F的闭包F+。(P103)
A→ , AB→ , AC→ , ABC→ , B→ , C→
A→ A, AB→ A, AC→ A, ABC→ A, B→ B, C→ C A→ B, AB→ B, AC→ B, ABC→ B, B→ C,
+= A→ C, AB→ C, AC→ C, ABC→ C, B→ BC, F A→ AB, AB→ AB, AC→ AB, ABC→ AB, BC→ ,
南晓数信学院 26
③
F 3=
2013-4-2
3、举例(续四)
例5.5:求函数依赖集F的最小函数依赖集
法2:(步骤一:分解规则 )步骤二:去掉F中冗余的函数依赖 ① F 1=
ABC,CA,BCD,ACDB, DE,DG,BEC,CGB CGD,CEA,CEG
ABC,CA,BCD, DE,DG,BEC, CGB,CEG
2013-4-2
南晓数信学院
7
4、定理5.2 如果Ai(i=1,…,n)是关系模式R的属性,则 XA1A2…An成立的充分必要条件是XAi(i= 1,…,n)均成立。
作用:将一个FD分解成若干个右边是单属性 的FD。用于确定关系的主键。
2013-4-2
南晓数信学院
8
二、X关于F的闭包及其计算 例:已知关系模式R(A,B,C),其函数依赖集为F={A→B,
A→ AC, AB→ AC, AC→ AC, ABC→ AC, BC→ B, A→ BC, AB→ BC, AC→ BC, ABC→ BC, BC→ C, A→ ABC,AB→ ABC,AC→ ABC,ABC→ ABC,BC→ BC,
2013-4-2 南晓数信学院 9
1、X关于F的闭包 设 有 关 系 模 式 R(U,F) 和 属 性 集 U={A1,A2,…,An}的子集X。则称所有用阿姆斯特 朗公理从F推导出的函数依赖X→Ai的属性Ai组成 的集合称为X关于F的闭包,记为XF+ ,通常简记 为X+。即 XF+={Ai|用公理从F推出的X→Ai}
南晓数信学院 25
②
F22=
2013-4-2
3、举例(续三)
例5.5:求函数依赖集F的最小函数依赖集
步骤三:去掉左端多余的属性
②
F22=
ABC,CA,BCD, ACDB,DE,DG, BEC,CGD,CEG ABC,CA,BCD, CDB,DE,DG, BEC,CGD,CEG
(1)X(0)=X。
(2)从F中找出满足条件VX(i) 的所有函数依赖 V→W,并把所有的V→W中的属性W组成的集合记 为Z;也即从F中找出那些其决定因素是X(i)的子 集的函数依赖,并把由所有这样的依赖的被决 定因素组成的集合记为Z。 (3)若ZX(i),则转(5)。(当X(i)只决定自己时)
由u、v的任意性,并根据函数依赖的定义, 可得 XY。
2013-4-2 南晓数信学院 5
3、 阿姆斯特朗公理的推论
合并规则:若XY且XZ,则XYZ (增广律)
分解规则:若XY,且ZY,则XZ (自反律)
伪传递规则:若XY且WYZ,则WXZ
证: XY 增广律 WX→WY WY→Z
2013-4-2
南晓数信学院
4
2、定理5.1
Armstrong公理是正确的。
方法:从函数依赖的定义出发
A1 自反律:若YX,则XY (增广律,传递律证明类 似,P104)
证:设u、v为r的任意两个元组。
若u[X]=v[X],则u和v在X的任何子集上必然 相等。
由条件YX ,所以有:u[Y]=v[Y],
南晓数信学院 24
②
F21=
2013-4-2
3、举例(续二)
例5.5:求函数依赖集F的最小函数依赖集
(步骤二:去掉F中冗余的函数依赖 )
② F21=
ABC,CA,BCD,ACDB, DE,DG , BEC , CGD , CEA,CEG ABC,CA,BCD, ACDB,DE,DG, BEC,CGD,CEG
对比
2013-4-2
F+和X+
集合元素
南晓数信学院 10
2、定理5.3
设有关系模式R(U,F),U={A1,A2,…,An}是R 的属性集,F是R的属性集U上的函数依赖集,X、 Y是U的子集,则
XY能用Armstrong公理从F导出YX+。 该定理把判定XY是否能由F根据Armstrong 公理导出的问题
Z=EG
BD=X(0)
(1)X(0)=BD。({B}、{D}、{B,D}) X+ 、 {D} 、 ( 1 ) =BDEG ( {B} =ABCDEG {E} 、 {G} 、 {B 、 (2)X D}…2n-1个子集) +,故BD→A成立 A∈BD (3)X(2)=BCDEG
(4)X(3)=ABCDEG
南晓数信学院 27
步骤三:去掉左端多余的属性
②
F21=
2013-4-2
四、候选键的求解方法 1、属性分类 对于给定的关系R(U)和函数依赖集F,可 将其属性分为4类:
① L类:仅出现在F的函数依赖左部的属性;
② R类:仅出现在F的函数依赖右部的属性;
③ N类:在F的FD左右两边均未出现的属性;
④ LR类:在F的FD左右两边均出现的属性。
(5)若X是R的N类属性和L类属性组成的属性集,且X+ 包含了R的全部属性,则X是R的唯一候选键。
2013-4-2
南晓数信学院
29
四、候选键的求解方法 3、候选键的一般求解方法 ① 将所有属性分为L、R、N和LR四类,并令X代 表L和N类,Y代表LR类;
② 求XF+:若XF+包含了R的全部属性,则X是R的 唯一候选键,转⑧;
2013-4-2 南晓数信学院 22
3、举例
例5.5:求函数依赖集F的最小函数依赖集
ABC,CA,BCD, F= ACDB,DEG,BEC, CGBD,CEAG 法1:(步骤一:分解规则 ) ① F1=
ABC,CA,BCD,ACDB, DE,DG,BEC,CGB , CGD,CEA,CEG
第2讲 函数依赖的公理体系
授课人: 李朔 Email:chn.nj.ls@
2013-4-2 南晓数信学院 1
主要内容
阿姆斯特朗公理及推论
X关于F的闭包及其计算
最小函数依赖集
候选键的求解方法
2013-4-2
南晓数信学院
2
一、阿姆斯特朗公理及推论 问题引入:
F=X→Y F+ 侯选键 X→Y在R 中是否成立
2013-4-2
南晓数信学院
21
求解方法(续二)
(3)去掉左端多余的属性
对于F中左端是非单属性的函数依赖 (XYA),假设要判断Y是否是多余的属性
① G = (F-{XYA})∪{XA};
② 求X关于F的闭包XF+;
③ 如果A不属于XF+ ,则XA不在F+ 中,说明Y 不是多余的属性,接着判别X是否是多余的属性; 如果A属于XF+,则说明Y是多余的属性,F=G。
2013-4-2 南晓数信学院 15
1、函数依赖集的等价与覆盖 定义5.5 设F和G是两个函数依赖集,如果F+=G+,则 称F和G等价。如果F和G等价,则称F覆盖G,同 时也称G覆盖F。
2013-4-2
南晓数信学院
16
定理
定理5.4 F+=G+的充要条件是FG+和GF+。
所 有
F
F += G +
求出X+,判定Y是否为X+的子集的问题。
2013-4-2 南晓数信学院 11
3、X关于F的闭包X+的计算 算法5.1 求属性集X关于函数依赖集F的闭包X+ 输入: 关系模式R的全部属性集U,U上的函数依赖集 F,U的子集X。 输出:
X关于F的闭包X+。
计算方法:
2013-4-2
南晓数信学院
12
3、X关于F的闭包X+的计算(续)
③ 对F中的任何FD:XA和X的任何真子集Z,
(F-{XA})∪{ZA}不等价于F。
每个FD左端无多余的属性
2013-4-2 南晓数信学院 19
求解方法 (1)用分解规则将F中的所有函数依赖分解成右 端为单个属性的函数依赖; Armstrong公理的推论 分解规则:若XY,且ZY,则XZ
传递律
WX→Z
2013-4-2
南晓数信学院
6
例5.2简化版 P105 对关系模式R(A,B,C),依赖集F={C->A,AB->C}, 候选键为AB和CB,证明BC->ABC.
证明:已知有C->A,由增广律可得BC->AB,
又已知AB->C,由增广律可得AB->ABC
综上由传递律可得 BC->ABC
X→Y
G+
F+ (G+)+
FG+,
FG+ GF+
定理意义:P107 不计算F+与G+,对于F(或G)中 每个X->Y,只通过求Xg+中是否 包含Y来判断FG+, XF+来判断GF