关系代数:Relational Algebra。

什么叫代数?

代数是一个较为基础的数学分支。它的研究对象有许多。诸如数量、代数式、关系、方程理论、代数结构等等都是代数学的研究对象。

初等代数一般在中学时讲授,介绍代数的基本思想:研究当我们对数字作加法或乘法时会发生什么,以及了解变数的概念和如何建立多项式并找出它们的

代数的研究对象不仅是数字,还有各种抽象化的结构。例如整数集作为一个带有加法、乘法和序关系的集合就是一个代数结构。在其中我们只关心各种关系及其性质,而对于“数本身是什么”这样的问题并不关心。常见的代数结构类型有群、环、域、模、线性空间等。

为何称之为一种代数(algebra),或者说为什么关系型数据库中也存在代数?

因为存在操作符(operator)和操作数(operand),操作数为表,操作符为交、并等。也即此时代数处理的对象由数字变成了表,而操作由加和乘为交、并等。

关系代数有分为基于集合的关系代数(基于集合自然不存在重复)和基于包的关系代数;

关系运算分类

  • (1)基本运算:并、差、笛卡尔积、选择、投影;
  • (2)组合运算:交、连接、自然连接和除;
  • (3)扩充的关系代数操作:外连接(左外和右外)、外部并和半连接;

关系代数的基本操作(原始运算):“选择”、“投影”、笛卡尔积(也叫做“叉积”或“交叉连接”)、并集、差集和“重命名”。

这六个运算在省略其中任何一个都要损失表达能力的意义上是基本的。已经依据这六个原始运算定义了很多其他运算。其中最重要的是交集、除法和自然连接

关系代数运算

自然连接

关系运算对行列的影响:

  • (1)σ\sigma:选择,不会影响列,相当于筛选行,

    select * from where 列满足的一些条件;
  • (2)π\pi:投影,相当于对样本集做 feature selection;

两个除法的例题

  • (1)关系 R、S 如下表所示,则 R÷(πA1,A2(σ1<3S))R\div (\pi_{A_1,A_2}(\sigma_{1

    先选择(第一列小于第三列的全部元组),再投影保留 A1,A2A_1,A_2,如下:

    接下来执行除法,首先在 RR 中找到 A1,A2A_1,A_2 和 S′S' 完全一致的元组:

此时关键是看 RR 关系中其他列在这两个元组的值是否相同,只有在相同时,除法的结果才为这个值,否则除法的结果为空。显然本例为 {d}\{d\}。

再看一道关系运算:

R÷SR\div S 的结果为:

R÷S={2,1}R\div S=\{2, 1\}

References

[1] 关系代数——除法

数据库原理(一)—— 关系代数相关推荐

  1. 【数据库原理】关系代数

    文章目录 简述. 关系代数. 传统的集合运算. 并 Union. 差 Difference. 交 Intersection. 广义笛卡尔积 Extended Cartesian Product. 专门 ...

  2. 数据库原理(八)- 关系代数

    数据库原理(八)- 关系代数 前言 传统的集合运算 并(union) 差(except) 交(intersection) 笛卡尔积(cartesian product) 专门的集合运算 选择(sele ...

  3. 南京工程学院 数据库复习(数据库系统概论复习 及 数据库原理与应用样题)

    一.数据库系统概论 1.1 百度文库 复习文档(需下载券) <数据库系统概论>(王珊.第五版) ★第一章   绪论 v 本章内容:数据库系统概述.数据模型.数据库系统结构 v 本章主要考点 ...

  4. 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  5. 【渝粤题库】陕西师范大学200781 数据库原理及应用 作业

    <数据库原理及应用>作业 一.选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段.文件系统阶段和数据库系统阶段.在这几个阶段中,数据独立性最高的是____阶段. 数据库系统 B.文 ...

  6. 中南大学 oracle试卷,数据库原理期末复习(中南大学)数据库原理、技术及应用2.ppt...

    2014 春季 信息11,12 DB P,T&A-张祖平 数据库原理.技术及应用 张祖平/Zhang Zuping 电子信息工程系 School of Information Science ...

  7. 数据库原理归档——对于数据库原理最全的总结

    恭喜你来到新天地! 以下的笔记是我复习了三次总结出来的,属于一个归档.目前还在对以往的知识做一个更加详细地总结,所以仍在更新中.这份笔记对于新手入门数据库来说十分友好,语言通俗易懂.在数据库中,还涉及 ...

  8. 数据库原理与技术(专升本)-含答案

    <数据库原理与技术>课程复习资料 一.名词解释: 数据管理 DB DBMS DBS RDBMS DBA ORDBMS SQL 关系 关系模型 关系系统 完整性控制 属性 2NF 候选码 二 ...

  9. 数据库原理及应用期末复习汇总(附某高校期末真题试卷)

    文章目录 <数据库原理及应用>试题1 一.选择题 二.填空 三.简答题 四.T-SQL综合题 五.综合应用题 <数据库原理及应用>试题2 一.选择题 二.填空 三.简答题 四. ...

  10. 数据库原理及应用(东南大学)笔记——第二章 数据模型

    第二章 数据模型(data model) 2.1 层次数据模型 2.1.1 基本思路: 现实世界中很多事物之间本就存在层次关系,该模型尝试用树状结构描述这种关系. 2.1.2 基本概念: 记录reco ...

最新文章

  1. 分享45款高质量的免费(X)HTML/CSS模板
  2. 微信公众号接口权限表汇总
  3. 精选Spring Boot三十五道必知必会知识点!
  4. php数据结构链表代码,数据结构之线性表——链式存储结构之单链表(php代码实现)...
  5. 【Python教程】常见字符串去除空格的教程
  6. 如何利用python在一个文档里写入长须_Python语法入门—文件处理
  7. 消除软硬件鸿沟,芯客网完美支持智能硬件在移动互联时代的爆发
  8. [GitHub]第三讲:简单分支操作
  9. 在Java 8中使用不带静态导入的Mockito
  10. 洛谷-DFS-1019-单词接龙-个人AC题解和公共AC题解笔记
  11. 修改默认共享内存tmpfs大小
  12. js 添加属性_轻松理解JS中的面向对象,顺便搞懂prototype和__proto__
  13. C++11在加入<thread>头文件后Socket服务器接收不到消息
  14. 建议简书评论区升级筛选/排序功能
  15. 分布式NoSQL数据库的Spring整合实践
  16. --------溢出植入型木马(后门)的原型实现 作者:FLASHSKY(原创)
  17. 我也来开发2048之终极奥义
  18. linux看磁带内容命令,Linux下磁带管理命令
  19. 洛谷 1282 多米诺骨牌#线性动态规划#
  20. YOLOv3源码解析2-数据预处理Dataset()

热门文章

  1. RequestInfo关键点解析
  2. SequenceFile文件的读取
  3. 顺序循环队列类c#语言,C#--循环队列的顺序存储
  4. builder forms oracle 函数如何使用_Oracle EBS 之 Forms开发 一
  5. 重试次数配置_Stelnet(ssh)登陆华为交换机配置教程
  6. MIPS架构之start.s汇编分析
  7. matlab版K均值聚类
  8. 让没有连续TabOrder的Edit连续获得焦点 [精华]
  9. ggplot 非常难调的参数
  10. ORACLE 中NUMBER类型默认的精度和Scale问题