乐趣区

关于数据库:数据库系统概论王珊第二章关系数据库第四节关系代数

  • pdf 下载:明码 7281
  • 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

一:关系代数的基本概念

关系代数 <>:是一种形象的查询语言,用于对关系运算 <> 来表白查问

关系代数的 运算对象和运算后果都是关系,所用到运算符可分为如下两种

  • 传统的汇合运算:运算从行的角度进行
  • 专门的关系运算:运算同时波及行和列

二:传统的汇合运算

严格的定义这里不再给出,可借助课本。我的目标就是能帮忙疾速了解即可

(1)并(union)

并 <>:对于关系 $R$ 和 $S$,并操作就是将两个关系高低拼在一起造成一个新的关系,记为 $R$∪$S$

  • 所以两个关系具备 雷同数目的属性

(2)差(except)

差 <>:对于关系 $R$ 和 $S$,求他们的差,就是在 $R$ 中去掉两个关系中所有雷同的行,造成一个新的关系,记为 $R$-$S$

(3)交(intersection)

交 <>:对于关系 $R$ 和 $S$,求他们的交,就是选出两个关系中所有雷同的行,造成一个新的关系,记为 $R$∩$S$

  • 所以 $R$∩$S$=$R$-$(R-S)$

(4)笛卡尔积(cartersian product)

笛卡尔积 <>:对于关系 $R$ 和 $S$,求他们的笛卡尔积,就是两个关系所有元组的不同排列组合,造成一个新的关系,记为 $R$×$S$

三:专门的关系运算

留神:在上面的叙述中有时会用到如下三种关系

  • 学生关系 Student
  • 课程关系 Course
  • 选修关系 SC

(1)抉择(selection)

抉择 <>:从行的角度登程,在关系 $R$ 中抉择满足条件的元组而后组成新的关系。“满足条件”意味着有条件表达式,其运算符如下

例如可在关系 Student 中查问所有 IS 系的学生,查问后果造成一个关系,记为 $σ_{Sdept=_{‘IS’}}(Student)$

再比方可在关系 Student 中查问所有年龄小于 20 的学生,查问后果造成一个关系,记为 $σ_{Sage<20}(Student)$

(2)投影(projection)

抉择 <>:从列的角度登程,抉择满足条件的若干属性列组成新的关系

  • 投影之后勾销了原关系中的某些列,当然也有可能会勾销某些元祖(因为一旦勾销了某些属性列后就极有可能呈现反复行),所以 肯定留神打消完全相同的行

例如在关系 Student 中查问姓名和所在系的投影,记为 $∏_{Sname,Sdept}(Student)$

再比方在关系 Student 中查问都有哪些系,记为 $∏_{Sdept}(Student)$

  • 留神投影 要勾销反复的 CS 元组

(3)连贯(join)

A:等值连贯和天然连贯

等值连贯 <>:能够依照如下步骤思考,最终造成新的关系,记为

  • 首先找到关系 $R$ 和 $S$ 中属性雷同的列
  • 而后找到两列中雷同的元素
  • 将雷同元素所在的行组成新的一行,须要用【关系. 属性】的格局区两个关系中雷同的属性

天然连贯 <>:它是一种非凡的等值连贯,在等值连贯的后果中去掉反复列即可

B:外连贯

悬浮元组的概念 :$R$ 和 $S$ 在做天然连贯时,$R$ 中某些元组有可能在 $S$ 中不存在公共属性上值相等的元组,就会造成 $R$ 中这些元组在操作时被舍弃(反过来 $S$ 也是这样)。 例如上图天然连贯中就舍弃了 $R$ 的第 4 个元组和 $S$ 的第 5 个元组


外连贯 <>:若将悬浮元组保留在天然连贯的后果中,而在其余属性上填 NULL,那么这种连贯就叫做外连贯,同时

  • 左外连贯 <>:只保留右边关系 $R$ 中的悬浮元组
  • 右外连贯 <>:只保留左边关系 $R$ 中的悬浮元组

(4)除(division)

除 <>:是笛卡尔积的逆运算,对于关系 $R$ 和 $S$,求 $R$÷$S$ 可按如下步骤思考

  • 钻研对象是 $R$ 和 $S$ 中雷同的属性列
  • 在 $R$ 中筛选元祖,所筛选的元组肯定满足它的属性均呈现在 $S$ 对应雷同属性列的所有属性汇合内
退出移动版