mysql选择投影连接_MySQL入门,第六部分,关系代数

本文介绍关系代数的基础知识,包括其特点、运算符及其运算规则。重点解释了四种集合运算符、专门的关系运算符和逻辑运算符,并通过实例说明如何进行选择、投影、连接和自然连接等操作。

关系代数是一种集合操作为基础过程化查询语言,特点:运算对象是关系,运算结果亦为关系

一、关系代数的特点

运算对象:关系

运算结果:关系

运算符:四类

集合运算符

专门的关系运算符

算术比较符

逻辑运算符

二、关系代数运算符

运算符类型

运算符

含义集合运算符

集合运算符

-

集合运算符

集合运算符

×

广义笛卡尔积

比较运算符

大于

比较运算符

大于等于

比较运算符

小于

比较运算符

小于等于

比较运算符

等于

比较运算符

不等于

专门的关系运算符

σ

选择

专门的关系运算符

π

投影

专门的关系运算符

连接

专门的关系运算符

÷

逻辑运算符

¬

逻辑运算符

逻辑运算符

三、运算规则

1.集合运算规则

将关系R, S看作是元组的集合,进行交、并及差集合运算,必须具备下列条件:

R和S的模式必须相同

R和S的属性顺序也相同表达式

操作类型

含义R ∪ S

R、S两者中元组的集合,一个元素在并集中只出现一次

R ∩ S

同时存在于R和S中的元组的集合

R – S

在R中存在,而在S中不存在的元素的集合

R × S

笛卡尔积

R(n目p元组),S(m目q元组);运算得到的新关系中有(n+m)个目(p×q)个元组

解析:

广义笛卡尔积运算:

f10eaed82d533bc22f0d76793e07f61f.png

2.专门的关系运算符

表达式

操作类型

含义

备注

举例σ c (R)

选择

在关系R上选择满足条件C的元组,构成一个新的关系。新关系是R的子集,模式与R相同

条件 c 是一个逻辑表达式,表达式中可以使用比较运算符和逻辑运算符

σ name = '小明' (Student)

π A1,A2,…,An (R)

投影

从关系R产生一个只有R的某些列的新的关系

新的关系中含有旧关系的A1,A2,…,An 列

π name,age (Student)

R⋈ AθB S

θ连接

从两个关系R,S的广义笛卡尔积中选择属性间满足一定条件的元组;记作S⋈R(AθB)

A为包含R中的属性的表达式,B为包含S中的属性的表达式,θ通常为关系比较符;

等效于σ AθB (R×S)

Student ⋈ sGPA≥cGPA Company

R⋈ A=B S

等值连接

当比较运算符θ 为 = 时的θ连接

A为包含R中的属性的表达式,B为包含S中的属性的表达式;

等效于σ A=B (R×S)

Student ⋈ sGPA=cGPA Company

R⋈S

自然连接

一种特殊的等值连接。两个关系中进行比较的分量必须是相同的属性组。在结果中把重复的属性列去掉

Student ⋈ GPA

R÷S

详解见本文最后

详解见本文最后

详解见本文最后

解析:

自然连接:

e99fc101081bc88930ee355ab354ce66.png

除法运算:

=======================================================================================================

为什么把这个分支知识点放到最后单独来说呢?因为它的概念确实是比较抽象的,单独靠一个表格确实无法深入的理解,下面我们一步一步来了解什么是关系代数中的除运算

(1)象集

关系R(A,Z)

A和Z为关系R的属性,a是属性A中的分量值

a在R中的象集:R中在A上值为a元组在Z属性上对应分量的集合

例如:

78b4791a06b9110c32a330b1e6537afb.png

(2)除

首先我们来看一下官方定义:

除运算是同时从关系的水平方向和垂直方向进行运算。给定关系R(X,Y)和S(Y,Z),X、Y、Z为属性组。R÷S应当满足元组在X上的分量值x的象集Y,包含关系S在属性组Y上投影的集合

分析:

关系 R (A,Y)、S (Y,Z)

P(A) = R÷S      (经过除法运算得到一个新的关系P(A))

关系R在A上分量值a的象集 称作 seta

关系S在Y属性组上投影的集合 称作setY

若seta包含了 setY,  则 a 就是关系P中的元组分量

例如:

关系R和关系S拥有共同的属性Cno、R÷S得到的新关系中存在着“关系R包含但关系S不包含“”的属性,即Sno属性

e14f00a53b674b17b618211ccdf5198a.png

=======================================================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值