关系运算

Posted chenfengshijie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系运算相关的知识,希望对你有一定的参考价值。

数据库 基本关系运算

关系代数运算

基本关系运算是指对单个或多个关系进行操作的运算,有以下五种:

  • 并(Union):用符号∪表示,表示两个具有相同结构的关系的并集,即把两个关系中的元组合并起来,去除重复的元组。
  • 差(Difference):用符号-表示,表示两个具有相同结构的关系的差集,即把第一个关系中存在而第二个关系中不存在的元组选出来。
  • 投影(Projection):用符号π表示,表示从一个关系中选择某些属性列构成新的关系,即把一个关系中不需要的属性列去掉。
  • 笛卡尔积(Cartesian Product):用符号×表示,表示两个任意结构的关系的笛卡尔积,即把第一个关系中每个元组与第二个关系中每个元组配对形成新的元组。
  • 选择(Selection):用符号σ表示,表示从一个关系中选择满足某些条件的元组构成新的关系,即把一个关系中不满足条件的元组去掉。

除了基本关系运算,还有一些补充的关系运算,如下:

  • 交(Intersection):用符号∩表示,表示两个具有相同结构的关系的交集,即把两个关系中都存在的元组选出来。
  • 连接(Join):用符号⋈表示,表示两个任意结构的关系的连接,即把第一个关系中每个元组与第二个关系中满足某些条件的元组配对形成新的元组。
  • 除(Division):用符号÷表示,表示两个任意结构的关系的除法,即把第一个关系中能够和第二个关系中所有元组配对的元组选出来。
  • 广义投影(Generalized Projection):用符号Π表示,表示从一个关系中选择某些属性列并进行某些算术运算或聚合函数构成新的关系。
  • 外连接(Outer Join):用符号⟕、⟖、⟗分别表示左外连接、右外连接和全外连接,表示两个任意结构的关系的外连接,即在连接操作基础上保留没有匹配到另一个关系中元组的元组,并用空值填充。

元组关系演算

元组关系演算是一种基于关系模型的数据库查询语言,它使用元组变量和谓词公式来表示查询条件¹。元组关系演算的表达式可以写成t|Φ(t),表示所有使Φ(t)为真的元组t的集合。元组关系演算和域关系演算是等价的,但前者以元组为单位,后者以域为单位。

特别需要注意的是元组关系演算中的\\(\\exist,\\forall\\)符号,对于只要求关系中部分属性的查询,需要通过\\(\\exist,\\forall\\)来创建新的关系元组,然后进行运算

域关系演算

域关系演算的详细介绍如下:

  • 域关系演算是一种声明性的数据库查询语言,它使用从属性域中取值的域变量,而不是对于整个元组的值²⁴。

  • 域关系演算公式的基本形式是:<x1,x2,...,xn>|P(x1,x2,...,xn),其中xi代表域变量或常量,P为以xi为变量的谓词公式¹⁴。

  • 公式P可以递归地进行构造,有三种形式的原子公式:

    • <x1,x2,...,xn>∈R,表示由域变量或常量构成的元组属于关系R。
    • xi=xj或xi=c,表示两个域变量相等或一个域变量等于一个常量。
    • xiθxj或xiθc,表示两个域变量或一个域变量和一个常量之间满足某种比较运算符θ(如<、>、≤、≥)。
  • 公式P还可以使用逻辑运算符(与、或、非、蕴含)和量词(存在∃和任意∀)进行组合。

  • 域关系演算与元组关系演算是等价的,也就是说它们都可以表达非递归的Datalog程序和关系代数

第四章----关系代数运算

一、关系代数运算

(一)关系代数运算的特点

1、抽象的关系操作语言

2、运算对象和运算结果都是关系

(二)关系代数运算符

  技术图片

 技术图片

(三)关系代数运算

传统的集合运算:

a)并兼容的关系:

  若两个关系的属性个数相同,且对应属性的域也相同,则称这两个关系是并兼容的。

b)并运算:记作R∪S  

c)差运算:记作R-S

d)交运算:记作R∩S

b)c)d)中关系R和S必须是并兼容的。

技术图片

 

 e)笛卡尔积乘积运算

  两个属性个数分别是m、n,元组个数分别为k1,k2的关系R和S,它们的笛卡尔乘积是一个关系,

该关系属性个数为m+n、元组个数为k1*k2,记为R×S

技术图片

 

专门的关系运算:

  • 选择
  • 投影
  • 连接

选择

1) 选择又称为限制(Restriction)  

2) 选择运算符的含义

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

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

  F:选择条件,是一个逻辑表达式,基本形式 为: X1θY1

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

技术图片

技术图片             技术图片              技术图片

技术图片                                                                   技术图片

 

 

 投影

1)投影运算符的含义

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

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

  A : R中的属性列 

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

技术图片

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

 

技术图片

               技术图片

 技术图片

连接 

一般连接,即θ-连接。记为:

以上是关于关系运算的主要内容,如果未能解决你的问题,请参考以下文章

第四章----关系代数运算

关系代数演算So Easy

关系运算和判断

关系运算

javascript运算符——关系运算符

Java基础9----运算符2(关系,逻辑运算符)