数据库设计基础-关系运算

上传人:shaoy****1971 文档编号:112822577 上传时间:2019-11-07 格式:PPT 页数:43 大小:1,014.50KB
返回 下载 相关 举报
数据库设计基础-关系运算_第1页
第1页 / 共43页
数据库设计基础-关系运算_第2页
第2页 / 共43页
数据库设计基础-关系运算_第3页
第3页 / 共43页
数据库设计基础-关系运算_第4页
第4页 / 共43页
数据库设计基础-关系运算_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《数据库设计基础-关系运算》由会员分享,可在线阅读,更多相关《数据库设计基础-关系运算(43页珍藏版)》请在金锄头文库上搜索。

1、An Introduction to Database System,关系代数,概述 传统的集合运算 专门的关系运算,An Introduction to Database System,关系代数运算符,An Introduction to Database System,关系代数运算符(续),An Introduction to Database System,1. 并(Union),R和S 具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域 RS 仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S ,An Introduction to Database S

2、ystem,并(续),An Introduction to Database System,2. 差(Difference),R和S 具有相同的目n 相应的属性取自同一个域 R - S 仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|tRtS ,An Introduction to Database System,差(续),An Introduction to Database System,3. 交(Intersection),R和S 具有相同的目n 相应的属性取自同一个域 RS 仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S RS = R (R-S

3、),An Introduction to Database System,交 (续),An Introduction to Database System,4. 笛卡尔积(Cartesian Product),严格地讲应该是广义的笛卡尔积(Extended Cartesian Product) R: n目关系,k1个元组 S: m目关系,k2个元组 RS 列:(n+m)列元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1k2个元组 RS = tr ts |tr R tsS ,An Introduction to Database System,笛卡尔积 (续),An

4、 Introduction to Database System,专门的关系运算,选择 投影 连接 除,An Introduction to Database System,专门的关系运算(续),(a),Student,学生-课程数据库: 学生关系Student、课程关系Course和选修关系SC,An Introduction to Database System,专门的关系运算(续),Course,(b),An Introduction to Database System,专门的关系运算(续),(c),SC,An Introduction to Database System,1. 选择

5、(Selection),1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组 F(R) = t|tRF(t)= 真 F:选择条件,是一个逻辑表达式,基本形式为: X1Y1,An Introduction to Database System,选择(续),3) 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算,An Introduction to Database System,选择(续),例1 查询信息系(IS系)全体学生 Sdept = IS (Student) 或 5 =IS (Student) 结果:,An I

6、ntroduction to Database System,选择(续),例2 查询年龄小于20岁的学生 Sage 20(Student) 或 4 20(Student) 结果:,An Introduction to Database System,2. 投影(Projection),1)投影运算符的含义 从R中选择出若干属性列组成新的关系 A(R) = tA | t R A:R中的属性列,An Introduction to Database System,2. 投影(Projection),2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(

7、避免重复行),An Introduction to Database System,投影(续),例3 查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student) 或 2,5(Student) 结果:,An Introduction to Database System,投影(续),An Introduction to Database System,投影(续),例4 查询学生关系Student中都有哪些系 Sdept(Student) 结果:,An Introduction to Database System,3. 连接(Joi

8、n),1)连接也称为连接 2)连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S = | tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组 :比较运算符 连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组,An Introduction to Database System,连接(续),3)两类常用连接运算 等值连接(equijoin) 什么是等值连接 为“”的连接运算称为等值连接 等值连接的含义 从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S =

9、| tr Rts StrA = tsB ,A=B,An Introduction to Database System,连接(续),自然连接(Natural join) 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组 在结果中把重复的属性列去掉 自然连接的含义 R和S具有相同的属性组B R S = | tr Rts StrB = tsB ,An Introduction to Database System,连接(续),4)一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,An Introduction to Data

10、base System,连接(续),例5关系R和关系S 如下所示:,An Introduction to Database System,连接(续),一般连接 R S的结果如下:,CE,An Introduction to Database System,连接(续),等值连接 R S 的结果如下:,An Introduction to Database System,连接(续),自然连接 R S的结果如下:,An Introduction to Database System,4. 除(Division),给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。 R中的Y与S中的Y可

11、以有不同的属性名,但必须出自相同的域集。 R与S的除运算得到一个新的关系P(X), P是R中满足下列条件的元组在 X 属性列上的投影: 元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作: RS = tr X | tr RY (S) Yx Yx:x在R中的象集,x = trX,An Introduction to Database System,除(续),2)除操作是同时从行和列角度进行运算,An Introduction to Database System,除(续),例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c),An Introduction to Databas

12、e System,分析,在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (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,An Introduction to Database System,象集Zx 给定一个关系R(X,Z),X和Z为属性组。 当tX=x时,x在R中的象集(Images Set)为: Zx=tZ|t R,tX=x 它

13、表示R中属性组X上值为x的诸元组在Z上分量的集合,An Introduction to Database System,x1在R中的象集 Zx1 =Z1,Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,象集举例,An Introduction to Database System,5综合举例,以学生-课程数据库为例 例7 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K: 然后求:Sno,Cno(SC)K,An Introduction to Database System,综合举例(续),例 7续 Sno,Cno(SC) 2002

14、15121象集1,2,3 200215122象集2,3 K=1,3 于是:Sno,Cno(SC)K=200215121,An Introduction to Database System,综合举例(续),例 8 查询选修了2号课程的学生的学号。 Sno(Cno=2(SC) 200215121,200215122,An Introduction to Database System,综合举例(续),例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),An Introduction to Database System,综合举例(续),例10 查询选修了全部课程的学生号码和姓名。 Sno,Cno(SC)Cno(Course) Sno,Sname(Student),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号