关系运算(2)

news/2024/10/10 22:30:29/

关系代数

上一篇博客已经讲了基本关系代数运算的内容,今天来讲附加关系代数运算。

附加关系代数运算

交运算∩

查询计算机系年龄大于等于18的学生的信息

跟并集∪一样都是需要先进行选择运算然后再进行二元的交集运算。

其实交运算也可以用差运算来表示:

R ∩ S = R - (R -S)

如下图,先算括号会得到蓝色的部分,然后再用整个R减去蓝色部分就是黑色的部分

连接运算⨝

在进行连接运算之前要先明确连接条件是什么。

比如:对学生表和学生成绩表进行连接运算,指定的连接条件是学生表中的Sno列和学生成绩表中的Sno列的值相同,即筛选出学号相同的所在的元组。

运算:

结果:

左边是Student表,右边是Course表,会发现都有Sno列,且不会去除重复的部分。

实际上连接运算可以用笛卡尔积和选择运算来表示。

假设原来的学生表有5个元组5个属性列,成绩表有6个元组(因为学号为2021310723的学生有两个课程的成绩),3个属性列。那么进行笛卡尔积之后结果会是5×6=30个元组,5+3=8个属性列。即学生表中的每一个元组都会配对一个成绩表的所有元组,所以会出现重复的情况。举个简单的例子,假设现在学生表只有2个元组,2个属性列,成绩表只有3个元组,3个属性列,那么笛卡尔积最后的结果会是6个元组,6个属性列

学生表:

Student.Sno

Student.name

101

小红

102

小明

成绩表:

SC.Sno

SC.Cno

SC.Grade

101

3

88

102

1

98

102

2

100

Student×SC:

Student.Sno

Student.name

SC.Sno

SC.Cno

SC.Grade

101

小红

101

3

88

101

小红

102

1

98

101

小红

102

2

100

102

小明

101

3

88

102

小明

102

1

98

102

小明

102

2

100

会发现结果中有许多重复且无意义的元组。所以此时我们可以进行选择运算,将Sno列相同的元组选择出来

σ Student.Sno=SC.Sno。所以结合上面的笛卡尔积就是:

最终结果:

Student.Sno

Student.name

SC.Sno

SC.Cno

SC.Grade

101

小红

101

3

88

102

小明

102

1

98

102

小明

102

2

100

也就是连接运算,也叫等值连接,因为除了相等(=)还可以是>、<、≤、≥等。我们上面举的例子都是等值连接,它也是自然连接,自然连接是自动会将连接条件指定为属性名相同的的列做等值连接,可以写成:

结果为:

这一次会发现没有重复的Sno了。自然连接是一种特殊的等值连接,它需要两个关系中必须有相同的属性列且和属性列下的值必须相等才能做连接,而等值连接是更为通用的一种连接方式,虽然需要指定连接条件,但是给出条件可以带来表达式的可读性和明确性。

除了上面提到的连接运算,还有一种可以处理缺失值的运算——外连接。比如左外连接⟕:

指保留左边的所有元组,如果右边关系中存在与左边关系有同名的属性但是却没有取值,比如上面R和S相同的属性是B,但是R有B属性列下等于3的值,此时S却没有相对应的值,所以这时候就会自动填充对应B=3时S的C属性的值为NULL.

还有右外连接⟖,同理:这时保留的是右边,而左边自动填充NULL。

而全外连接⟗就是左外连接和右外连接查询结果的并集。

赋值运算←

上面的连接运算是一长串的表达式,为了让表达式变得更清晰易懂,让查询变得更加简单,就会用到赋值运算符。

指将箭头右边的结果赋给左边的临时关系变量。

除运算÷

假设有两个关系R和S,如果要进行除运算,S中不能有R没有的属性列,这意味着S所有的属性列集合是R所有属性列集合的子集。如下图,除运算的结果会返回R的A属性列中是同时满足B=1,2,3的,若有则返回该属性值。例如SC ÷ Course,则是表示找到选择所有课程的同学。


http://www.ppmy.cn/news/1537147.html

相关文章

国际 Android WPS Office v18.13 解锁版

WPS Office 移动版&#xff0c;设计不断优化&#xff0c;性能再次提升&#xff01;融入Google Android最新设计标准&#xff0c;Material Design设计风格&#xff0c;完美支持沉浸式&#xff01;简化文档操作&#xff0c;全新移动办公力作。全新界面更清晰舒适&#xff0c;功能…

27.数据结构与算法-图的遍历(DFS,BFS)

遍历定义与遍历实质 图的特点 图的常用遍历方法 深度优先搜索-DFS 邻接矩阵表示的无向图深度遍历实现 DFS算法效率分析 非连通图的遍历 广度优先搜索遍历-BFS 邻接表表示的无向图广度遍历实现 BFS算法效率分析 非连通图的广度遍历 DFS和BFS算法效率比较

罗永浩力荐格行随身WiFi,背后原因竟是...你绝对想不到!

一、罗永浩的“严选”哲学 虽然罗永浩做的是直播带货&#xff0c;但是他的形象与其他头部主播之间有着明显的不同。那些头部主播&#xff0c;都可以统称为“电商主播”&#xff0c;他们与那些淘宝店、京东店里直播的商家本质是一样的&#xff0c;只有流量和名气大小不同罢了。…

单目三d重建学习笔记2024

从单目视频生成动态多物体场景 已经开源&#xff1a; https://github.com/dreamscene4d/dreamscene4d 2021年&#xff1a; 浙大团队研发NeuralRecon&#xff0c;首个基于学习的实时单目三维重建系统 https://github.com/zju3dv/NeuralRecon https://github.com/zju3dv/Neura…

OpenCSG传神社区月度功能更新

9月社区ReleaseNote 在9月的社区更新中&#xff0c;我们继续秉持开放与创新的精神&#xff0c;推出了一系列新功能和技术升级。这些更新不仅扩展了社区的技术支持范围&#xff0c;还为用户提供了更多资源&#xff0c;助力其在人工智能、大数据处理和推理加速等领域的创新。通过…

计算机网络:物理层 —— 物理层下的传输媒体

文章目录 传输媒体导向性媒体同轴电缆双绞线光纤光纤分类中心波长光纤规格光纤的优缺点 非导向性媒体ISM 频段无线电波微波激光红外线可见光 传输媒体 传输媒体是计算机网络设备之间的物理通路&#xff0c;也称为传输介质或传输媒介&#xff0c;并不包含在计算机网络体系结构中…

前端公共资源CDN存储库大全

具体请前往&#xff1a;前端公共资源CDN存储库大全-持续更新

word转pdf 好用的工具包com.aspose.words

com.aspose.words 是一个强大的文档处理库的包名&#xff0c;该库通常被称为 Aspose.Words。以下是对 Aspose.Words 的详细介绍&#xff1a; 一、主要功能 生成和编辑Word文档&#xff1a;Aspose.Words 允许开发人员动态地生成和编辑Word文档。它提供了一个强大的API&#xff…