收藏 分享(赏)

2关系代数.ppt

上传人:dzzj200808 文档编号:2193440 上传时间:2018-09-04 格式:PPT 页数:37 大小:499.50KB
下载 相关 举报
2关系代数.ppt_第1页
第1页 / 共37页
2关系代数.ppt_第2页
第2页 / 共37页
2关系代数.ppt_第3页
第3页 / 共37页
2关系代数.ppt_第4页
第4页 / 共37页
2关系代数.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、第二章 关系数据库,2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 关系演算 2.6 小结,2.4 关系代数,概述传统的集合运算专门的关系运算,概 述,概 述(续),2.4 关系代数,概述传统的集合运算专门的关系运算,1. 并(Union),R和S 具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域 RS 仍为n目关系,由属于R或属于S的元组组成RS = t|t Rt S ,S,R,R,S,R S,2. 差(Difference),R和S 具有相同的目n 相应的属性取自同一个域 R - S 仍为n目关系,由属于R而不属于S的所有元组组成

2、R -S = t|tRtS ,R-S,R,S,R S,3. 交(Intersection),R和S 具有相同的目n ,相应的属性取自同一个域 RS 仍为n目关系,由既属于R又属于S的元组组成RS = t|t Rt S RS = R (R-S),R S,R S,R,S,4. 笛卡尔积(Cartesian Product),严格地讲应该是广义的笛卡尔积 R: n目关系,k1个元组 S: m目关系,k2个元组 RS 列:(n+m)列元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1k2个元组 RS = tr ts |tr R tsS ,RS,R,S,2.4 关系代数,概述

3、 传统的集合运算 专门的关系运算,2.4.2 专门的关系运算,几个特殊符号 (1) R,tR,tAi设关系模式为R(A1,A2,An),它的一个关系设为RtR表示t是R的一个元组tAi则表示元组t中相应于属性Ai的一个分量,(2) A,tA, A若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或属性组。tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。,(3) tr tsR为n目关系,S为m目关系。tr R,tsS, tr ts称为元组的连接。tr t

4、s是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。,(4)象集Zx给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集(Images Set)为:Zx=tZ|t R,tX=x它表示R中属性组X上值为x的诸元组在Z上分量的集合,x1在R中的象集Zx1 =Z1,Z2,Z3, x2在R中的象集Zx2 =Z2,Z3, x3在R中的象集Zx3=Z1,Z3,象集举例,Student,Course,SC,学生-课程数据库: SCDB,问题提出,在SCDB数据库中如何用关系代数完成如下操作?查询年龄小于20岁的所有男生的基本信息; 查询年龄小于20岁的所

5、有男生姓名; 查询选修了2号课程的学生姓名; 查询至少选修了2号课程的学生姓名。,2,3,1,4,2.4.2 专门的关系运算,选择 投影 连接 除,1. 选择运算,选择的含义 根据一定的条件在给定的关系R中选择若干元组,组成一个新关系,记作: F(R ) :选择运算符 F:条件表达式 由运算对象(属性名、常数、简单函数)、算术比较运算 符(,)或逻辑运算符(, )连接起来构成的逻辑表达式 注:选择运算是从关系R中选取使条件表达式F为真的元组,是从行的角度进行的运算,1. 选择运算,问题1 查询年龄小于20岁的所有男生信息,关系代数表达式:(Sage 20)(Ssex=男) (Student),

6、结果:,2. 投影运算,投影的含义 从R中选择出若干属性列,组成新的关系。记作:A1,A2,.An(R) A1,A2,.An为R中的属性列, 是投影运算符注:(1)投影操作主要是从列的角度进行运算(2)投影之后不仅取消了原关系中的某些列,而且还可能取消某些行(?),2. 投影运算,问题2 查询年龄小于20岁的所有男生姓名,关系代数表达式: Sname( (Sage 20)(Ssex=男) (Student),结果:,3. 连接运算,连接的含义 从两个关系的广义笛卡儿积中选取满足连接条件的元组,组成新的关系. 记作: :连接运算符 A和B:分别为R和S上度数相等且可比的属性组 :比较运算符 (,

7、) 为“”的连接运算称为等值连接 等价于:A B(RS),例2关系R和关系S 如下所示:,R,S,问题3 查询选修了1号课程的学生姓名,关系代数表达式:,思考题】查询选修了“数据库”课程的学生姓名。,结果:,4. 除(Division),给定关系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上投影的集合,记作:RS = tr X | tr RY (S) Yx Yx:x在R中的象集,x =

8、trX,2)除操作是同时从行和列角度进行运算,例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c),在关系R中,A可以取四个值a1,a2,a3,a4a1的象集为 (b1,c2),(b2,c3),(b2,c1)a2的象集为 (b3,c7),(b2,c3)a3的象集为 (b4,c6)a4的象集为 (b6,c6) S在(B,C)上的投影为(b1,c2),(b2,c1),(b2,c3) 只有a1的象集包含了S在(B,C)属性组上的投影所以 RS =a1,结果分析,关系代数小结,五种基本代数运算: 并、差、笛卡尔积、选择、投影 RUS、R-S、RXS、F(R) 、 A(R) 组合运算 连接(

9、一般连接、等值连接、自然连接、外连接)、除 R S 、RS 象集 设R(X,Y) 则Yx1=y (X=x1(R) ) 除:R中满足下列条件的元组在 X 属性列上的投影: 元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:RS = tr X | tr RY (S) Yx ,练习,设关系R、S分别如下:,计算: (1)RXS (2)RS (3)R S (4)RS (5)R与S的外连接,R.A=S.B,5综合举例,以学生-课程数据库为例 (P56) 例7 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K: 然后求:Sno,Cno(SC)K,例 7续 Sno,Cno(SC)20

10、0215121象集1,2,3200215122象集2,3K=1,3于是:Sno,Cno(SC)K=200215121,例 8 查询选修了2号课程的学生的学号。Sno(Cno=2(SC) 200215121,200215122,例9 查询至少选修了一门其直接先行课为5号课程的的学生姓名Sname(Cpno=5(Course SC Student) 或 Sname(Cpno=5(Course) SC Sno,Sname(Student) 或 Sname (Sno (Cpno=5 (Course) SC) Sno,Sname (Student),例10 查询选修了全部课程的学生号码和姓名。Sno,C

11、no(SC)Cno(Course) Sno,Sname(Student),练习 1、查询至少选修了号课程和3号课程的学生姓名 首先建立一个临时关系K: Sname(Sno,Cno (SC)K) Sno,Sname(Student),2.查询张立同学的年龄。 . 查询王敏同学60分以下的课程名称。 . 查询选修了“数据库”课程的学生姓名。 5、查询李勇同学的信息系统课程的成绩。2. Sage(Sname=张立(Student)3. Cname(Sname=王敏 Grade60(Course SC Student)4. Sname(Cname=数据库(Course SC Student) 或者 Sname(Cname=数据库(Course) SC Sno,Sname(Student)5,2.4 小结,通过本章学习,掌握以下内容: 关系、关系模式、关系数据库等基本概念 关系的三类完整性 关系代数中的运算:选择、投影、连接、除、并、交、差、除 用关系代数表达式实现查询,习题 :P74 3、5、7,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报