数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)(下)

简介: 数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)(下)

选择运算实际上是从关系R中选取使逻辑表达式F为真的元组,这是从行的角度进行的运算

例题1:查询信息系(IS系)的全体学生

例题2:查询年龄小于20岁的学生

2. 投影(基本运算)

关系R上的投影从R中选择出若干属性列组成新的关系。记作:

其中A为R中的属性列

投影操作是从列的角度进行的运算。

例题1:查询学生的姓名和所在系,即求 Student 关系上学生姓名和所在系两个属性上的投影。

如果选择多个属性,多个属性之间使用逗号进行分隔

投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列之后,就可能出现重复行,应该取消这些完全相同的行。

例题2:查询学生关系Student中都有哪些系,即查询关系 Student 上所在系属性上的投影。

结果如图所示。Student关系原来有4个元组,而投影结果取消了重复的CS元组,因此只有三个元组。

3. 连接(非基本运算)

连接也称为 θ 连接。

连接从两个关系的笛卡儿积中选取属性间满足一定条件的元组。记作:

其中,A和B分别为R和S上列数相等且可比的属性组,θ 是比较运算符。

连接运算从R和S的笛卡儿积 R X S 中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较关系 θ 的元组。

连接运算中有两种最为重要也最为常用的连接,

  1. 等值连接
  2. 自然连接

θ 为“=” 的连接运算称为 等值连接 。它是从关系R与S的广义笛卡儿积中选取A、B属性值相等的那些元组,即等值连接为:

自然连接是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉。即若R和S中具有相同的属性组B,U为R和S的全体属性的集合,则自然连接可记作:

一般的连接操作从行的角度进行运算,但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

例题:

在进行连接时,被舍弃的元组(即没有在结果中的元组)称为悬浮元组

如果把悬浮元组也保存在结果关系中,而在其他属性上填空值(NULL),那么这种连接就叫做外连接,记作

注意符号两边有小突出

如果只保留左边关系R中的悬浮元组就叫做左外连接,记作

注意只有左边有小突出

如果只保留右边关系S中的悬浮元组就叫做右外连接,记作

注意只有右边有小突出

在图2.8中,图(a)是图2.7中的关系R和关系S的外连接,图(b)是左外连接,图©是右外连接。

图2.7中的关系R和关系S

图2.8

4. 除运算(非基本运算)

设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中

下面用象集来定义除法:

给定关系R(X,Y)和S(Y,Z),其中X、Y、Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集

R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:

元组在X上分量值 x 的象集Y 包含 S在Y上投影的集合。记作

其中Yx为 x 在R中的象集,x = tr[X]。

除操作是同时从行和列角度进行运算

例题1:

例题2:

使用除运算的场景:“查询…全部 / 所有的…”的问题。如,“查询选修了所有课程的学生的学号”。

注意,要与“查询全部 / 所有的…”进行区分,如,“查询所有信息系的学生”。

2.4.3 小结

本节介绍了8种关系代数运算,其中并、差、笛卡儿积、选择和投影这5种运算为基本的运算。其他三种运算,即交、连接和除,均可以用这5种基本运算来表达。

关系代数中,这些运算经有限次复合后形成的表达式称为关系代数表达式

相关实践学习
MySQL数据库快速部署实践
本场景主要介绍如何在一台配置了CentOS 7.7版本的ECS实例(云服务器)上安装mysql,执行mysql的常用操作,学习基本的SQL语句。
相关文章
|
存储 设计模式 数据库
数据库概论课程设计-汽车租赁公司数据库系统的设计
数据库概论课程设计-汽车租赁公司数据库系统的设计
617 1
|
移动开发 C#
数据库系统概论期末经典大题讲解(范式提升、求闭包、求主码)
数据库系统概论期末经典大题讲解(范式提升、求闭包、求主码)
836 0
|
存储 程序员 数据库
数据库系统概论学习 1 绪论
数据库系统概论学习 1 绪论
456 0
数据库系统概论学习 1 绪论
|
数据库 Python
数据库系统概论期末经典大题讲解(用关系代数进行查询)
数据库系统概论期末经典大题讲解(用关系代数进行查询)
806 0
|
数据库 vr&ar
关系数据库——关系代数
关系数据库——关系代数
1147 0
|
数据库
第2章 关系数据库——2.4关系代数
第2章 关系数据库——2.4关系代数
|
10月前
|
SQL 关系型数据库 MySQL
阿里云RDS云数据库全解析:产品功能、收费标准与活动参考
与云服务器ECS一样,关系型数据库RDS也是很多用户上云必买的热门云产品之一,阿里云的云数据库RDS主要包含RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB等几个关系型数据库,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,帮助您解决数据库运维的烦恼。本文为大家介绍阿里云的云数据库 RDS主要产品及计费方式、收费标准以及活动等相关情况,以供参考。
|
11月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1722 152
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1142 156

热门文章

最新文章