【数据库概论】关系代数(传统集合运算和专门关系运算)

本文介绍了关系代数这一抽象查询语言的基础知识,详细解释了传统集合运算(如并、交、差、笛卡尔积)和专门关系运算(如选择、投影、连接、除运算等)的概念与应用,并通过实例说明了各种运算的具体操作。

一、前言

概念关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。

关系代数的运算按运算符不同可分为传统的集合运算专门关系运算两类

如下图

关系代数中的一些符号

 

二、集合运算符

传统的集合运算是二目运算符,包括并、交、差、笛卡尔积四种运算。

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,t是元组变量,t属于R表示t是R的一个元组

1.并运算

 结果仍然为n目关系,由属于R属于S的元组组成。

例如

2.交运算

  结果仍然为n目关系,由即属于R又属于S的元组组成。

 3.差运算

 例子:

 4.笛卡尔积

三、专门的关系运算

例题模板:

专门的关系运算包括选择、投影、连接、除运算等。

1.选择运算

 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度出发

 例:


二、投影运算


 例:

3.连接

两种常用的连接运算

等值连接

 自然连接


例:

 

等值连接

自然连接

由此可见,自然连接取消了重复列B


 连接中的悬浮元组

定义:两个关系R和S在做自然连接时,关系R中某些元组
有可能在S中不存在公共属性上值相等的元组,从而
造成R中这些元组在操作时被舍弃了,这些被舍弃的
元组称为悬浮元组。

悬浮元组的扩展概念

外连接 (Outer Join)
如果把悬浮元组也保存在结果关系中,而在其他属性(在悬浮连接中关系间没有匹配的属性元组值)
上填空值(Null),就叫做外连接

左外连接
保留左边关系R中的悬浮元组
右外连接
保留右边关系S中的悬浮元组

例:

 


4.除运算


象集概念


 

例:

MySQL是一种关系数据库管理系统,它提供了丰富的功能语法来进行关系运算。下面是一些MySQL中常用的关系运算: 1. 选择(Selection):选择操作用于从表中选择满足指定条件的行。在MySQL中,可以使用SELECT语句来实现选择操作。例如,SELECT * FROM table_name WHERE condition; 可以选择满足条件的所有行。 2. 投影(Projection):投影操作用于从表中选择指定的列。在MySQL中,可以使用SELECT语句来实现投影操作。例如,SELECT column1, column2 FROM table_name; 可以选择指定的列。 3. 连接(Join):连接操作用于将两个或多个表中的数据进行合并。在MySQL中,可以使用JOIN语句来实现连接操作。常见的连接类型包括内连接、外连接交叉连接。 4. 并(Union):并操作用于将两个或多个查询结果合并为一个结果集。在MySQL中,可以使用UNION或UNION ALL关键字来实现并操作。UNION会去除重复的行,而UNION ALL不会去除重复的行。 5. 差(Difference):差操作用于从一个查询结果中排除另一个查询结果。在MySQL中,可以使用MINUS关键字来实现差操作。但是需要注意的是,MySQL并没有直接支持MINUS操作,可以通过其他方式来实现。 6. 交(Intersection):交操作用于获取两个查询结果的交集。在MySQL中,可以使用INNER JOIN或INTERSECT关键字来实现交操作。 这些是MySQL中常用的关系运算,通过它们可以对数据库中的数据进行灵活的操作查询。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值