关系数据库——关系代数

简介: 关系数据库——关系代数

一、传统的集合运算

传统的集合运算有并、交、差、笛卡尔积,都比较简单。


二、专门的关系运算

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

1.选择(restriction)

在关系R中选择满足给定条件的诸元组,记作:

σF (R ) = {t |t ∈ R∧F (t ) = ‘真’}

F表示选择条件,是一个逻辑表达式,取值为“真”或“假”,其基本形式为:X1θY1,选择运算是从关系R中选取逻辑表达式F为真的元组,从行的角度进行运算。

例如:查询信息系(IS系)全体学生: σSdept=‘IS’ (Student)

注意:如果属性名是数字,不用加单引号

2.投影(Projection)

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

πA ( R ) = { t [A]| t ∈ R }

A表示R 中的属性列

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

但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(为了避免重复行)。

例如:查询学生的姓名和所在系:πSname,Sdept(Student)

3.连接(join)

连接也称为θ连接,从两个关系的笛卡尔积中选取属性间满足一定条件的元组

A 和B分别为R 和S 上度数相等且可比的属性组

θ是比较运算符

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

1)等值连接

从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组

2)自然连接

两个关系中进行比较的分量必须是相同的属性组,在结果中还要把重复的属性列去掉

悬浮元组:两个关系R和S在自然连接时,关系R和S中被舍弃的元组

外连接:把悬浮元组舍弃的元组也保存到结果关系中,在其他属性上填空值(NULL)

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

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

4.除(Division)

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

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

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

解释

  • 在关系R和S中,相同的属性组为(B, C),首先列出属性组A的所有的分量值对应的象集
    a1的象集为{(b1,c2), (b2,c3), (b2,c1)}
    a2的象集为{(b3,c7), (b2,c3)}
    a3的象集为{(b4,c6)}
    a4的象集为{(b6,c6)}
  • 下面观察每一个分量值对应的象集,找到哪一个包含关系S中所有属性组(B,C)上的投影的集合
    S在(B,C)上的投影为{(b1,c2), (b2,c3), (b2,c1)}
    观察得,只有a1的象集包含了S在(B,C)属性组上的投影
    于是R÷S=a1,如图所示
相关文章
|
移动开发 vr&ar
数据库系统概论——关系代数详解
关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是利用对关系的运算来表达查询的。任何运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。关系代数的运算对象是关系,运算结果亦为关系。集合运算符将关系看成元组的集合从关系的“水平”方向即行的角度来进行运算专门的关系运算符不仅涉及行而且涉及列算术比较符辅助专门的关系运算符进行操作逻辑运算符辅助专门的关系运算符进行操作。
411 1
数据库系统概论——关系代数详解
|
4月前
|
数据库 Python
数据库系统概论期末经典大题讲解(用关系代数进行查询)
数据库系统概论期末经典大题讲解(用关系代数进行查询)
71 0
|
7月前
|
数据库
第2章 关系数据库——2.4关系代数
第2章 关系数据库——2.4关系代数
|
8月前
|
数据库
数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)(下)
数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)(下)
|
8月前
|
人工智能 数据库
数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)(上)
数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)
|
SQL 数据库
数据库杂谈(三)—— 关系代数
关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。在本文中,我们不仅谈论关系代数的知识点,而且还配备了对应的练习题。
713 0
|
JavaScript 数据库
数据库原理与应用系列_03关系数据库与关系代数
数据库原理与应用系列_03关系数据库与关系代数
数据库原理与应用系列_03关系数据库与关系代数
|
数据库
数据库中关系代数中的关系运算
除法运算的定义: 这个概念的描述的非常抽象,刚开始学习的同学完全不知所云。这里通过一个实例来说明除法运算的求解过程: 设有关系R、S 如图所示,求R÷S 的结果: 求解步骤过程: 第一步:找出关系R和关系S中相同的属性,即Y属性。
1027 0
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10