关系代数(2013-9-26).ppt_第1页
关系代数(2013-9-26).ppt_第2页
关系代数(2013-9-26).ppt_第3页
关系代数(2013-9-26).ppt_第4页
关系代数(2013-9-26).ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、关系代数,关系数据模型源于数学,用二维表来组织数据; 二维表在关系数据库中称为关系; 关系数据库就是关系(或者说是表)的集合。 设关系模式为R(A1, A2, , An)。它的一个关系设为R。tR表示t是R的一个元组。tAi则表示元组t中相应于属性Ai的一个分量 。,关系代数概述,一种抽象的查询语言 用对关系的运算来表达查询,客观现实,关系型数据库模型,关系代数,关系代数的运算分类,传统集合运算 包括并、交、差和广义笛卡儿积运算 专门关系运算 包括选择、投影、连接和除运算,关系代数运算的三要素,运算对象、运算符、运算结果 关系代数运算对象和运算结果均为:关系 运算符包括四类: 集合运算符、专门

2、的关系运算符、算术比较符、逻辑运算符。,关系代数运算符,传统的集合运算并,1. 并(Union) 关系R与关系S的并记作: RS = t | tR tS 结果仍为n目关系,由属于R或属于S的元组组成。,R与S的并集举例,R,传统的集合运算差,2. 差(Difference) 关系R与关系S的差记作: R-S = t | tR tS 其结果关系仍为n目关系,由属于R而不属于S的所有元组组成。,Q: R2-R1=?,R,R与S的差集举例,传统的集合运算交,3. 交( Intersection) 关系R与关系S的交记作: RS = t | tR tS 其结果关系仍为n目关系,由既属于R又属于S的元组

3、组成。关系的交可以用差来表示,即RS=R-(R-S)。,R1R2,R,R与S的交集举例,传统集合运算小练习,已知关系R和S,请完成RS 、RS、 S R 和 RS 运算 R S,传统的集合运算广义笛卡尔积,4. 广义笛卡尔积 两个分别为 n目和m目的关系 R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。记作: RS = trts | trR tsS R: n目关系,k1个元组 S: m目关系,k2个元组 RS 列:(n+m)列元组的集合元组的前n列是关

4、系R的一个元组后m列是关系S的一个元组 行:k1k2个元组,广义笛卡尔积(续),广义笛卡尔积,R,S,R S,广义笛卡尔积,D1=导师集合= 张清玫,刘逸, D2 =专业集合= 计算机,信息, D3 =研究生集合= 李勇,刘晨,王名 则 D1 X D2 X D3 = (张清玫,计算机,李勇 ) , (张清玫,计算机,刘晨 ) , (张清玫,计算机,王名 ) , (张清玫,信 息,李勇 ) , (张清玫,信 息,刘晨 ) , (张清玫,信 息,王名 ) , (刘 逸,计算机,李勇 ) , (刘 逸,计算机,刘晨 ) , (刘 逸,计算机,王名 ) , (刘 逸,信 息,李勇 ) , (刘 逸,信

5、 息,刘晨 ) , (刘 逸,信 息,王名 ) , 共12个元组。笛卡儿积可对应一张二维表。,专门的关系运算选择,1. 选择( Selection) 在关系R中选择满足给定条件的元组,记做: F (R) = t | t R F(t)=真 F是一个公式,由逻辑运算符(, )连接各算术表达式组成。 算术表达式的基本形式为:XY. =, , ,=, 。 选择运算是从关系中选取使公式为真的元组。这是从行的角度进行的运算。,选择运算举例,例1 求计算机科学系CS的学生, SD=CS (S),在关系R中选择满足给定条件的元组,记做: F (R) = t | t R F(t)=真 ,例2 求计算机科学系CS

6、,年龄不超过21岁的学生。, SD=CS SA21 (S),选择运算举例,例:在学生关系中选择年龄为19岁的男生。,SSEX=男AND SAGE=19,(STUDENT),STUDENT,专门的关系运算投影,2. 投影( Projection) 关系R上的投影是从R中选择出若干属性列组成新的关系。记作: A(R)= tA | tR 其中A为R中的属性列。 投影操作是从列的角度进行的运算。,投影运算举例,例3 求学生关系S在学生姓名和所在系这两个属性上的投影结果。,SN,SD (S),(a),S,举例,设教学数据库中有三个关系: 学生关系S(S#,SNAME,SD, AGE ) 课程关系C(C#

7、,CN, CP#) 学习关系SC(S#,C#,GRADE),例1 检索学习课程号为C2的学生学号与成绩,S# ,GRADE( C# =C2 (SC), C# =C2 (SC),思考:下面的写法对吗? C# =C2 ( S# ,GRADE (SC),课堂练习,已知关系Movie(title,year,length,studioName,ProducerC#) 请写出由Fox公司制作的至少有100分钟长的电影的名称和年份的关系代数表达式。,title ,year(length 100 and studioName=Fox (Movie),3. 连接( Join) 连接也称为连接。它是从两个关系的笛

8、卡尔积中选取属性间满足一定条件的元组。记作:,专门的关系运算连接,连接也称为连接 从两个关系的笛卡尔积中选取属性间满足一定条件的元组 A和B:分别为R和S上度数相等且可比的属性组 :比较运算符 连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。,设有关系R和S:,R A B C S A B C,连接运算中有两种最为重要也最为常用的连接 等值连接(Equal-join) 自然连接(Natural-join),等值连接和自然连接,为“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,即等值连接为

9、: 自然连接(Natural-join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。即若R和S具有相同的属性组B,则自然连接可记作: 一般的连接操作是从行的角度进行运算。但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,例4 关系R和关系 S 小于连接(CE),等值连接,自然连接,左外连结: 对R中任意元组,若S中找不到匹配的元组, 则S用空元组与之对应。R的信息在左外连结的结果中都得到保留。,左外连接,在R、S自然连结时对不匹配的元组用空值来匹配。有左外连结、右外连结和全外连结,例5 关系EMP、SAL的左外连结:,右

10、外连结: 对S中任意元组,若R中找不到匹配的元组, 则R用空元组与之对应。S的信息在右外连结的结果中都得到保留。,例6 关系EMP、SAL的右外连结:,右外连接,全外连结: 对R或S中所有不匹配的元组,均用空元组分 别匹配。R、S的信息在全外连结的结果中都得到保留。,例7 关系EMP、SAL的全外连结:,全外连接,综合举例,设教学数据库中有三个关系: 学生关系S(S#,SNAME,SD, AGE ) 课程关系C(C#,CN, CP#) 学习关系SC(S#,C#,GRADE) 请写出“检索学习课程号为C2的学生学号和姓名”的关系代数表达式,检索学习课程号为C2的学生学号和姓名,另一种写法:S#

11、,SNAME(s C# =C2 (sc),S SC,S# ,SNAME(C# =C2 ( ),课堂练习,设教学数据库中有三个关系: 学生关系Student(Sno,Ssex, Sname,Sdept, Sage) 课程关系Course(Cno,Cname, Credit) 选课关系SC(Sno,Cno,grade) 请用专门的关系运算表达式来完成相应查询: 查询年龄小于20岁并且是经管分院的学生的学号和姓名; 查询杨扬同学所选的课程号以及考试成绩。 3) 查询选修了课程号是C2的学生的姓名和课程名称,参考答案,1)查询年龄小于20岁并且是经管分院的学生的学号和姓名; 2)查询杨扬同学所选的课程号以及考试成绩。 3) 查询选修了课程号是C2的学生姓名和课程名称 sname ,cname(cno =C2 (student sc course ) 对! Sname ,cname(cno =C2 (student course sc ) 错!,sno ,sanme(sage20 and sdept= 经管分院(student),写法1:cno,grade(sc (sname =杨扬 (student))),写法2:cno,grade(sname =杨扬 ( student sc),作业,设教学数据库中有三个关系: 学生关系Student(Sno,Ssex,

温馨提示

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

评论

0/150

提交评论