数据库专门的关系运算

本文章用表

在这里插入图片描述在这里插入图片描述在这里插入图片描述

选择运算(从行的角度运算)

选择又称为限制,选择运算符的含义: 在关系R中选择满足给定条件的诸元组
在这里插入图片描述

投影(从列的角度运算)

投影运算符的含义:从表中选出若干属性列组成新的关系
注意:投影之后不仅取消了原关系中的某些列,而且还有可能取消某些元组(避免重复行)
ΠSname,Sdept(Student)
结果

SnameSdept
李勇CS
刘晨IS
王敏MA
张立IS

连接运算

连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组
想了解连接运算首先就要了解笛卡尔积。
在这里插入图片描述

等值连接

等值连接的含义:从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组。

自然连接

自然连接是一种特殊的等值连接:
两个关系中进行比较的分量必须是相同的属性组(即从关系R与S的广义笛卡尔积中选取R.B、S.B属性值相等的那些元组。);
在结果中把重复的属性列去掉;
在这里插入图片描述

外连接

如果把舍弃的元组也保存在结果中,而其他属性上填上空值(Null),这种连接就叫外连接(OUTER JOIN)

左外连接

如果只把左边关系R中要舍弃的元组保留就叫左外连接(LEFT OUTER JOIN或LEFT JOIN)

右外连接

如果只把右边关系S中要舍弃的元组保留就叫右外连接(RIGHT OUTER JOIN或RIGHT JOIN)
在这里插入图片描述

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组(!!!是属性组而非理解为单独的属性)
R中的Y与S中的Y可以有不同的属性名,但是必须出自相同的属性列。
R与S的除运算得到一个新的关系P(X);
R.X=R.A R.Y=(R.B,R.C) S.Y=(S.B,S.C) S.Z=(S.D)
在这里插入图片描述

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库关系代数运算有很多种,下面是一个例子: 假设有两个关系表: 表1:学生表(Student) | 学号 | 姓名 | 年龄 | 性别 | |------|------|------|------| | 001 | 张三 | 18 | 男 | | 002 | 李四 | 20 | 男 | | 003 | 王五 | 19 | 女 | 表2:成绩表(Score) | 学号 | 课程 | 成绩 | |------|------|------| | 001 | 数学 | 85 | | 002 | 数学 | 90 | | 003 | 数学 | 95 | | 001 | 英语 | 80 | | 002 | 英语 | 85 | | 003 | 英语 | 90 | 我们可以使用关系代数运算来进行一些操作,比如: 1. 投影(Projection):选择出指定的列 - 投影出学生表中的学号和姓名列,可以表示为:π_学号, 姓名(Student) 结果为: | 学号 | 姓名 | |------|------| | 001 | 张三 | | 002 | 李四 | | 003 | 王五 | 2. 选择(Selection):根据条件选择出满足条件的行 - 选择出成绩表中课程为数学的记录,可以表示为:σ_课程='数学'(Score) 结果为: | 学号 | 课程 | 成绩 | |------|------|------| | 001 | 数学 | 85 | | 002 | 数学 | 90 | | 003 | 数学 | 95 | 3. 连接(Join):将两个关系表按照指定的条件连接起来 - 将学生表和成绩表按照学号连接起来,可以表示为:Student ⨝_学号=学号 Score 结果为: | 学号 | 姓名 | 年龄 | 性别 | 课程 | 成绩 | |------|------|------|------|------|------| | 001 | 张三 | 18 | 男 | 数学 | 85 | | 001 | 张三 | 18 | 男 | 英语 | 80 | | 002 | 李四 | 20 | 男 | 数学 | 90 | | 002 | 李四 | 20 | 男 | 英语 | 85 | | 003 | 王五 | 19 | 女 | 数学 | 95 | | 003 | 王五 | 19 | 女 | 英语 | 90 | 这只是数据库关系代数运算的一部分,还有其他运算符和操作可以用来处理关系表的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值