数据库系统原理DatabaseSystemPrinciples课件_第1页
数据库系统原理DatabaseSystemPrinciples课件_第2页
数据库系统原理DatabaseSystemPrinciples课件_第3页
数据库系统原理DatabaseSystemPrinciples课件_第4页
数据库系统原理DatabaseSystemPrinciples课件_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统原理Database

System

Principles《数据库系统概论》-第6章四川大学计算机学院段

磊leiduan@2011.9第六章关系数据库理论《数据库系统概论》-第6章意义提供分析和判断数据库模式好坏的准则指导设计好的数据库模式难易度本章是本书最难的部分之一对于应用设计十分有用本章目录6.1

问题的提出6.2

规范化6.3

数据依赖的公理系统6.4

模式的分解《数据库系统概论》-第6章2023/10/2636.1

问题的提出--什么是不好的数据库设计《数据库系统概论》-第6章2023/10/264我们目前为止掌握的知识尚无法解决大量的具体设计问题,即关系模式该如何选择。应用数据库应该由多少个表组成?每个表有哪些字段?本章从理论上解决关系数据库的逻辑设计问题。关系模式《数据库系统概论》-第6章2023/10/265一个关系模式应当是一个五元组。R(U,

D,

DOM,

F)F是本章开始引入的数据依赖集。由于D和DOM对模式设计关系不大,因此我们在本章中把关系模式看作是一个三元组:R<U,F>当且仅当U上的一个关系r满足F时,r称为关系模式R<U,F>的一个关系。关系,作为一张二维表,我们对它有一个最起码的要求:每一个分量必须是不可分的数据项。满足

了这个条件的关系模式就属于第一范式(1NF)。数据依赖我们的任务是研究模式设计,研究设计一个“好”的(没有“毛病”的)关系模式的办法。数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。现在人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖(Functional

Dependency,FD)和多值依赖(Multivalued

Dependency,MVD)。《数据库系统概论》-第6章2023/10/266函数依赖《数据库系统概论》-第6章2023/10/267函数依赖极为普遍地存在例如,描述学生的关系,可以有学号(SNO),姓名(SNAME),系名(SDEPT)等几个属性。由于一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值确定之后,姓名和该生所在系的值也就被唯一地确定了。上述值的确定就象数学函数:自变量x确定之后,相应的函数值f(x)也就唯一地确定。我们说SNO函数决定SNAME和SDEPT,或者说SNAME,SDEPT函数依赖于SNO,记为:SNO→SNAME,SNO→SDEPT。例:学生选课模型的关系模式《数据库系统概论》-第6章2023/10/268例如,前面介绍的学生选课模型,可以用一个关系模式表示:SC(Sno,Sname,Sage,Sgendar,Sdept,Cno,Cname,Grade)一个可能的关系为:S1

赵一18

男CS

1

C语言80S1

赵一18男CS

2数据库原理82S2

钱二19

男CS

1

C语言……80可以看出,该模式存在的主要问题是冗余。冗余带来的问题《数据库系统概论》-第6章2023/10/269冗余是不可避免的。在一定程度内也是合理的。但是,过度的冗余则会给数据库带来三类大的问题:插入异常(学生不选课,其基本信息就无法插入)删除异常(删除学生选课信息,其基本信息也被删除)修改复杂(修改某学生的基本信息,要随选课多次被修改)解决冗余的方法《数据库系统概论》-第6章2023/10/2610解决的方法一个大关系分解为若干个小关系。感性经验:多用小关系,少用字段。如前面的SC大关系分解为第三章的Student,SC和Course三个小关系,即可消除三类异常。问题的引出为什么小关系比大关系好呢?现在我们要讨论的就是这个问题。从上面的分解观察到:如果在一个关系模式内,函数依赖形式上如果只有:码

→ 非主属性的形式,冗余就较小,三类异常就没有了。《数据库系统概论》-第6章2023/10/2611本章目录6.1

问题的提出6.2

规范化6.3

数据依赖的公理系统6.4

模式的分解《数据库系统概论》-第6章2023/10/26126.2

规范化《数据库系统概论》-第6章2023/10/2613目的将具有不合适性质的关系转换为更合适的形式。要求掌握函数依赖的定义及判定;掌握1NF到BCNF的定义及判定;了解多值依赖,理解4NF的定义。6.2.1

函数依赖(注意:现在还不能用到码的概念。)定义6.1

设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R的任何一个可能的关系r,r中不可能存在两个元组在X属性值上相等而在Y属性值上不等,则称X函数确定Y或Y函数依赖于X,记作:X→Y。《数据库系统概论》-第6章2023/10/26146.2.1

函数依赖X→Y,且Y

X,则称X→Y是非平凡的函数依赖。若不特别声明,我们总是讨论非平凡的函数依赖。X→Y,但Y

X

则称X→Y是平凡的函数依赖。理解为:整体一致,部分一致,没有特殊意义(过于“平凡”)。《数据库系统概论》-第6章2023/10/26156.2.1

函数依赖若X→Y,则X叫做决定因素(Determinant)。若X→Y,Y→X,则记作X←→Y。在这种情况下,X和Y在R(U)中地位相同。若Y不函数依赖于X,则记作X→Y。《数据库系统概论》-第6章2023/10/26166.2.1

函数依赖定义6.2

(完全函数依赖和部分函数依赖的定义)在R(U)中如果X→Y,并且对X的任何一个真子集X’,都有X’→Y,则称Y对X完全函数依赖,记作:X

Y若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:X→

YFP《数据库系统概论》-第6章2023/10/26176.2.1

函数依赖定义6.3(传递函数依赖)在R(U)中,如果X→Y,(Y

X),Y→X,Y→Z,则称Z对X传递函数依赖。记作:X→

Z传递《数据库系统概论》-第6章2023/10/26186.2.2

码定义6.4

设K为R<U,F>中的属性或属性组,若K→U,则FK为R的候选码(Candidate

Key)。若候选码多于一个,则选定其中一个作为主码(PrimaryKey)。主属性(Prime

attribute):包含在任何候选码中的属性。非主属性(Nonprime

attribute):不包含在任何候选码中的属性。也称非码属性(Non-key

attribute).《数据库系统概论》-第6章2023/10/26196.2.2

码定义6.5

(外码的定义)关系模式R中的属性或属性组X并非R的码,但

X是另一个关系模式的码,则称X是R的外部码,简称外码。《数据库系统概论》-第6章2023/10/26206.2.3

范式《数据库系统概论》-第6章2023/10/2621满足最低要求的关系,叫第一范式,简称1NF。关系表的每一分量是不可分的数据项1NF

不允许表中出现嵌套或复合的属性5NF

4NF

BCNF

3NF

2NF

1NF6.2.42NF定义6.6

若R

1NF,对R的每一个非平凡的函数依赖X→Y,要么Y是主属性,要么X不是任何码的真子集,则R

2NF。2NF

在1NF基础上消除了非主属性对码的部分函数依赖。《数据库系统概论》-第6章2023/10/26226.2.42NF《数据库系统概论》-第6章2023/10/2623例:前面的大表SC不是2NF的关系模式。例4:关系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)存在函数依赖Sno

SdeptSdept

Sloc(Sno,Cno)

Grade唯一候选码(Sno,Cno)。则Sno→Sdept是非主属性对码的部分函数依赖。6.2.42NF《数据库系统概论》-第6章2023/10/2624如果一个关系模式不是2NF的,一定存在过度冗余,带来3类异常。解决方法:分解为多个小表。如S-L-C分解为{S-L(Sno,Sdept,Sloc),SC(Sno,Cno,Grade)}2NF仅仅具有历史意义。6.2.53NF定义6.7

若R

1NF,对R中的每一个非平凡的函数依赖X→Y,要么Y是主属性,要么X中含有码,则R

3NF。《数据库系统概论》-第6章2023/10/26256.2.53NF《数据库系统概论》-第6章2023/10/26263NF与2NF相比,条件更强。因为X中含有码,则X不会是任何码的真子集;而2NF定义中,X不是任何码的真子集,还可能是非主属性组。即3NF在2NF的基础上消除了非主属性对码的传递函数依赖。6.2.53NF判断3NF例子S-L(Sno,Sdept,Sloc)唯一候选码Sno函数依赖Sno

→Sdept,Sdept

→Sloc没有非主属性对码的部分函数依赖,满足2NF。存在非主属性对非主属性的函数依赖,不满足3NF。非主属性非主属性《数据库系统概论》-第6章2023/10/26276.2.53NF《数据库系统概论》-第6章2023/10/2628满足2NF,不满足3NF,仍有过度冗余及其带来的3类异常。S1CSB01S2CSB01S3CSB01S100MAB026.2.53NF《数据库系统概论》-第6章2023/10/2629解决方法,分解成小关系S-D(Sno,

Sdept)D-L(Sdept,

Sloc)6.2.6

BCNF由Boyce和Codd共同提出,属于修正的3NF。定义6.8

若R

1NF,对R中的每一个非平凡的函数依赖X→Y,X中均含有码,则R

BCNF。《数据库系统概论》-第6章2023/10/26306.2.6

BCNF《数据库系统概论》-第6章2023/10/2631BCNF与3NF相比,条件更强。不允许主属性对码的部分和传递函数依赖。到BCNF为止,完全消除了由于函数依赖带来的过度冗余及相应的三类异常。6.2.6

BCNF《数据库系统概论》-第6章2023/10/2632例7

(BCNF的例子)关系模式SPJ(学生,课程,名次)每个学生选每门课程有一定名次每门课程中每一名次只有一个学生6.2.6

BCNF例7

(BCNF的例子)关系模式SPJ(学生,课程,名次)每个学生选每门课程有一定名次每门课程中每一名次只有一个学生(学生,课程)->名次《数据库系统概论》-第6章2023/10/2633(课程,名次)->学生6.2.6

BCNF例7

(BCNF的例子)关系模式SPJ(学生,课程,名次)每个学生选每门课程有一定名次每门课程中每一名次只有一个学生(学生,课程)->名次(课程,名次)->学生候选码《数据库系统概论》-第6章2023/10/26346.2.6

BCNF《数据库系统概论》-第6章2023/10/2635例8(是3NF,但不是BCNF的例子)关系模式STJ(学生,教师,课程)每一教师只教一门课一个学生选定某门课程,就对应一个固定的教师6.2.6

BCNF例8(是3NF,但不是BCNF的例子)关系模式STJ(学生,教师,名次)每一教师只教一门课一个学生选定某门课程,就对应一个固定的教师教师->课程《数据库系统概论》-第6章2023/10/2636(学生,课程)->教师6.2.6

BCNF例8(是3NF,但不是BCNF的例子)关系模式STJ(学生,教师,课程)每一教师只教一门课一个学生选定某门课程,就对应一个固定的教师教师->课程(学生,课程)->教师候选码教师,学生《数据库系统概论》-第6章2023/10/26376.2.6

BCNF例8存在的过度冗余教师学生课程王红李明数据库王红刘晨数据库王红王敏数据库刘军张立C语言刘军刘晨C语言“每个教师上一门课”随选课学生的增加而被重复存储《数据库系统概论》-第6章2023/10/26386.2.6

BCNF《数据库系统概论》-第6章2023/10/2639解决方法——还是分解分解为两个小关系模式(都是BCNF的)ST(学生,教师)TJ(教师,课程)或SJ(学生,课程)TJ(教师,课程)6.2.6

BCNF解决方法——还是分解分解为两个小关系模式(都是BCNF的)ST(学生,教师)TJ(教师,课程)或SJ(学生,课程)TJ(教师,课程)两种分解都损失了:“一个学生选定某门课程,就对应一个固定的教师”语义《数据库系统概论》-第6章2023/10/26406.2.6

BCNF解决方法——还是分解分解为两个小关系模式(都是BCNF的)ST(学生,教师)TJ(教师,课程)或SJ(学生,课程)TJ(教师,课程)两种分解都损失了:“一个学生选定某门课程,就对应一个固定的教师”语义函数依赖“(学生,课程)->教师”在分解后没有保持!《数据库系统概论》-第6章2023/10/26416.2.6

BCNF《数据库系统概论》-第6章2023/10/2642事实上,关系模式即使到了BCNF,还可能存在由于非函数依赖带来的冗余及三类异常。这些数据依赖有多值依赖和连接依赖。我们

只简单要求多值依赖。在多个实体间联系为1对多联系时可能出现多值依赖带来的问题。6.2.7

多值依赖多值依赖定义:设有关系模式R(U),X,Y,Z是U的非空子集。对于R的任一关系r,给定一对(x,z)值,就

有一组Y的值与之对应,这组值仅仅决定于x值而与z值无关,则称“Y多值依赖于X”或“X

多值决定Y”。记作X→→Y。或记忆为:设有关系模式R(U),X,Y,Z是U的非空子集。对R(U)的任一关系r,任意两元组s和t,如果s[X]=t[X],则交换s和t的Y值所得两个新元组必在r中。《数据库系统概论》-第6章2023/10/26436.2.7

多值依赖《数据库系统概论》-第6章2023/10/2644翻译情况AB

C(姓名,东方语言,西方语言)—————————————王红日语法语王红汉语英语王红日语英语王红汉语法语是BCNF

,

其中

只有ABC

才是关键字但有冗余,又有删除异常例如删除(王

红 汉语 法语)6.2.7

多值依赖衣着(姓名,衣服,裤子)类似,可称为完全搭配依赖(课程,教师,参考书)类似,看书上《数据库系统概论》-第6章2023/10/26456.2.7

多值依赖《数据库系统概论》-第6章2023/10/2646不是多值依赖的例子:学生选课表SC(Sno,Cno,G)中一个Sno(一个学生)有一组Cno(选了一组课程)和一组G(有一组成绩),但Cno与G有关(成绩与课程有关),所以没有

Sno→→Cno,以及Sno→→G。也就是说一个学生选的一组课程和一组成绩没有形成完全搭配。6.2.7

多值依赖《数据库系统概论》-第6章2023/10/2647平凡的多值依赖:若X→→Y,而Z=

;则称X

→→Y是平凡的多值依赖。多值依赖的性质:1、对称(互补)性:若X→→Y;则X→→Z,其中Z=U-X-Y。2、传递性:若X→→Y,Y→→Z;则X→→Z-Y。3、函数依赖是多值依赖的特殊情况:若X→Y,则X→→Y。4、若X→→Y,X→→Z;则X→→YZ,X→→Z-Y,X→→Y-Z,X

→→Y∩Z。6.2.84NF定义6.10若关系模式R(U,F)∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y不包含于X),X都含有码,则称R(U,F)∈4NF。实质上4NF消除了多值依赖。为什么?《数据库系统概论》-第6章2023/10/26486.2.9

规范化小结《数据库系统概论》-第6章2023/10/26491NF:每个分量是不可分的数据项。∪2NF:非主属性完全函数依赖于码。∪

3NF:非主属性既不部分依赖于码也不传递依赖于码。∪

BCNF:所有属性都不部分依赖于码也不传递依赖于码。所有决定因素(属性集)都包含码。∪4NF:所有非平凡的多值依赖都是函数依赖。本章目录6.1

问题的提出6.2

规范化6.3

数据依赖的公理系统6.4

模式的分解《数据库系统概论》-第6章2023/10/2650函数依赖公理系统的背景《数据库系统概论》-第6章2023/10/2651为了求得给定关系模式的码,为了从一组函数依赖求得蕴含的函数依赖,例如已知函数依赖集F,要问X→Y是否为F所蕴含,就需要一套推理规则,这组推理规则是1974年首先由Armstrong提出来的。它是关系模式分解算法的理论基础。要求得给定关系模式的所有候选码对于关系模式的范式级别判定具有决定作用:范式级别的判定需要知道关系模式的所有候选码;有的范式级别还需确定主属性和非主属性,也需要知道所有候选码。数据依赖的公理系统逻辑蕴含:定义6.11

对于关系模式R<U,F>,其任何一个关系r,若函数依赖X→Y都成立(即r中任意两元组s,t,若t[X]=s[X],则t[Y]=s[Y]),则称函数依赖集F逻辑蕴含X→Y。《数据库系统概论》-第6章2023/10/2652Armstrong

公理系统A1

自反律若Y

X

U,则X→Y为F所蕴含(给出平凡的函数依赖)。A2

增广律若X→Y为F所蕴含,且Z

U,则XZ→YZ为F所蕴含。A3

传递律如X→Y及Y→Z为F

所蕴含,则X→Z为F所蕴含。证明见定理6.1《数据库系统概论》-第6章2023/10/2653Armstrong

公理系统《数据库系统概论》-第6章2023/10/2654Armstrong公理的推论:合并规则:若X→Y,X→Z,有X

→YZ。分解规则:由X

→Y及Z包含于Y,有X→Z。伪传递规则:若X→Y,WY→Z,有XW→Z。根据合并规则和分解规则,得到一个重要事实:X→A1A2…AK成立的充分必要条件是X→Ai(i=1,2,…,k)成立。Armstrong

公理系统《数据库系统概论》-第6章2023/10/2655定义6.12

F的闭包:函数集闭包(找亲戚的亲戚)在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫做F的闭包,记作F

+。Armstrong公理是有效的,完备的:有效性:由F出发根据Armstrong公理推导出来的每个函数依赖一定在F+中。有效性的证明书上定理6.1“Armstrong推理规则是正确的”可直接得证。完备性:F

+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来。经典证明Armstrong

公理系统定义6.13(属性集闭包)XF

+的定义设F是属性集U上的一组函数依赖集,X

U,XF

+={A|X→A能由F根据Armstrong公理导出}。引理6.2

设F为属性集U上的一组函数依赖,X,Y

U,X→Y能由F根据Armstrong公理导出的充分必要条件是Y

XF

+《数据库系统概论》-第6章2023/10/2656算法6.1求XF

+的方法--非常重要《数据库系统概论》-第6章2023/10/2657计算

XF

,滚雪球算法+result

:=X;

//从X

开始while

(changes

to

result

)

dofor

each

V

W

in

F

dobeginif

V

result

then

result

:=

result

Wendreturn

result例例1

关系模式R<U,F>,U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求(AC)F+0.初始化令result=AC1.第一次循环计算result

=ACEB=ABCE2.第二次循环计算result=ABCDE即得结果。定义6.13,引理6.2和算法6.1非常重要,可用于求码。如KF

+=

U,

而K’F

+

!=

U,即求得K为一候选码。《数据库系统概论》-第6章2023/10/2658求码方法要点(自己的总结)《数据库系统概论》-第6章2023/10/2659找出不出现在非平凡函数依赖右部的属性组X,它们一定包含于所有候选码。求XF

,判断=U?成立结束,否则转3。+(自底向上)扩展X的X’’,求X’’F+,判断=U?直到所有情况找完为止。例《数据库系统概论》-第6章2023/10/2660应用举例,对书上P184例1,求所有候选码要点:不出现在任何函数依赖右部的只有A;求AF+=A;扩展AB,ABF

=U;+AC,ACF

=U;+AD,ADF

!=U;(需再扩展)+AE,AEF

!=U;(需再扩展)+再扩展ADE,ADEF

!=U+6.3

数据依赖的公理系统《数据库系统概论》-第6章2023/10/2661要证明完备性首先解决如何判定一个函数依赖是否属于由F根据Armstrong公理推导出来的函数依赖的集合。如果能求出这个集合就很容易判断,但是求这样的集合是一个NP完全问题。所以该判定转换为:任一个函数依赖X

→Y是F

+

中成员的充分必要条件是:

Y

XF

+

。证明完备性转换为证明它的逆否命题为真。即若函数依赖不能由F从Armstrong公理导出,那么它必然不为F所蕴含。证明分3步(略)证明用到了构造(特殊的二维表)、反证,十分巧妙。6.3

数据依赖的公理系统《数据库系统概论》-第6章2023/10/2662完备性证明要证原命题,只需证明其逆否命题:若函数依赖X→Y不能由F出发从Armstrong公理导出,则它本身不为F所蕴含。(1)若V→W成立,且V

XF

+,则W

XF

+。V

XF

+,则由引理6.2,有X→V。由X→V,V→W,有X→W。再由引理6.2,有W

XF

+。6.3

数据依赖的公理系统(2)构造如下二维表r,r必是R<U,F>的一个关系。用反证法。XF

+U-

XF

+-------------11…….

111…….

100

011…

1若r不是R<U,F>的关系,必是由F中的函数依赖V

→W在r上不成立所致。观察r,V

XF

+,而W

XF

+。与(1)矛盾。《数据库系统概论》-第6章2023/10/26636.3

数据依赖的公理系统《数据库系统概论》-第6章2023/10/2664(3)若X→Y不能由Armstrong公理导出则Y不是XF

+的子集,必有Y’

Y,且Y’

U-XF

+。(推)X→Y本身不为F所蕴含。(观察r)得证。6.3

数据依赖的公理系统定义6.14

函数依赖集等价:如果G

+=F

+,就说函数依赖集F覆盖G(F是G的覆盖或G是F的覆盖),或F与G等价。有相应的判定算法。引理6.3的充分性证明的过程实际上给出了判断两函数依赖集等价的方法。引理6.3

F+=G+的充分必要条件是F

G+,和G

F+。《数据库系统概论》-第6章2023/10/26656.3

数据依赖的公理系统《数据库系统概论》-第6章2023/10/2666定义6.15

最小依赖集右部唯一无多余函数依赖无部分函数依赖定理6.3

每一个函数依赖集都等价于一个极小函数依赖集Fm(Fm一定存在,可能不唯一)。定理6.3的证明过程给出了检验(或构造)Fm的方法。求解极小函数依赖集的过程《数据库系统概论》-第6章2023/10/2667用分解规则将F中每一函数依赖分解为若干个右部唯一的函数依赖,新函数依赖集仍命名为F。判断当前F中有没有多余的函数依赖。注意,检查X→A,要在G集(其中G=F-{X→A})下考察X→A是否被蕴含(G集下计算XG+,看A是否包含在其中)。处理后的函数依赖集不妨仍命名为F。判断当前F中每一函数依赖左部有没有多余的属性。注意,检查AB→Y中B是否多余时,令G=F-{AB→Y}∪{A→Y},需要考察A→Y是否为F所蕴含F(F集下计算X

+,看Y是否包含在其中)。最后得到F的函数依赖集Fm。6.3

数据依赖的公理系统例子:设F={AB→C,A→B},求Fm。Fm={B→C,A→B}

?对不对?为什么?《数据库系统概论》-第6章2023/10/26686.3

数据依赖的公理系统上面的F与Fm根本不等价。Fm={A→C,A→B}《数据库系统概论》-第6章2023/10/2669本章目录6.1

问题的提出6.2

规范化6.3

数据依赖的公理系统6.4

模式的分解《数据库系统概论》-第6章2023/10/26706.4

模式的分解要求了解前面我们为了解决设计得不好(范式级别不够高)的数据库模式带来的问题,我们采用了大关系分解为小关系的方法来提高范式级别。本节给出分解的理论指导。《数据库系统概论》-第6章2023/10/26716.4.1

模式分解的三个定义具有无损连接性。分解后的(几个)小模式可自然连接恢复为原来的模式。保持函数依赖分解前后函数依赖集等价既保持无损连接,又保持函数依赖。(理想情况)《数据库系统概论》-第6章2023/10/26726.4.2

分解的无损连接性和保持函数依赖性mρ(r)=πR1(r)

πR2(r)

πRk(r)定义5.18

ρ={R1<U1,F1>,R2<U2,F2>…Rk<UK,FK>}是R<U,F>上的一个分解,若对

于R<U,F>的任一关系r,均有r=

mρ(r)成立,则ρ具有无损连接性。此定义无法用于判断,无损连接性只能通过算法6.2或定理6.5来判断。《数据库系统概论》-第6章2023/10/26736.4.2

分解的无损连接性和保持函数依赖性算法6.2

要求会做。(通过例子来学习)例1

R(S,A,I,P)分解为R1(S,A),R2(S,I,P)。F

={S→A,

SI→P}S

A

I

Pa1

a2 b13b14a1b22

a3

a4由于有S→A,使第二行第二列变成a2。S

A

I

Pa1

a2 b13b14a1

a2

a3

a4《数据库系统概论》-第6章2023/10/26746.4.2

分解的无损连接性和保持函数依赖性补充例R(A,B,C,D,E),分解R1=AD,R2=AB,

R3=BE,

R4=CDE,

R5=AE F={A→C,

B→C,

C→D,DE→C,

CE→A}A

B

C

D

Ea1b12b13a4b15a1a2b23b24b25b31a2b33b34a5b41b42a3a4a5a1b52b53b54a5《数据库系统概论》-第6章2023/10/2675A→C

(b23变b13,b53变b13),B→C

(b33变b13),C→D(b24,b34,b54变a4),DE→C(C列变a3)CE→A(A列变a1)第三行出现了a1到a5.6.4.2

分解的无损连接性和保持函数依赖性《数据库系统概论》-第6章

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论