软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

版权声明

主要针对希赛出版的架构师考试教程《系统架构设计师教程(第4版)》,作者“希赛教育软考学院”。完成相关的读书笔记以便后期自查,仅供个人学习使用,不得用于任何商业用途。

第四节 关系代数

关系代数的基本运算主要有并、交、差、笛卡尔积、选择、投影、连接和除法运算。

计算两个关系在集合理论上的并集,即给出关系 R 和 S(两者有相同元/列数),R∪S 的元组包括 R 和 S 所有元组的集合,形式定义如下:

RS={t|RμtS}

式中 t 是元组变量(下同)。显然,R∪S=S∪R。

计算两个关系的区别的集合,即给出关系 R 和 S(两者有相同元/列数),R-S的元组包括 R 中有而 S 中没有的元组的集合,形式定义如下:

RS={t|tRtS}

显然,R∩S = R-(R-S) 和 R∩S = S-(S-R)成立。

笛卡尔积

计算两个关系的笛卡尔乘积,令 R 为有 m 元的关系,S 为有 n 元的关系,则 R×S 是 m+n 元的元组的集合,其前 m 个元素来自 R 的一个元组,而后 n 个元素来自 S 的一个元组。形成定义如下:

R×S={t|t=<tr,ts>trRtsS}

若 R 有 u 个元组,S 有 v 个元组,则 R×S 有 u×v 个元组。例如,有关系 R 与关系 S 如表 3-1 和表 3-2 所示。

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

​ 对 R 与 S 做笛卡尔积运算,其结果有 4+2=6 列,元组数量有 3*2=6 条。如表 3-3 所示。

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

投影

从一个关系中抽取指明的属性(列)。令 R 为一个包含属性 A 的关系,则

PA(R)={t[A]|tR}

例如,对表 3-1 关系 R 做投影操作, p1,2(R),则结果如表 3-4 所示。

注意:在关系代数操作中涉及的数字代表的是列号,, p1,2(R)操作是对第 1 列与第 2 列做投影。

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

​ 其中 F 表示选择条件,是一个逻辑表达式(逻辑运算符+算术表达式)。选择运算是从元组(行)的角度进行的运算。

θ连接

θ连接从两个关系的笛卡儿积中选取属性之间满足一定条件的元组,记作:

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

​ 其中 A 和 B 分别为 R 和 S 上元数相等且可比的属性组。θ 为“=”的连接,称为等值连接,记作:

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

​ 如果两个关系中进行比较的分量必须是相同的属性组,并且在结果中将重复的属性去掉,则称为自然连接,记作:

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

​ 例如,对表 3-1 关系 R 与表 3-2 关系 S 做自然连接操作。结果集如表 3-6 所示。

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

设有关系 R(X,Y)与关系 S(Z),Y 和 Z 具有相同的属性个数,且对应属性出自相同域。关系 R(X,Y)÷S(Z)所得的商关系是关系 R 在属性 X 上投影的一个子集,该子集和 S(Z)的笛卡尔积必须包含在 R(X,Y)中,记为 R÷S,其具体计算公式为:

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

​ 例如,对表 3-1 的关系 R 与表 3-2 的关系 S 做除法运算。

​ 求解过程为:首先,按除运算定义要求,确定 X,Y,Z 属性集合。Y 是关系 R 中的属性集合,Z 是 S 中全部属性的集合,即 Z={U3,U4},由于 Y=Z,因此,Y={U3,U4}, X={U1,U2}。也就是说,R÷S 结果集包含属性 U1 和 U2;然后,将关系 R 的 U1、U2(共有<a,b>、<c,a>两个元组)与关系 S 作笛卡尔积操作,结果如表 3-7 所示。

软考-架构师-第三章-数据库系统 第四节 关系代数(读书笔记)

​ 通过检查表 3-7,可以发现元组<a,b>与 S(Z)的笛卡尔积被包含在 R(X,Y)中,而元组<c,a>与S(Z)的笛卡尔积有一个元组未被包含在 R(X,Y)中,所以,结果集中只有元组<a,b>


学渣。这点没看懂,先往下读,等第一遍扫完书再搞吧。头疼。。。