数据库技术及应用 课件 第5章 关系运算_第1页
数据库技术及应用 课件 第5章 关系运算_第2页
数据库技术及应用 课件 第5章 关系运算_第3页
数据库技术及应用 课件 第5章 关系运算_第4页
数据库技术及应用 课件 第5章 关系运算_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

DatabaseTechnology&Applications数据库技术及应用关系代数关系代数3以关系为运算对象的一组高级运算的组合传统的集合操作并差交乘积专门的关系操作选择投影连接自然连接除法……关系代数最小完备运算集并(union)

SR关系代数并运算图示

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231236陈心仪女202101231238王冲男202101231239刘学明男【例5.1】设有同类关系街舞社团R和声乐社团S如下,求R∪S。

关系R关系S

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男202101231238王冲男202101231239刘学明男关系R∪S【例5.2】设有同类关系街舞社团R和声乐社团S如下,求R-S和S-R。

关系R关系S

差(difference)

关系代数差运算图示SR学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231236陈心仪女202101231238王冲男202101231239刘学明男学号姓名性别202101231234张怡女202101231235李述男202101231237张鑫奕男学号姓名性别202101231238王冲男202101231239刘学明男关系R-S关系S-R乘积(product)

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男课程号课程名1000语文1001英语【例5.3】设有关系学生R和课程S如下,求R×S。关系R关系S学号姓名性别课程号课程名202101231234张怡女1000语文202101231235李述男1000语文202101231236陈心仪女1000语文202101231237张鑫奕男1000语文202101231234张怡女1001英语202101231235李述男1001英语202101231236陈心仪女1001英语202101231237张鑫奕男1001英语关系R×S选择(selection)

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男【例5.4】设有关系学生R如下,求σ性别=‘女’(R)。关系R关系σ性别=‘女’(R)学号姓名性别202101231234张怡女202101231236陈心仪女投影(projection)

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男

性别姓名女张怡男李述女陈心仪男张鑫奕

【例5.7】设有同类关系街舞社团R和声乐社团S如下,求R∩S。

关系R关系S

交(intersection)

SR关系代数交运算图示学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231236陈心仪女202101231238王冲男202101231239刘学明男学号姓名性别202101231236陈心仪女关系R∩S

交与差的联系

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231234张怡女202101231235李述男202101231237张鑫奕男学号姓名性别202101231236陈心仪女关系R–(R–S)

学号课程号成绩202101231234100084202101231236100178

关系R

关系S学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男R.学号姓名性别S.学号课程号成绩202101231234张怡女202101231234100084202101231236陈心仪女202101231236100178关系

关系R关系S课程号学费选课存款余额学号100045010001000202101231234关系

课程号学费10004501001500选课存款余额学号100010002021012312341001480202101231236关系R关系S

自然连接(naturaljoin)

学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别课程号成绩202101231234张怡心仪女100178关系R∞S关系R关系S

自然连接(naturaljoin)

课程号课程名1000语文1000英语学号姓名202101231234张怡202101231235李述202101231236陈心仪202101231237张鑫奕关系R∞S学号姓名课程号课程名202101231234张怡1000语文202101231235李述1000语文202101231236陈心仪1000语文202101231237张鑫奕1000语文202101231234张怡1001英语202101231235李述1001英语202101231236陈心仪1001英语202101231237张鑫奕1001英语关系R关系S

除法(division)

课程号课程名1000语文1001英语学号课程号课程名2021012312341000语文2021012312341001英语2021012312351000语文2021012312361001英语2021012312371000语文2021012312371001英语

学号202101231234202101231237关系R关系S

外连接(outerjoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,并为空缺值的属性填上空值NULL。外连接操作符为。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡心仪述男202101231237张鑫奕男100096关系R关系S

左外连接(leftouterjoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外连接是在R和S自然连接的基础上,把R原来要舍弃的元组都放到新关系中,并为空缺值的属性填上空值NULL。左外连接操作符为。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡心仪述男202101231237张鑫奕男关系R关系S

右外连接(rightouterjoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外连接是在R和S自然连接的基础上,把S原来要舍弃的元组都放到新关系中,并为空缺值的属性填上空值NULL。右外连接操作符为。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡心仪女100178202101231238100096关系R关系S

半连接(semijoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别202101231234张怡女202101231236陈心仪女关系S

R学号课程号成绩202101231234100084202101231236100178关系R关系S

外部并(outerunion)

关系R

和S的外部并设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外部并的结果关系是由R和S所有属性组成(公共属性只取一次),结果关系的元组由属于R或属于S的元组构成,对于那些没有具体值的新增加的属性,全部填上空值NULL。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡女202101231236陈心仪女202101231235李述男202101231237张鑫奕男202101231234100084202101231236100178202101231238100096关系代数表达式的应用关系代数表达式22使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.19】检索学习了课程号为1001的学生学号与成绩。

关系代数表达式23使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.20】检索学习了课程号为1001的学生学号与姓名。

或或关系代数表达式24使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.21】检索学习了课程名为英语的学生学号与姓名。

关系代数表达式25使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.22】检索学习了课程号为1000或1001的学生学号。

关系代数表达式26使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.23】检索至少选修了课程号为1000和1001的学生学号。

关系代数表达式27使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.24】检索没选课程号为1000的学生学号与姓名。

关系代数表达式28使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.25】检索选修了全部课程的学生姓名。

关系代数表达式29使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.26】检索所学课程包含学号为202101231234的同学所学全部课程的学生学号。

关系代数表达式30使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.27】为“课程”关系增加一条新元组(‘1002’,’数学’,64,4)。

关系代数表达式31使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.28】在“选修”关系中删除学号为202101231234的学生学习课程号1000的信息。

关系代数表达式32使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.29】在“选修”关系中将学号为202101231234的学生学习课程号1001的成绩改为80。

查询优化关系代数表达式等价34在关系代数运算中,若用同样的关系实例代入两个不同的关系代数表达式E1和E2的相应关系,最终得到一样的查询结果,我们就称这两个关系代数表达式等价,记为E1≡E2。思考:对于同一个查询问题,若存在多个等价的关系代数表达式能获取一样的查询结果,这些等价的关系代数表达式的执行效率(包括时间开销和空间开销)有何不同?关系代数表达式等价35【例5.30】设有两个关系:学生(学号,身份证号,姓名,性别,班级,生日)和选修(学号,课程号,成绩),“学生”关系和“选修”关系包含的元组个数分别为1000和5000,且“选修”关系中满分的元组为5个。查询获得满分的学生姓名,请写出两种不同的关系代数表达式表示该查询,并比较它们的效率。

1000*5000次比较运算

5000次比较运算5*1000次比较运算方法1:方法2:关系代数表达式优化策略尽可能早地执行选择及投影操作把笛卡尔乘积和随后的选择合并成连接操作一连串的选择操作和一连串的投影操作可同时执行若在关系代数表达式中多次出现某个子表达式,可预先将该子表达式算出结果并保存起来在连接前对关系文件进行预处理,如排序和建立索引关系演算关系演算38把数理逻辑的谓词演算推广到关系运算中元组演算域演算

元组关系演算元组关系演算的原子公式40

元组关系演算的原子公式41

元组关系演算的原子公式42

元组变量的性质43存在量词

(

t)是一个量词,其含义为“存在这样的t”或“至少有这样一个t”。全称量词

(

t)是一个量词,其含义为“对所有的t”或“对任意一个t”。

元组变量的性质44自由元组变量在一个公式中,如果没有对元组变量使用存在量词∃或全称量词∀,则称这些元组变量为自由元组变量。约束元组变量若在一个公式中对元组变量使用了存在量词∃或全称量词∀,则称这些元组变量为约束元组变量。元组关系演算公式45

定理5.2-5.646

元组关系演算表达式47在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.31】检索女生的基本信息。

元组关系演算表达式48在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.32】检索学习了课程号为1001的学生学号与成绩。

元组关系演算表达式49在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.33】检索学习了课程号为1000或1001的学生学号。

元组关系演算表达式50在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.34】检索学习了课程号为1001的学生学号与姓名。

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S

并的元组演算课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322差的元组演算

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322乘积的元组演算

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322选择的元组演算

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322选出关系R

温馨提示

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

评论

0/150

提交评论