美文网首页
关系数据库--关系代数

关系数据库--关系代数

作者: PC_Repair | 来源:发表于2018-08-28 11:52 被阅读153次

关系代数

关系代数是以关系为运算对象的一组高级运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数的操作就可以引入到关系代数中。关系代数中的操作可以分为两类:传统的关系操作:并、差、交、笛卡尔积(乘)、笛卡尔积的逆运算(除);扩充的关系操作:对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)等。

注:并、差、交 3个操作需要关系R、S的属性相同才能进行(即R中的属性为A、B、C,S中的属性也为A、B、C才可以)

五个基本的关系代数操作:并、差、笛卡尔积、投影、选择

关系例子如下:

关系R:

A B C
1 2 3
4 5 6
7 8 9

关系S:

A B C
2 4 6
4 5 6
  • RUS(并)
A B C
1 2 3
4 5 6
7 8 9
2 4 6

注:无重复元组

  • R-S(差)
A B C
1 2 3
7 8 9

注:在关系R的基础上减去R中存在且S中存在的元组

  • R×S(笛卡尔积)
R.A R.B R.C S.A S.B S.C
1 2 3 2 4 6
1 2 3 4 5 6
4 5 6 2 4 6
4 5 6 4 5 6
7 8 9 2 4 6
7 8 9 4 5 6

注:关系R与关系S的属性名可以不同

  • π C,A(R) (C,A在关系R上的投影)
C A
3 1
6 4
9 7
  • σB>'4'(R)(在关系R上选择B大于4的元组)
A B C
4 5 6
7 8 9

剩余操作:交、除、连接:

  • R∩S(R与S的交集)
A B C
4 5 6
  • R_÷S_(除)

    关系R_:

A B C D
a b c d
a b e f
b c e f
e d c d
e d e f
a b d e

关系S_:

C D
c d
e f

R_÷S_

A B
a b
e d

运算过程:因为C, D是关系S中的两个属性, 因此在R集合对除了C, D的属性, 即A, B两属性进行投影, 得到a, b; b, c; e, d;这三组, 然后用这个结果与关系S进行笛卡尔积运算, 发现b c c d这组在关系R中没有, 其余a, b; e, d; 做的运算在R中存在. 因此最后结果为a, b; e, d;

  • 连接

关系R_:

A B C
2 4 6
3 5 7
4 6 8

关系S_:

B C D
4 6 8
5 6 7
4 6 2
6 8 5

自然连接:只返回两个表中联结字段相等的行

A B C D
2 4 6 8
2 4 6 2
4 6 8 5

左连接:返回包括左表中的所有记录和右表中联结字段相等的记录,不相等则用null表示。

A B C D
2 4 6 8
2 4 6 2
4 6 8 5
3 7 5 null

右连接:返回包括右表中的所有记录和左表中联结字段相等的记录,不相等则用null表示。

A B C D
2 4 6 8
2 4 6 2
4 6 8 5
null 5 6 7

外连接:左连接+右连接(或者说并)

A B C D
2 4 6 8
2 4 6 2
4 6 8 5
3 5 7 null
null 5 6 7

注:R(⋈)S,R与S的先后顺序

相关文章

  • 数据库 - 实现项目中的数据持久化

    数据库的类别: 关系型数据库, 非关系型数据库 关系型数据库 - MySQL1.特点: 集合论和关系代数 ,数据持...

  • PostgreSQL 源码解读(16)- 查询语句#1(基础:关

    本文简单介绍了数据库系统实现中的数学基础-关系代数,包括关系代数的基本概念以及关系代数的运算如集合运算/投影/选择...

  • [*] 数据库核心概念

    1. 介绍 数据库中的数据 2. 关系代数 3. SQL Structured Query Language 关系...

  • 数据库和SQL语句

    数据库分类: 关系型数据库 关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库...

  • 数据库小记

    sqlite: 关系型数据库关系型数据库: 建立在关系模型基础上的数据库, 借助于集合代数等数学概念和方法来处理数...

  • 关系数据库--关系代数

    关系代数 关系代数是以关系为运算对象的一组高级运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数的操...

  • day16 - MySQL数据库

    数据库 - 实现项目中的数据持久化 数据库的类别: 关系型数据库 - MySQL特点: 理论基础:集合论和关系代数...

  • hibernate 一对一,一对多,多对多关联关系使用

    关系型数据库 关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实...

  • 2018-02-02常用的关系数据库介绍

    关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念 和方法来处理数据库中的数据。目前主流的关系...

  • 数据库

    二、重要知识点 1. 关系数据库语言分为关系代数、关系演算和结构化查询语言三大类。 2. 关系的 ...

网友评论

      本文标题:关系数据库--关系代数

      本文链接:https://www.haomeiwen.com/subject/qddfwftx.html