数据库之函数依赖公理体系共34页文档

合集下载

数据库函数依赖的Armstrong公理ppt课件

数据库函数依赖的Armstrong公理ppt课件

R4大家课后自己证明,P136的通用一致性规则A8略去。
精选编辑ppt
5
R1)并规则:若XY, XZ, 则XYZ成立。 R2)伪传递规则:若XY, WYZ, 则WXZ成立。 R3)分解规则:若XY, 且Z Y, 则XZ成立。 证明: Z Y A1 YZ A3 XZ
XY
精选编辑ppt
4
函数依赖的Armstrong公理
Armstrong公理: 给定关系模式R(U)和FD集F, 可以推出哪 些FD?怎样推导?包括下列公理:
证明: XY A2 WXWY A3 WXZ WYZ
精选编辑ppt
3
函数依赖的Armstrong公理
Armstrong公理: 给定关系模式R(U)和FD集F, 可以推出哪 些FD?怎样推导?包括下列公理:
A1)自反律:若Y XU, 则XY成立。平凡依赖 A2)增广律:若ZU且XY, 则X Z Y Z成立。 A3)传递律:若XY, YZ, 则XZ成立。 根据以上三条公理,可证明以下推导规则:
精选编辑ppt

1
函数依赖的Armstrong公理
Armstrong公理: 给定关系模式R(U)和FD集F, 可以推出哪 些FD?怎样推导?包括下列公理:
A1)自反律:若Y XU, 则XY成立。平凡依赖 A2)增广律:若ZU且XY, 则X Z Y Z成立。 A3)传递律:若XY, YZ, 则XZ成立。 根据以上三条公理,可证明以下推导规则: R1)并规则:若XY, XZ, 则XYZ成立。
函数依赖的Armstrong公理
Armstrong公理: 给定关系模式R(U)和FD集F, 可以推出哪 些FD?怎样推导?包括下列公理:
A1)自反律:若Y XU, 则XY成立。平凡依赖 A2)增广律:若ZU且XY, 则X Z Y Z成立。 A3)传递律:若XY, YZ, 则XZ成立。 注意和传递依赖的定义进行区分: 传递律对X、Y、Z、XY、YZ没有限制

5-关系数据库理论-2

5-关系数据库理论-2

5.3 数据依赖的公理系统
已知关系模式R<U,F>,其中 , ,其中U={A, B, C, D, E,G}, 已知关系模式 , F= {AB→C, C→A, ACD→B, D→EG, BE→C,CG →BD, CE →AG },求 (BD)F+。 , 。 设X(0)=BD; ; 计算X(1):逐一扫描 集合中各个函数依赖,找左部为 、B 逐一扫描F集合中各个函数依赖 计算 逐一扫描 集合中各个函数依赖,找左部为D、 的函数依赖, 或BD的函数依赖,有D→EG,于是 的函数依赖 ,于是X(1)=AB∪EG=BDEG。 ∪ 。 因为X(1)≠X(0); 因为 ; 计算X(2):再找出左部为 再找出左部为BDEG子集的那些函数依赖,又得 子集的那些函数依赖, 计算 再找出左部为 子集的那些函数依赖 到BE→C,于是 ,于是X(2)= X(1)∪C=BDEGC, X(2)≠X(1) ; ∪ 计算X(3): X(3)= X(2)∪ABDG=BDEGCA; 计算 ∪ ; X(3)=U,算法终止, (BD)F+ =ABCDEG。 ,算法终止, 。 思考: 是否为关系模式 的候选码? 是否为关系模式R的候选码 思考:BD是否为关系模式 的候选码?
有效性:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中 /* Armstrong正确 完备性:F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出 来 /* Armstrong公理够用,完全 所有不能用Armstrong公理推导出来f, 都不为真 若 f 不能用Armstrong公理推导出来, f不属于 F+
5.3 数据依赖的公理系统
Armstrong公理系统还可以得到以下三条推理规则:

数据库之函数依赖公理体系

数据库之函数依赖公理体系

DE,DG,BEC,CGB , CGD,CEA,CEG
① F1=
ABC,CA,BCD,ACDB, DE,DG,BEC,CGB , CGD,CEA,CEG
② F21=
ABC,CA,BCD,ACDB, DE , DG , BEC , CGD , CEA,CEG
③ 对F中的任何FD:XA和X的任何真子集Z,
(F-{XA})∪{ZA}不等价于F。
每个FD左端无多余 的属性
F没有 多余的
FD
求解方法
(1)用分解规则将F中的所有函数依赖分解成右 端为单个属性的函数依赖;
Armstrong公理的推论 分解规则:若XY,且ZY,则XZ
(2)去掉F中冗余的函数依赖
(1)若X是L类属性,则X必为R的某一候选键的成 员;
(2)若X是L类属性,且X+包含了R的全部属性, 则X必为R的唯一候选键;
(3)若X是R类属性,则X不是任一候选键的成员; (4)若X是N类属性,则X必包含在R的某一候选键
中; (5)若X是R的N类属性和L类属性组成的属性集,
且X+包含了R的全部属性,则X是R的唯一候选键。
CGB,CEG
四、候选键的求解方法
1、属性分类 对于给定的关系R(U)和函数依赖集F,可将
其属性分为4类: ① L类:仅出现在F的函数依赖左部的属性; ② R类:仅出现在F的函数依赖右部的属性; ③ N类:在F的FD左右两边均未出现的属性; ④ LR类:在F的FD左右两边均出现的属性。
2、快速求解候选键的一个充分条件
对于F中任一FD:XY
① G = F-{XY};
② 求X关于G的闭包XG+; ③ 看XG+是否包含Y。如果XG+包含Y,则在G 中逻辑蕴涵XY,说明XY是多余的函数依赖, 所以F=G;如果X+不包含Y,则保留XY。

函数依赖公理体系

函数依赖公理体系
• 3、候选键的一般求解法 • ⑥ 在剩余的属性中依次取两个属性、三个
属性,…,将其记为集合B,并求(XB)F+ :若(XB)F+包含了R的全部属性,且自身 不包含已求出的候选键,则XB为R的一个 候选键; • ⑦ 重复⑥,直到Y中的属性按⑥的组合依 次取完为止; • ⑧ 输出候选键,算法结束。
2020/6/3
2020/6/3
1、函数依赖集的等价与覆盖
• 定义5.5 • 设F和G是两个函数依赖集,如果F+=
G+,则称F和G等价。如果F和G等价,则 称F覆盖G,同时也称G覆盖F。
2020/6/3
定理
• 定理5.7 F+=G+的充要条件是FG+和 GF+。
所 有
F
F+= G+
X→Y G+
X→Y能否Y由GX根G据+ ?公理导出?
2020/6/3
三、最小函数依赖集
• 一个函数依赖集F的闭包F+通常包含 很多函数依赖,有些函数依赖是无意义的 ,如平凡的函数依赖,还有一些是可以推 导出的,即无关的函数依赖。如果将每一 个函数依赖看作是对关系的一个约束,要 检查F+中的每一个函数依赖对应的约束, 显然是一件很繁重的任务。如果能找出一 个与F等价的、包含较少数目函数依赖的 函数依赖集G,则可以简化此工作。最小 函数依赖集的概念由此而提出。
② F22=
ABC , CA , BCD , ACDB , DE , DG , BEC , CGD,CEG
③ F3=
2020/6/3
ABC , CA , BCD, CDB , DE , DG , BEC , CGD , CEG
3、举例(续四)
• 例5.5:求函数依赖集F的最小函数依赖集
• 法2:
① F1=

第3-4讲函数依赖和公理

第3-4讲函数依赖和公理
练习1中函数依赖 AB→D是完全依赖还是部分依赖? 思考: 如果X只有一个属性, X→Y是否一定是完全函数依赖?
定义(传递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},

函数依赖的公理系统资料

函数依赖的公理系统资料

定义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]

函数依赖及范式

函数依赖及范式

函数依赖及范式函数依赖基本概念:•函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集,r 是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X 函数决定Y,或Y函数依赖于X,记为X→Y。

X→Y为模式R的一个函数依赖。

•部分函数依赖:即局部依赖,对于一个函数依赖W→A,如果存在X W(X包含于W)有X→A成立,那么称W→A是局部依赖,否则称W→A为完全函数依赖。

•传递依赖:在关系模式中,如果Y→X,X→A,且X Y(X不决定Y),A X(A不属于X),那么称Y→A是传递依赖。

•函数依赖集F的闭包F+: 被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(clo sure),记为F+。

•最小依赖集:如果函数集合F满足以下三个条件(1)F中每个函数依赖的右部都是单属性;(2) F中的任一函数依赖X→A,其F-{X→A}与F是不等价的;(3)F中的任一函数依赖X→A,Z为X的子集,(F-{X→A})∪{Z→A}与F不等价。

则称F为最小函数依赖集合,记为Fmin。

函数依赖的公理系统:设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则如下:•自反律:如果Y X U,则X→Y在R上成立。

•增广律:如果X→Y为F所蕴涵,Z U,则XZ→YZ在R上成立。

(XZ表示X∪Z,下同) •传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。

以上三条为Armstrong公理系统•合并律:如果X→Y和X→Z成立,那么X→YZ成立。

•伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。

•分解律:如果X→Y和Z Y成立,那么X→Z成立。

这三条为引理注意:•函数依赖推理规则系统(自反律、增广律和传递律)是完备的。

•由自反律所得到的函数依赖均是平凡的函数依赖。

四种范式的含义:•如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。

第3章关系数据模型之函数依赖

第3章关系数据模型之函数依赖
➢ 所以函数依赖反映了一种语义完整性约束。
返回
17
3.函数依赖与属性之间的联系类型有关。
(1)在一个关系模式中,如果属性X与Y有1:1联系时,则存在 函数依赖X→Y,Y→X,即X Y。
例如,当学生无重名时,SNO SN。
(2)如果属性X与Y有1:m的联系时,则只存在函数依赖X→Y。 例 如 , SNO 与 AGE , DEPT 之 间 均 为 1:m 联 系 , 所 以 有
➢ 本节讲述关系数据库规范化理论,这是数据库逻辑设 计的理论依据。
➢ 要求了解规范化理论的研究动机及其在数据库设计中的作用,
➢ 掌握函数依赖的有关概念,
➢ 第一范式、第二范式、第三范式的定义,
➢ 重点掌握并能够灵活运用关系模式规范化的方法和关系模式 分解的方法,这也是本章的难点。
返回
2
4.1 规范化问题的提出
返回
18
4.函数依赖关系的存在与时间无关。
➢ 因为函数依赖是指关系中的所有元组应该满足的约 束条件,而不是指关系中某个或某些元组所满足的 约束条件。
➢ 当关系中的元组增加、删除或更新后都不能破坏这 种函数依赖。
➢ 因此,必须根据语义来确定属性之间的函数依赖, 而不能单凭某一时刻关系中的实际数据值来判断。
➢ S中存储学生基本信息,与所选课程及系主任无关;
➢ D中存储系的有关信息,与学生无关;
➢ SC中存储学生选课的信息,而与所学生及系的有关信息无关。
➢ 与SCD相比,分解为三个关系模式后,数据的冗余度明 显降低。
➢ 当新插入一个系时,只要在关系D中添加一条记录。
➢ 当某个学生尚未选课,只要在关系S中添加一条学生记录,而 与选课关系无关,这就避免了插入异常。
➢ 当一个系的学生全部毕业时,只需在S中删除该系的全部学生 记录,而关系D中有关该系的信息仍然保留,从而不会引起删 除异常。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档