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

一、关系代数的特点

运算对象:关系

运算结果:关系

运算符:四类

  • 集合运算符
  • 专门的关系运算符
  • 算术比较符
  • 逻辑运算符

二、关系代数运算符

运算符类型 运算符 含义
集合运算符

∪

并
集合运算符 - 差
集合运算符 ∩ 交
集合运算符 ×

广义笛卡尔积

比较运算符

>

大于
比较运算符

≥

大于等于
比较运算符 < 小于
比较运算符

≤

小于等于
比较运算符 =     等于
比较运算符 ≠ 不等于
专门的关系运算符

σ

选择

专门的关系运算符 π 投影
专门的关系运算符 ⋈ 连接
专门的关系运算符 ÷ 除
逻辑运算符

¬

非
逻辑运算符 ∧ 与
逻辑运算符 ∨ 或

三、运算规则

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)个元组

解析:

广义笛卡尔积运算:

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 除

详解见本文最后

详解见本文最后 详解见本文最后

解析:

自然连接:

除法运算:

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

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

(1)象集

关系R(A,Z)

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

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

例如:

(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属性

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

MySQL入门,第六部分,关系代数的更多相关文章

  1. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  2. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  3. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  4. MySQL入门笔记(二)

    MySQL的数据类型.数据库操作.针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五.子查询   子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅 ...

  5. MySQL入门介绍(mysql-8.0.13)

    MySQL入门介绍(mysql-8.0.13单机部署) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL数据库介绍 1>.MySQL是一种开放源代码的关系型数据库 ...

  6. mysql入门与进阶

    MySQL入门与进阶 需求:对一张表中的数据进行增删改查操作(CURD) C:create 创建 U:update 修改 R:read 读|检索 查询 D:delete 删除涉及技术:数据库 1.数据 ...

  7. 【数据库】7.0 MySQL入门学习(七)——MySQL基本指令:帮助、清除输入、查询等

    1.0 help == ? 帮助指令,查询某个指令的解释.用法.说明等.详情参考博文: [数据库]6.0 MySQL入门学习(六)——MySQL启动与停止.官方手册.文档查询 https://www. ...

  8. Mysql学习总结(12)——21分钟Mysql入门教程

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  9. MySQL入门——在Linux下安装和卸载MariaDB

    MySQL入门——在Linux下安装和卸载MariaDB 摘要:本文主要学习了如何在Linux系统中安装和卸载MariaDB数据库. 查看有没有安装过MariaDB 使用命令查看有没有安装过: [ro ...

  10. 最新MySQL入门篇

    一.SQL简介 ​ SQL:结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...

随机推荐

  1. 单元测试 - Tests和UITests (一) 业务测试

    单元测试 假如我们今天去面试了,面试官问了一句“什么是单元测试?有没有使用?大概是针对那些情况进行单测的?单测意义从你实际使用中总结一下.” 这要在我没进行现在的单测之前这个问题我回答的可能就是“不好 ...

  2. 《前端之路》- TypeScript(二) 函数篇

    目录 一.定义函数方法 二.定义函数传参 三.可选传参 四.默认传参 五.传递剩余参数 六.函数重载 七.箭头函数 八.总结 一.定义函数方法 在 es5 中定时函数的方法有 命名函数和函数表达式(匿 ...

  3. 图解汉诺塔问题( Java 递归实现)

    汉诺塔简介 最近在看数据结构和算法,遇到了一个非常有意思的问题--汉诺塔问题. 先看下百度百科是怎么定义汉诺塔的规则的: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候 ...

  4. [组件封装]微信小程序-底部弹框

    描述 模仿ios浏览器底部弹框效果. 遮罩层淡入淡出,弹框高度根据内容自适应. 效果 源码 popup-bottom.wxml <!-- popup-bottom.wxml --> < ...

  5. 【译】HTTP/2 为更快速的网站而生

    最近在做一个内部的服务对接,使用了Google的gRPC框架,gRPC是基于HTTP/2和protocol buffers实现的,所以额外去了解了一下HTTP/2,找到这这边文章.这篇文章虽然是写于2 ...

  6. Journal of Proteome Research | Down-Regulation of a Male-Specific H3K4 Demethylase, KDM5D, Impairs Cardiomyocyte Differentiation (男性特有的H3K4脱甲基酶基因(KDM5D)下调会损伤心肌细胞分化) | (解读人:徐宁)

    文献名:Down-Regulation of a Male-Specific H3K4 Demethylase, KDM5D, Impairs Cardiomyocyte Differentiatio ...

  7. 【攻防世界】open-source

    难度系数: 3.0 题目来源: Pediy CTF 2018 题目描述:菜鸡发现Flag似乎并不一定是明文比较的 先用:PE查壳,发现没有

  8. PTEST 渗透测试标准

    1:前期交互阶段 在前期交互(Pre-Engagement Interaction)阶段,渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透测试的范围.目标.限制条件以及服务合同细节.该阶段通常涉 ...

  9. beautifulsoup实现文章截取和脚本攻击

    引子:现在我们所写的所有高大上,炫酷的网页,在数据库中是如何存储的呢?其实数据库中存储的所有高大上的文章都是存的html,然后我们平时看的写的都是由于编辑器的原因,在编辑器内部做了转换,所以我们可以直 ...

  10. 一起了解 .Net Foundation 项目 No.22

    .Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. Windows Templ ...