关系代数

关系代数的由来

首先从宏观上来认识一下关系演算这个概念,换句话讲也就是什么是关系代数,这也是我在接触一些东西的首要工作。大家都知道对于关系型数据库的数据库操作语言分为查询和更新两类。而查询语言这块,又分为关系代数语言与关系演算语言。这里讲的就是关系代数。所以可以这样定义,关系代数就是为数据库操作语言进行查询的集合操作。

关系代数中的操作可分为两类

(1)传统的集合操作:并、差、交、笛卡儿积、除法。

(2)扩充的关系操作:投影、选择、连接、。

常见符号

五种基本的关系代数

1、并

设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。形式定义如下:

R∪S≡{t | t∈R ∨ t∈S},t是元组变量,R和S的元数相

2、差(Difference)

设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义如下:

R-S≡{ t | t∈R ∧ t∈S},R和S的元数相同。

3、笛卡儿积(Cartesian Product)

设关系R和S的元数分别为r和s,定义R和S的笛卡儿积是一个(r+s)元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R×S。

4、投影(Projection)

这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。

表示符号
π

5、连接

这个操作是根据某些条件,对既定的集合进行条件选择。

σ为选择运算符

对于基本的关系代数操作,可以发现。之前的三种针对的都是两个或者两个至上的集合操作,而后两种操作的都为一个集合。

扩充的代数操作

这个操作就是从两个集合内找出既属于R有属于S集合的元素的集合。符号:∩

如图

图中两个集合相同的部分为第一行元素。

除的操作要求进行操作的两个关系集合需要有重叠的属性。

实例图表

结果

连接

所有的连接操作都是在进行笛卡尔积的基础上进行一些相应的条件操作。所以根据条件不同,分为等值连接、自然连接、θ连接。

θ连接

表示从RS中分别选取R的第i列和S的第j列进行连接操作。

等值连接

等值连接就是当θ的值为等于号时的连接。

自然连接

自然连接是一种比较特殊的连接,要求两个连接的关系中必须要有相同的属性。如

如图,两个集合存在相同的属性Sno这样将这两个不同集合中相同属性的一行连接,得到结果。

如上就是关系代数的一些基本操作和扩展操作,更多的需要从实际的例子来理解定义这样会便于理解。对于基本的操作,并、差、笛卡尔积针对的都是两个不同的集合的操作;而投影和连接针对既定集合的操作。扩展中的运算主要是连接,连接根据θ的值的不同来区分到底是自然连接和等值连接;等值连接和自然连接都是θ值在不同情况下的特殊状态。

关系代数,布布扣,bubuko.com

时间: 2025-01-08 07:57:18

关系代数的相关文章

Mysql查询优化从入门到跑路(一)数据库与关系代数

1.怎样才算是数据库? ACID,是指在数据库管理系统中事务所具有的四个特性 1)原子性 2)一致性 3)隔离性 4)持久性 关系数据库,基于关系代数,数据库形式是表格,数据能以不同方式被存取或重新召集. 2.关系代数(简单的来讲就是一种抽象的查询语句) 从数学层面上来讲,关系代数是支持叫做逆反的对合一元运算的剩余布尔代数 从数据库层面上来讲,是闭合于运算下的关系的集合 注意:尽管SQL的查询语句松散的基于了关系代数,但是很多有用的关于关系代数的理论在SQL对应者中不成立. select ***

元组演算与关系代数关系

用元组演算实现关系代数 关系运算的安全性 不产生无限关系和无穷验证的运算被称为安全的.

关系代数——连接

关系代数——连接 文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://leander.blog.51cto.com/2911819/1094812 本节主要举例说明连接运算,包括内连接和外连接. 连接(或内连接)的结果是由组合两个操作数的匹配元组而形成的元组组成,外连接由这些元组加上通过向一个操作数的未匹配元组扩展上另一个操作数的每个属性的“填充”值而形成的元组组成. 外连接有三种: 左外连接.右外连接和全外连接.(有时省略“外”字) 如果加上又无NULL值,连接和外连接的形式

关系代数(Relation Algebra)与SQL语句的对应关系

SQL语句的执行一般是先翻译为关系代数再被执行的(能有效提高执行速度),所以我们有必要 了解关系代数与SQL语句间的对应关系. 就像高中代数由+-*/和数字组成,关系代数是由union.intersection.join等运算符和关系实例 组成的. 关系代数有五个基础运算符,这五个基础运算符能派生出其他组合运算符.它们分别是: 选择(σ, selection).投影(π, projection).叉乘(x, cross-product). 差(-, set-difference)和并(υ, un

关系代数演算So Easy

关系代数运算So Easy 关系代数是以关系为运算的一组高级运算的集合.由于定义为属性个数 相同的元组的集合,因此集合代数的操作就可以引入到关系代数中.关系代数也可以看做是一种抽象的查询语言,是对关系的运算来表达查询的.任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果.所以运算对象.运算符.运算结果是运算的三大要素. 关系代数的运算对象是关系,运算结果亦为关系.关系代数用到的运算符包括四类:集合运算符.专门的关系运算符.算术比较符和逻辑运算符.如下表: 关系代数可分为两类

【软考】(六)关系代数

关系代数的由来 首先从宏观上来认识一下关系演算这个概念,换句话讲也就是什么是关系代数,这也是我在接触一些东西的首要工作.大家都知道对于关系型数据库的数据库操作语言分为查询和更新两类.而查询语言这块,又分为关系代数语言与关系演算语言.这里讲的就是关系代数.所以能够这样定义,关系代数就是为数据库操作语言进行查询的集合操作. 关系代数中的操作可分为两类 (1)传统的集合操作:并.差.交.笛卡儿积.除法. (2)扩充的关系操作:投影.选择.连接.. 常见符号 五种主要的关系代数 1.并 设关系R和S具有

关系代数 (数据库)

关系代数 (数据库) http://zh.wikipedia.org/wiki/%E5%85%B3%E7%B3%BB%E4%BB%A3%E6%95%B0_(%E6%95%B0%E6%8D%AE%E5%BA%93) 关系代数是一阶逻辑的分支,是闭合于运算下的关系的集合.运算作用于一个或多个关系上来生成一个关系.关系代数是计算机科学的一部分. 在纯数学中的关系代数是有关于数理逻辑和集合论的代数结构. 目录 [隐藏] 1 介绍 2 原始运算 2.1 集合运算 2.2 投影 (π) 2.3 选择 (σ)

关系代数 (关系模型)

理解关系数据库(关系模型),需要了解关系代数(关系模型). 关系代数有如下演算. ◆4つの集合演算 和集合演算(Union) 差集合演算(Difference) 共通集合演算(Intersection) 直積演算(Cartesian Product) ◆4つの関係演算 射影演算(Projection) 選択演算(Selection) 結合演算(Join) 商演算(Division) [和集合演算(Union)] 和(union)演算 R ∪ S は.R と S を.R の全ての組(タプル.行)と

DBMS-形式化关系查询语言:关系代数、元组关系演算、域关系演算

关系代数 关系代数(relational algebra):一种过程化查询语言.包括一个运算的集合,集合中运算以一个或两个关系为输入,产生一个新的关系作为结果. 关系代数的基本运算包括:选择.投影.并.集合差.笛卡尔积.更名. 其他运算:集合交.自然连接.赋值,可用基本运算来定义. 关系运算的结果自身也是一个关系,可用一个关系运算表达式作为另一个关系运算的参数,因此可以把多个关系代数运算组合成一个关系代数表达式(relational-algebra expression). 关系代数定义了一套在