分布式数据库原理与应用课件PPT1第3章.ppt
《分布式数据库原理与应用课件PPT1第3章.ppt》由会员分享,可在线阅读,更多相关《分布式数据库原理与应用课件PPT1第3章.ppt(107页珍藏版)》请在文库网上搜索。
1、第三章第三章3.13.1关系运算关系运算关系代数的运算按运算符的不同可关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系分为传统的集合运算和专门的关系运算两类。运算两类。传统的集合运算包括并、交、差和传统的集合运算包括并、交、差和笛卡尔积;笛卡尔积;专门的关系运算包括选择部分数据专门的关系运算包括选择部分数据的运算和组合两个关系的操作。的运算和组合两个关系的操作。3.1.13.1.1传统的集合运算传统的集合运算1.1.并并假设关系假设关系R和关系和关系S的并的并(Union)运运算产生一个新的关系算产生一个新的关系R,则,则R由属由属于关系于关系R或或S的所有不同元组组成,的所有不同
2、元组组成,记为记为R=RS。RS3.1.13.1.1传统的集合运算传统的集合运算学生基本信息表学生基本信息表S1S1学生基本信息表学生基本信息表S2S2学生基本信息表学生基本信息表S1S2S1S2学号学号姓名姓名性别性别年级年级学院学院专业专业0501001张昊张昊男男2020计算机计算机计算机科学与技术计算机科学与技术0501010李颖李颖女女2020计算机计算机计算机科学与技术计算机科学与技术0501206王婷王婷女女2020计算机计算机计算机科学与技术计算机科学与技术学号学号姓名姓名性别性别年级年级学院学院专业专业0501008赵娜女2020计算机计算机科学与技术0501019李浩男20
3、20计算机计算机科学与技术0501206王婷女2020计算机计算机科学与技术学号学号姓名姓名性别性别年级年级学院学院专业专业0501001张昊男2020计算机计算机科学与技术0501010李颖女2020计算机计算机科学与技术0501206王婷女2020计算机计算机科学与技术0501008赵娜女2020计算机计算机科学与技术0501019李浩男2020计算机计算机科学与技术3.1.13.1.1传统的集合运算传统的集合运算2.2.交交假假 设设 关关 系系 R和和 关关 系系 S的的 交交(Intersection)运运算算产产生生一一个个新新的的关关系系R,则则R由由既既属属于于R又又属属于于S
4、的的元组组成,记为元组组成,记为R=RS。RS3.1.13.1.1传统的集合运算传统的集合运算学生基本信息表学生基本信息表S1S2S1S2学号学号姓名姓名性别性别年级年级学院学院专业专业0501206王婷女2020计算机计算机科学与技术3.1.13.1.1传统的集合运算传统的集合运算3.3.差差假设关系假设关系R和关系和关系S的差的差(Difference)运算产生一个新的关运算产生一个新的关系系R,则,则R由属于由属于R但不属但不属S的元组的元组组成,记为组成,记为R-S。R-S3.1.13.1.1传统的集合运算传统的集合运算学生基本信息表学生基本信息表S1-S2S1-S2学号学号姓名姓名性
5、别性别年级年级学院学院专业专业0501001张昊男2020计算机计算机科学与技术0501010李颖女2020计算机计算机科学与技术3.1.13.1.1传统的集合运算传统的集合运算4.4.笛卡尔积笛卡尔积设设R为为m元元关关系系,S为为n元元关关系系,R和和S的的笛笛卡卡儿儿积积(Extended Cartesian Product)产产生生一一个个新新关关系系R,记记为为R=RXS。R由由R和和S的的所所有有元元组组连连接接而而成成的的具具有有m+n个个分分量量的的元元组组组组成成,新新关关系系中中元元组组的的前前m个个分分量量为为R的的一一个个元元组组,后后n个个分量为分量为S的一个元组。的
6、一个元组。3.1.13.1.1传统的集合运算传统的集合运算学生信息表学生信息表S3 课程信息表课程信息表S4S3XS4学号学号姓名姓名年级年级0501001张昊张昊20200501010李颖李颖2020课程代码课程代码课程名称课程名称教室教室0501001数据库原理数据库原理B010501002C语言语言B02学号学号姓名姓名年级年级课程代课程代码码课程名称课程名称教室教室0501001张昊张昊20200501001数据库原理数据库原理B010501001张昊张昊20200501002C语言语言B020501010李颖李颖20200501001数据库原理数据库原理B010501010李颖李颖2
7、0200501002C语言语言B023.1.2 3.1.2 专门的关系运算专门的关系运算1.1.选择运算选择运算选择运算是一个单目运算,它是从一个关选择运算是一个单目运算,它是从一个关系系R中选取满足给定条件的元组构成一个新中选取满足给定条件的元组构成一个新的关系,选择运算记为:的关系,选择运算记为:F F(R)=t|tRF(t)=)=真真 其中其中是选择运算符,是选择运算符,F表示选择条件,是表示选择条件,是由逻辑运算符由逻辑运算符、等连接算术表达等连接算术表达式组成的条件表达式。式组成的条件表达式。F(t)是一个逻辑表达是一个逻辑表达式,结果取逻辑值式,结果取逻辑值真真或或假假。3.1.2
8、 3.1.2 专门的关系运算专门的关系运算 算术表达式的基本形式为算术表达式的基本形式为XY,其中,其中X、Y是属性名、常量或简单函数,属是属性名、常量或简单函数,属性名也可以用它的序号来代替。性名也可以用它的序号来代替。是比是比较运算符,较运算符,、。选择运算实际上是从关系选择运算实际上是从关系R中选取使中选取使逻辑表达式逻辑表达式F为真的元组。这是从行的为真的元组。这是从行的角度进行的运算。角度进行的运算。3.1.2 3.1.2 专门的关系运算专门的关系运算从学生信息表从学生信息表S1中选择学号为中选择学号为“0501010”的学生,表示为的学生,表示为学号学号=“0501010”(S1)
9、。学号学号学号学号=“0501010”(S1)=“0501010”(S1)结果关系表结果关系表结果关系表结果关系表学号学号姓名姓名性别性别年级年级学院学院专业专业0501010李颖李颖女女2020计算机计算机计算机科学与技术计算机科学与技术3.1.2 3.1.2 专门的关系运算专门的关系运算2.投影运算投影运算投影运算也是一个单目运算,它是从一个投影运算也是一个单目运算,它是从一个关系关系R中选取所需要的列组成一个新关系,中选取所需要的列组成一个新关系,投影运算记为:投影运算记为:A(R)=i1,i2,.ik(R)=tA|tR其中其中是投影运算符,是投影运算符,A为关系为关系R属性的子属性的子
10、集,集,tA为为R中元组相应于属性集中元组相应于属性集A的分量,的分量,i1,i2,.ik表示表示A中属性在关系中属性在关系R中的顺序号中的顺序号。3.1.2 3.1.2 专门的关系运算专门的关系运算投影运算是从列的角度进行的运算,投影投影运算是从列的角度进行的运算,投影取消了原关系中的某些列后,可能出现重取消了原关系中的某些列后,可能出现重复行复行,投影后也会取消这些完全相同的重复投影后也会取消这些完全相同的重复行。从学生信息表行。从学生信息表S1中投影学号、姓名、中投影学号、姓名、年级,表示为年级,表示为学号,姓名,年级学号,姓名,年级(S1),其结果如,其结果如下下表所示表所示学号,姓名
11、,年级学号,姓名,年级学号,姓名,年级学号,姓名,年级(S1)(S1)学号学号姓名姓名年级年级0501001张昊张昊20200501010李颖李颖20200501206王婷王婷20203.1.2 3.1.2 专门的关系运算专门的关系运算3.连接运算连接运算从两个关系从两个关系R和和S的广义笛卡儿积中选取满的广义笛卡儿积中选取满足给定条件足给定条件F的元组组成新的关系的操作称的元组组成新的关系的操作称为为R和和S的连接的连接(Join),其形式为,其形式为:JON 关系名关系名1 AND关系名关系名2 WHERE 条件条件记作记作RFS,其中,条件,其中,条件F=AB是由算术比是由算术比较符较符
12、、和属性名和属性名或列号组成的条件表达式。或列号组成的条件表达式。A和和B分别代表分别代表R的第的第A列和列和S的第的第B列属性。列属性。3.1.2 3.1.2 专门的关系运算专门的关系运算3.连接运算连接运算当连接运算的条件为等号时,连接称为等当连接运算的条件为等号时,连接称为等值连接。连接后的结果包括值连接。连接后的结果包括R和和S的所有字的所有字段,即结果中有重复字段。段,即结果中有重复字段。3.1.2 3.1.2 专门的关系运算专门的关系运算当连接运算中的比较符为当连接运算中的比较符为“=,且参与比较的两,且参与比较的两个关系中用于比较的两个属性相同时,该连接称个关系中用于比较的两个属
13、性相同时,该连接称为自然连接为自然连接(Natural Join),自然连接运算所产生,自然连接运算所产生的新关系由参与连接运算的两个关系中的所有属的新关系由参与连接运算的两个关系中的所有属性组成,但在两个关系中都含有的作为等值比较性组成,但在两个关系中都含有的作为等值比较对象的两个属性只出现一次,所以它不同于一般对象的两个属性只出现一次,所以它不同于一般的等值连接。对于自然连接,无须标明条件表达的等值连接。对于自然连接,无须标明条件表达式式F,只需在结果中把重复的属性去掉,如关系,只需在结果中把重复的属性去掉,如关系R和关系和关系S的自然连接记为的自然连接记为RS。3.1.2 3.1.2 专
14、门的关系运算专门的关系运算学生基本信息表学生基本信息表学生基本信息表学生基本信息表S5 S5 学生选课信息表学生选课信息表学生选课信息表学生选课信息表S6S6 S5S6S5S6结果关系结果关系结果关系结果关系表表表表学号学号姓名姓名年级年级0501001张昊张昊20200501010李颖李颖20200501206王婷王婷2020学号学号课程课程教室教室0501001数据库数据库B010501030C语言语言B020501010C语言语言B02学号学号姓名姓名年级年级课程课程教室教室0501001张昊张昊2020数据库数据库B010501010李颖李颖2020C语言语言B023.1.2 3.1.
15、2 专门的关系运算专门的关系运算4.除运算除运算除运算的含义是给定关系除运算的含义是给定关系R(X,Y)和和S(Y,Z),其中,其中X,Y,Z为属性组。为属性组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必须出自可以有不同的属性名,但必须出自相同的域集。相同的域集。R与与S的除运算得到一个新的的除运算得到一个新的关系关系P(X),P是是R中满足下列条件的元组在中满足下列条件的元组在X属性列上的投影,元组在属性列上的投影,元组在X上分量值上分量值x的象的象集集Yx包含包含S在在Y上投影的集合。上投影的集合。3.1.2 3.1.2 专门的关系运算专门的关系运算ABCa1b1c2a2b3c7
16、a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1R1BCDb1c2d1b2c1d1b2c3d2R2Aa1R1R2R1R2R1R2分析,在关系分析,在关系分析,在关系分析,在关系R1R1中,中,中,中,A A可以取四个值可以取四个值可以取四个值可以取四个值a1,a2,a3,a4a1,a2,a3,a4,其中:其中:其中:其中:a1a1的象集为:的象集为:的象集为:的象集为:(b1,c2b1,c2),(),(),(),(b2,c3b2,c3),(),(),(),(b2,c1b2,c1);a2a2的象集为:的象集为:的象集为:的象集为:(b3,c7b3,c7),(),(),(),(b2,c
17、3b2,c3);a3a3的象集为:的象集为:的象集为:的象集为:(b4,c6b4,c6);a4a4的象集为:的象集为:的象集为:的象集为:(b6,c6b6,c6);R2R2在(在(在(在(B,CB,C)上的投影为)上的投影为)上的投影为)上的投影为(b1,c2),(b2,c3),(b2,c1)(b1,c2),(b2,c3),(b2,c1)。显然只有显然只有显然只有显然只有R1R1的象集的象集的象集的象集a1a1包含包含包含包含R2R2在(在(在(在(B,CB,C)属性组上的投影,)属性组上的投影,)属性组上的投影,)属性组上的投影,所以所以所以所以R1R2=a1R1R2=a1。3.23.2设计
18、方法与分布设计的目标设计方法与分布设计的目标分布式数据库的设计存在两种设计分布式数据库的设计存在两种设计方法,一种自上而下(方法,一种自上而下(Top-Down)的设计方法,另一种是自下)的设计方法,另一种是自下而上(而上(Bottom-Up)的设计方法,)的设计方法,Bottom-Up的设计方法是多数据库的设计方法是多数据库集成的核心研究内容,分布式数据集成的核心研究内容,分布式数据库的设计主要是与库的设计主要是与Top-Down的设计的设计方法相关的内容。方法相关的内容。3.23.2设计方法与分布设计的目标设计方法与分布设计的目标Top-Down设计设计过程:过程:3.23.2设计方法与分
19、布设计的目标设计方法与分布设计的目标Bottom-Up设计过程:设计过程:3.23.2设计方法与分布设计的目标设计方法与分布设计的目标数据库分布设计的目标:数据库分布设计的目标:降低降低费用;费用;提高提高系统可靠性;系统可靠性;处理局部性;处理局部性;易于扩展处理能力和系统规模;易于扩展处理能力和系统规模;负载分布;负载分布;3.33.3分片的定义及分类分片的定义及分类分片的定义:分片的定义:分布式数据库中数据的存储单位称分布式数据库中数据的存储单位称为片段。对全局数据库的划分叫做为片段。对全局数据库的划分叫做分片。划分的结果就是片段。每个分片。划分的结果就是片段。每个片段可以保存在一个以上
20、的场地片段可以保存在一个以上的场地(服务器)上。(服务器)上。3.33.3分片的定义及分类分片的定义及分类分片主要分片主要作用:作用:减少网络传输量;减少网络传输量;增大事务处理的局部性;增大事务处理的局部性;提高数据的可用性和查询效率;提高数据的可用性和查询效率;负载均衡;负载均衡;3.33.3分片的定义及分类分片的定义及分类分片设计分片设计过程:过程:3.33.3分片的定义及分类分片的定义及分类分片原则分片原则:1.完备性条件完备性条件 必须必须把全局关系的所有数据映射把全局关系的所有数据映射到片段中,决不允许有属于全局关到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片系的数据
21、却不属于它的任何一个片段。段。3.33.3分片的定义及分类分片的定义及分类分片原则分片原则:2.可重构条件可重构条件 必须必须保证能够由同一个全局关系保证能够由同一个全局关系的各个片段来重建该全局关系。划的各个片段来重建该全局关系。划分所采用的方法必须确保能够由全分所采用的方法必须确保能够由全局关系的各个片段来重建该全局关局关系的各个片段来重建该全局关系。系。3.33.3分片的定义及分类分片的定义及分类分片原则分片原则:3.不相交条件:要求一个全局关系不相交条件:要求一个全局关系被分割后所得的各个数据片段互不被分割后所得的各个数据片段互不重叠。之所以要施加这个限制,其重叠。之所以要施加这个限制
22、,其目的是为了在数据分配时易于控制目的是为了在数据分配时易于控制数据的复制。数据的复制。3.33.3分片的定义及分类分片的定义及分类分片的类型:分片的类型:水平分片;水平分片;垂直分片;垂直分片;导出分片;导出分片;混合混合分片;分片;3.33.3分片的定义及分类分片的定义及分类分布透明性的定义:指用户或用户分布透明性的定义:指用户或用户程序使用分布式数据库如同使用集程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻据的分布情况,包括全局数据的逻辑分片情况、逻辑片段的站点位置辑分片情况、逻辑片段的站点位置分配情况,各站点数据
23、库的数据模分配情况,各站点数据库的数据模型等情况对用户和用户程序是透明型等情况对用户和用户程序是透明的。的。3.33.3分片的定义及分类分片的定义及分类分布透明性的三个层次:分布透明性的三个层次:分片透明性;分片透明性;位置透明性;位置透明性;局部数据模型透明性局部数据模型透明性;3.4 3.4 水平分片水平分片 水平水平分片是按照一定的条件对分片是按照一定的条件对全局关系元组的划分,即把全局关全局关系元组的划分,即把全局关系的所有元组划分成若干不相交的系的所有元组划分成若干不相交的子集。子集。3.4.13.4.1水平分片的概念水平分片的概念定义:设有一个关系定义:设有一个关系R,R1,R2.
24、Rn为为R的子关系的集合,如果的子关系的集合,如果R1,R2.Rn满足满足以下条件,则称其为关系以下条件,则称其为关系R的水平分片,称的水平分片,称Ri为为R的一个水平片段。的一个水平片段。(1)R1,R2.Rn与与R具有相同的关系模具有相同的关系模式。式。(2)R1R2.Rn=R (3)RiRj=(ij,1in,1jn)3.4.13.4.1水平分片的概念水平分片的概念从水平分片的定义可以看出,所谓水平从水平分片的定义可以看出,所谓水平分片,就是按某种特定条件把一全局关分片,就是按某种特定条件把一全局关系的所有元组划分成若干不相交的子集。系的所有元组划分成若干不相交的子集。每个水平片段由关系中
25、的某个属性上的每个水平片段由关系中的某个属性上的条件来定义,该属性称为分片属性。该条件来定义,该属性称为分片属性。该条件称为分片条件。不相交的子集满足条件称为分片条件。不相交的子集满足完备性条件、可重构条件和不相交条件。完备性条件、可重构条件和不相交条件。3.4.13.4.1水平分片的概念水平分片的概念例有例有一个全局关系模式一个全局关系模式为:为:student(snum,name,college),其中,其中snum为学为学生编号,生编号,name为学生姓名,为学生姓名,college为学生所在的为学生所在的学院,并假定学生所在学院的只有两个即学院,并假定学生所在学院的只有两个即”计算计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库 原理 应用 课件 PPT1