- 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$对应雷同属性列的所有属性汇合内