数据库关系运算理论_第1页
数据库关系运算理论_第2页
数据库关系运算理论_第3页
数据库关系运算理论_第4页
数据库关系运算理论_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

数据库关系运算理论1第1页,共48页,2023年,2月20日,星期五任何一种运算都是将一定的运算符作用于一定的运算对象,得到预期的运算结果。关系代数的运算对象和结果都是关系。运算符包括四类:集合运算符、专门关系运算符、算术比较符、逻辑运算符第三节:关系代数第2页,共48页,2023年,2月20日,星期五3第3页,共48页,2023年,2月20日,星期五1.关系代数的基本操作(1)定义

关系代数是一组建立在关系上的高级运算,每个运算都以一个或多个关系作为它的运算对象,并且生成一个关系作为运算结果。(a)运算对象:关系

(b)运算结果:关系

第4页,共48页,2023年,2月20日,星期五(2)关系运算分类(a)传统的集合运算:

合并∪、相交∩、求差-(相减)、笛卡尔积×

(运算从关系的水平(行)的角度来进行)

(b)专门的关系运算:

选择σ

、投影π

、联接、求商÷

(运算不仅涉及行而且涉及列)第5页,共48页,2023年,2月20日,星期五

具有相同属性集的两个关系R1,R2

的合并,是由属于R1或属于R2(或属于两者)的所有元组t(不计重复元组)组成的一个新的关系,新关系具有和R1相同的属性名集合。

运算符:“∪”

记为:R1∪R2

①合并第6页,共48页,2023年,2月20日,星期五例如ABC123456789ABC7894565112RSR∪S的结果为:ABC1234567895112第7页,共48页,2023年,2月20日,星期五②差(相减)

具有相同属性集的两个关系R1,R2的求差,是由属于R1而不属于R2的所有元组t组成的一个新的关系,新关系具有和R1相同的属性名集合。

运算符:“-”

记为:R1-R2

第8页,共48页,2023年,2月20日,星期五例如ABC123456789ABC7894565112RSR-S的结果为:ABC123第9页,共48页,2023年,2月20日,星期五③

笛卡尔积

两个关系R,S(设R为k1元关系,M个元组,S为k2元关系,N个元组)的广义笛卡尔积,是一个(K1+K2)列的元组的集合,是由属于R1的任何一个元组tk1和属于S的元组tk2连接而成的新元组t所组成的一个新关系。(新关系中元组的前K1列是关系R的一个元组,后K2列是关系S的一个元组,基数为M*N)

运算符:"×"

记为:R

×S

第10页,共48页,2023年,2月20日,星期五例如:第11页,共48页,2023年,2月20日,星期五例如:R×SABCabcbceedcCDcdefRSABR.CS.CDabccdabcefbcecdbceefedccdedcefR×S结果为:R×S结果中元组的个数(即基数,行数)=R和S中行数之积;属性的个数(即元数,列数)=R和S中列数之和。第12页,共48页,2023年,2月20日,星期五④

交具有相同属性集的两个关系R1,R2的相交,是由既属于R1又属于R2的所有元组t组成的一个新的关系,新关系具有和R1相同的属性名集合。

运算符:"∩"

记为:R1∩R2第13页,共48页,2023年,2月20日,星期五S-RR-SR∩SR∩S=R-(R-S)

R∩S=S-(S-R)第14页,共48页,2023年,2月20日,星期五例如ABC123456789ABC7894565112RSR∩S的结果为:ABC456789第15页,共48页,2023年,2月20日,星期五⑤选择(限制)从现有关系中选择满足一定条件的元组组成新的关系。(从行的角度进行运算)

运算符“δ”

记为:δF(R)={t|t

∈R∧F(t)=true}其中F为选择条件,是一个逻辑表达式——运算对象:常量、属性名(序号)、简单函数运算符:算术比较运算符、逻辑运算符

16第16页,共48页,2023年,2月20日,星期五选择运算是从行的角度进行的运算σ例如设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。17第17页,共48页,2023年,2月20日,星期五选择(续)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS(a)

Student18第18页,共48页,2023年,2月20日,星期五选择(续)(b)Course课程号课程名先行课学分CnoCnameCpnoCcredit1数据库542数学

23信息系统144操作系统635数据结构746数据处理

27PASCAL语言6419第19页,共48页,2023年,2月20日,星期五选择(续)

(c)SC学号课程号成绩SnoCnoGrade950011929500128595001388950022909500238020第20页,共48页,2023年,2月20日,星期五选择(续)[例1]查询信息系(IS系)全体学生

σSdept

='IS'(Student)

或σ5='IS'(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS注意:常量要用单引号括起来,而属性名或属性序号不用加引号。21第21页,共48页,2023年,2月20日,星期五选择(续)[例2]查询年龄小于20岁的学生

σSage<’20’(Student)

或σ4<’20’(Student)

结果:

SnoSnameSsexSageSdept95002刘晨女19IS95003王敏女18MA95004张立男19IS

22第22页,共48页,2023年,2月20日,星期五⑥投影从现有关系中选取某些属性(列),可对选取的属性重新排序,并删除重复的行(元组),组成新的关系。(从列的角度进行运算)

πA(R)={t[A]|t∈R}A为R的属性列。t[A]表示元组在相应A属性中的分量。

第23页,共48页,2023年,2月20日,星期五投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)π24第24页,共48页,2023年,2月20日,星期五投影(续)[例3]查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影

πSname,Sdept(Student)

或π2,5(Student)结果:25第25页,共48页,2023年,2月20日,星期五投影(续)SnameSdept李勇CS刘晨IS王敏MA张立IS26第26页,共48页,2023年,2月20日,星期五投影(续)[例4]查询学生关系Student中都有哪些系

πSdept(Student)

结果:SdeptCSISMA27第27页,共48页,2023年,2月20日,星期五⑦联结联结也称为θ联结,它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:RS={trts|tr∈R∧ts∈S∧tr[A]θts[B]}

其中A和B分别为R和S上度数相等并且可比的属性组。θ是比较运算符。联结运算从R和S的广义笛卡尔积R×S中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较运算符θ的元组。AθB第28页,共48页,2023年,2月20日,星期五两类常用联结运算等值联结(equijoin)什么是等值连接θ为“=”的联结运算称为等值联结等值联结的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值联结为:RS={|tr

R∧tsS∧tr[A]=ts[B]}A=Btrts29第29页,共48页,2023年,2月20日,星期五自然联结(Naturaljoin)

什么是自然联结自然联结是一种特殊的等值联结两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然联结的含义

R和S具有相同的属性组B

R

S={|trR∧tsS∧tr[B]=ts[B]}trts30第30页,共48页,2023年,2月20日,星期五一般的联结操作是从行的角度进行运算。自然联结还需要取消重复列,所以是同时从行和列的角度进行运算。

AθBRS31第31页,共48页,2023年,2月20日,星期五[例5]ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS32第32页,共48页,2023年,2月20日,星期五

R

S

AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310

C<E33第33页,共48页,2023年,2月20日,星期五等值联结R

SR.B=S.B

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b3234第34页,共48页,2023年,2月20日,星期五自然连接R

S

ABCEa1b153a1b267a2b3810a2b38235第35页,共48页,2023年,2月20日,星期五自然联接的具体的计算过程如下:①计算R╳S②设R和S的公共属性是A1,A2,…AK,挑选R╳S中满足R.A1=S.A1,R.A2=S.A2,…,R.AK=S.AK的那些元组③从R╳S结果中去掉S.A1,S.A2,…S.AK这些列

36第36页,共48页,2023年,2月20日,星期五自然联接与等值联接的区别:(1)在做自然联接的两个关系中,要求值相等的属性名也必须相等,而在等值联接中不要求值相等的属性名相等。(2)在自然联接的结果中,去掉重复的属性名,而在等值联接的结果中不去掉重复的属性名。★若两个关系没有公共属性,则其自然联接就转化为笛卡尔积操作。第37页,共48页,2023年,2月20日,星期五ABCabcdbcbbfcadBCDbcdbceadbRSABCDabcdabcedbcddbcecadbRS自然联接第38页,共48页,2023年,2月20日,星期五ABCabcdbcbbfcadBCDbcdbceadbRSAR.BR.CS.BS.CDabcbcdabcbcedbcbcddbcbcecadadbRS等值联接3=2RS1=1AR.BR.CS.BS.CDbbfbcdbbfbceabcadb第39页,共48页,2023年,2月20日,星期五

⑧除运算(Division)设关系R和S的元数分别为m和n(设m>n>0),那么R÷S是一个(m-n)元的元组集合。

R÷S是满足下列条件的最大关系:最大关系中每个元组t与S中每个元组u组成的新元组〈t,u〉必在关系R中。为了方便起见,我们假设关系S的属性为关系R中后S个属性。40第40页,共48页,2023年,2月20日,星期五则R÷S的具体计算过程如下:(1)

T=Π1,2,…m-n(R)(2)

W=(T╳S)-R(计算T╳S中不在R的元组)(3)

V=Π1,2,…m-n(W)(4)

R÷S=T-V即R÷S=Π1,2,…m-n(R)-Π1,2,…m-n((Π1,2,…m-n(R)╳S)-R)除运算是同时从行和列角度进行运算41第41页,共48页,2023年,2月20日,星期五象集

给定一个关系R(X,Y),X和Y为属性组。定义,当t[X]=x时,x在R中的象集为:Yx={t[Y]|t∈R,t[X]=x}它表示R中属性组X上值为x的诸元组在Y上各分量的集合。t[Y]

Y为R中的一个属性组,Y={yi1,yi2…yik},t[Y]=(t[yi1],t[yi2]…t[yik])表示R中的元组t在属性组Y上各分量的集合42第42页,共48页,2023年,2月20日,星期五(1)将R中属性分为两个集合X和Y,

R(X,Y),其中Y就是S中的前半部分属性的集合,S(Y,Z)。(2)若X的某个值x的象集YxYx={t[Y]∣t∈R∧t[X]=x}

包含S表中t[Y]的所有元组

,则将x放入结果集中。因此,求R÷S的操作步骤如下:43第43页,共48页,2023年,2月20日,星期五例如:ABCDabcdabefabdebcefedcdedefCDcdefRSXYY当x=(b,c)时,其象集Yx为:

C

D

e

f44第44页,共48页,2023年,2月20日,星期五R÷S的结果为:ABabedX当x=(a,b)时,其象集Yx为:CDcde

温馨提示

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

评论

0/150

提交评论