1 / 17

数据库系统概论 An Introduction to Database System 第 6 章 关系数据理论

数据库系统概论 An Introduction to Database System 第 6 章 关系数据理论. 第 6 章 关系数据理论. 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 * 6.4 模式的分解. 6.3 数据依赖的公理系统. 函数依赖的推导公理( Armstrong 公理) 函数依赖与属性关系 闭包及其计算 函数依赖集的最小集 候选关键字的求解理论和算法. 五、候选关键字的求解理论和算法. 对于给定的关系 R ( A1 , A2 , … , An )和函数依赖集 F ,属性分为四类:

bryce
Download Presentation

数据库系统概论 An Introduction to Database System 第 6 章 关系数据理论

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库系统概论 An Introduction to Database System 第6章 关系数据理论

  2. 第6章 关系数据理论 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解

  3. 6.3 数据依赖的公理系统 • 函数依赖的推导公理(Armstrong公理) • 函数依赖与属性关系 • 闭包及其计算 • 函数依赖集的最小集 • 候选关键字的求解理论和算法

  4. 五、候选关键字的求解理论和算法 对于给定的关系R(A1,A2,…,An)和函数依赖集F,属性分为四类: L类:仅出现在F的函数依赖左部的属性 R类:仅出现在F的函数依赖右部的属性 N类:在F的函数依赖左右两边均未出现的属性 LR类:在F的函数依赖左右两边均出现的属性

  5. 1、快速求解候选关键字的一个充分条件 • 定理1 对于给定的关系模式R和函数依赖集F,若X(X∈R)是L类属性,则X必为R的任一候选关键字的成员。 • 推论1 对于给定的关系模式R和函数依赖集F,若X(X∈R)是L类属性,且X+包含了R的全部属性,则X必为R的唯一候选关键字。

  6. 1、快速求解候选关键字的一个充分条件 [例] 设关系模式R(A,B,C,D),函数依赖集F={D→B,B→D,AD→B,AC→D} 求R的所有候选关键字。 解:考察F发现,A,C两属性是L类属性,由定理1可知,AC必是R的任一候选关键字的成员,又因为(AC)+=ACDB,由推论1可知,AC是R的唯一候选关键字。

  7. 1、快速求解候选关键字的一个充分条件 • 定理2对于给定的关系模式R和函数依赖集F,若X(X∈R)是R类属性,则X不在任何候选关键字中。 • 定理3对于给定的关系模式R和函数依赖集F,若X(X∈R)是N类属性,则X必为R的任一候选关键字的成员。 • 推论2对于给定的关系模式R和函数依赖集F,若X(X∈R)是L类和N类组成的属性集,且X+包含了R的全部属性,则X必为R的唯一候选关键字。

  8. 1、快速求解候选关键字的一个充分条件 [例] 设关系模式R(A,B,C,D,E,P),函数依赖集F={A→D,E→D,D→B,BC→D,DC→A} 求R的所有候选关键字。 解:考察F发现,C,E两属性是L类属性,由定理1可知,CE必是R的任一候选关键字的成员,又P是N类属性,故由定理3可知,P也必是R的任一候选关键字的成员。又因为(CEP)+=CEPDAB,所以由推论2可知,CEP是R的唯一候选关键字。

  9. 2、左边为单属性的函数依赖集的候选关键字成员图论判定方法2、左边为单属性的函数依赖集的候选关键字成员图论判定方法 定义:函数依赖图G是一个有序二元组(R,F),记作 G=(R,F) 其中:(1)R=(A1,A2,…,An)是一个有限非空集, Ai (i=1,2,…,n)是G的结点,他们表示对应关系模式R=(A1,A2,…,An)的属性。 (2)F是G的边集,每条边表示一个函数依赖Ai→Aj,则F是R的单属性最小依赖集

  10. A3 A1 A2 A5 A4 2、左边为单属性的函数依赖集的候选关键字成员图论判定方法 • 术语: • 引入线/引出线: • 原始点:只有引出线的结点(L类属性) • 终结点:只有引入线的结点(R类属性) • 途中点:既有引入线又有引出线的结点(LR类属性) • 孤立点:既无引入线又无引出线的结点(N类属性) • 关键点:原始点和孤立点统称为关键点 • 关键属性:关键点对应的属性 • 独立回路:不能被其他结点到达的回路

  11. 2、左边为单属性的函数依赖集的候选关键字成员图论判定方法2、左边为单属性的函数依赖集的候选关键字成员图论判定方法 • 定理4关系模式R的函数依赖图G中若存在关键结点,则关键结点对应的属性必在R的任何候选关键字中,而所有终结点必不在R的任何候选关键字中。 • 定理5属性集X是R的唯一候选关键字的充要条件是X为能到达G中任一结点的关键属性集。 • 推论3在单属性情况下,R具有唯一候选关键字的充要条件是G中不存在独立回路。 • 定理6设Y是途中点,则Y必在某个候选关键字中的充要条件是Y为某一个独立回路中的结点。

  12. 2、左边为单属性的函数依赖集的候选关键字成员图论判定方法2、左边为单属性的函数依赖集的候选关键字成员图论判定方法 定理7 设F是单属性依赖集,R的关键属性集X不能到达G中的某些结点,G中存在k(k≥1)个独立回路r1,r2,…,rk,各回路的结点集分别为: AA1={A11,A12,…,A1n1} AA2={A21,A22,…,A2n2} AAk={Ak1,Ak2,…,Aknn} 其中Aij (i=1,2,…,k;j=1,2,…,n)都是R的属性 则:(1)R的候选关键字必不唯一 (2)R的每个候选关键字均由两部分组成: • 关键属性集X(包括X为空) • k个独立回路中,每个独立回路任选一个点作为候选关键字的成员,候选关键字的集合Y是AA1,AA2,…,AAk的笛卡儿积。 (3)候选关键字的个数等于各独立回路中结点个数的乘积,即: M=n1×n2×…×nk (4) 每个候选关键字所含属性个数是一个常数,它等于关键属性个数|X|加上独立回路个数,即 N=|X|+k

  13. 算法:单属性依赖集图论求解法 输入:关系模式R,R的单属性依赖集F 输出:R的所有候选关键字 方法:(1)求F的最小依赖集F’。 (2)构造函数依赖图FDG。 (3)从图中找出关键属性集X(X可为空)。 (4)查看G中有无独立回路,若无则输出X,即为R的唯一候选关键字,转(6);若有则转(5)。 (5)从各回路中各取一结点对应的属性与X组合成一候选关键字,并重复这一过程取尽所有可能的组合,即为R的全部候选关键字。 (6)结束。

  14. S D I B Q O 单属性依赖集图论求解法 例:设R=(O,B,I,S,Q,D) F={ S→D,D→S,I→B,B→I,B→O,O→B } 求R的所有候选关键字。 解:(1)F’=F={ S→D,D→S,I→B,B→I,B→O,O→B } (2)构造FDG (3)关键属性集{Q} (4)有两条独立回路,SDS,IBOBI 共有候选关键字M=2×3=6个 每个候选关键字有N=1+2=3个属性 (5)R的所有候选关键字为:QSI,QSB,QSD,QDI,QDB,QDO

  15. 3、多属性依赖集候选关键字求解法 输入:关系模式R及其函数依赖集F 输出:R的所有候选关键字 方法: (1)将R的所有属性分为L,R,N和LR四类,并令 X代表L,N两类属性,Y代表LR类属性。 (2)求X+,若X+包含了R的全部属性,则X即为R的唯一候选关键字,转(5);否则,转(3)。 (3)在Y中取一属性A,求(XA)+。若它包含了R的全部属性,则转(4);否则,调换一属性反复进行这一过程,直到试完所有Y中的属性。 (4)如果已找出所有候选关键字,则转(5);否则在Y中依次取两个,三个,…,求他们的属性闭包,直到其闭包包含R的全部属性。 (5)停止,输出结果。

  16. 3、多属性依赖集候选关键字求解法 例:R(X,Y,Z,W) F={ W→Y,Y→W,X→WY,Z→WY,XZ→W } 求R的所有候选关键字。 解:(1)考察F发现,X,Z属性为L类属性,Y,W为LR类属性 (2)所以,计算(XZ)+=XYZW 包含了R的全部属性,因此XZ为R的唯一候选关键字。

  17. 下课了。。。 下课了!

More Related