聊聊数据库中的关系代数运算~

393 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第18天,点击查看活动详情

数据库的关系代数运算,在我看来就是对数据库表的操作的 抽象化表示,因此想要掌握数据库的操作,关系代数的运算是必须学习的,废话不多说,开搞!

ppx2.jpg

正文

关系代数运算的形式多种多样,对应了我们对数据库中表的不同操作,下面依次讲解它们

qidai.jpeg

关系r与s具有 相同的 关系模式,即r与s的元数相同,关系r与s的“并”由属于r或属于s的元祖集合组成

关系r与s具有 相同的 关系模式,关系r与s的差是由属于r但不属于s的元组构成的集合

广义笛卡尔积

两个元数分别为n目和m目的关系r和s的广义笛卡尔积是一个(n+m)列的元组集合,元组的前n列是关系r的一个元组,后m列是关系s的一个元组

投影

投影是从关系的 垂直方向 进行运算,在关系r中选择出若干属性列组成新的关系

选择

选择运算是从关系的 水平方向 进行运算,是从关系r中选择满足给定条件的诸元组

关系r与s具有 相同的 关系模式,关系r与s的交由属于r同时又属于s的元组构成

联接

分为θ联接、自然联接、外联接

  • θ联接:从r和s的笛卡儿乘积中选取满足条件“iθj”的元组
  • 自然联接:是一种特殊的等值联接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉
  • 等值联接:从r和s的笛卡儿乘积中选取满足条件“i=j”的元组