数据库---战德臣第四章--关系代数笔记

数据库—战德臣第四章–关系代数笔记

重点与难点

关系代数基本操作:并、差、积、选择、投影、(更名)。

关系代数扩展操作:交、-连接、自然连接。

关系代数复杂扩展操作:除、外连接

书写关系代数的基本思维训练:“一个集合,施加一个操作得到一个集合,依次施加关系代数操

作,进而得到所需结果”“以集合为中心”

##一. 关系代数之基本操作

(1) “并”操作

1.汉语中的“或者…或者…”通常意义是并运算的要求。

2.若R为计算机学院的学生,S为材料学院的学生 则:R∪S为两院所有的学生

(2) “差”操作

1.假设关系R 和关系S是并相容的,则关系R 与关系S 的差运算结果 也是一个关系,

记作:R-S, 它由出现在关系R中但不出现在关系S中的元 组构成。

(3) “笛卡尔积”操作

(1)当一个检索涉及到多个表时(如学生表和课程表),便需要将这些表串接或 拼接起来,然后才能检索,这时,就要使用广义笛卡尔积运算 .记作:R x S,

(2)补充概念:

基数:元组个数

度数:列的个数

(4) “选择”操作

1.选择满足条件的元组,注意写的时候,属性约束为字符串的需要打引号.

数据库---战德臣第四章--关系代数笔记

示例:

数据库---战德臣第四章--关系代数笔记

(5)投影

1.选择列,成为一个新的关系

2.示例:

数据库---战德臣第四章--关系代数笔记

数据库---战德臣第四章--关系代数笔记

6.更名—见theta连接

二. 关系代数-----扩展操作

扩展操作即在基本操作上进行变形得来的.

1.交运算

一般指 既…又…

数据库---战德臣第四章--关系代数笔记

2. “theta-连接”操作

经常与投影.选择操作一起使用.

数据库---战德臣第四章--关系代数笔记

(2)示例

数据库---战德臣第四章--关系代数笔记

数据库---战德臣第四章--关系代数笔记

(3)等值连接

数据库---战德臣第四章--关系代数笔记

(4)自然连接

数据库---战德臣第四章--关系代数笔记

数据库---战德臣第四章--关系代数笔记

3.除操作

常常用于求解"查询…全部的/所有的"问题,条件R的度数大于S

数据库---战德臣第四章--关系代数笔记

示例:

数据库---战德臣第四章--关系代数笔记

4.外连接

数据库---战德臣第四章--关系代数笔记

综合示例

关系代数的基本书写思路:

1.检索是否涉及多个表,如不涉及,则可直接采用并、差、交、选择 与投影,只要注意条件书写正确与否即可

2.如涉及多个表,则检查

​ 能否使用自然连接,将多个表连接起来(多数情况是这样的)

​ 如不能,能否使用等值或不等值连接(theta-连接)

​ 还不能,则使用广义笛卡尔积,注意相关条件的书写

3.连接完后,可以继续使用选择、投影等运算,即所谓数据库的“选投 联”操作

1.过程示例

数据库---战德臣第四章--关系代数笔记

2.连接与积操作的差别

数据库---战德臣第四章--关系代数笔记

3.注意语法正确,但语义错误的情况

数据库---战德臣第四章--关系代数笔记

注:上图中的自然连接是错误的,因为自然连接完就会删除相同的一列,则无法进行选择.

数据库---战德臣第四章--关系代数笔记

注:上图的交运算正确.但直接交运算错误.

(2)查询不学002号课的学生的姓名和年龄

正确:

数据库---战德臣第四章--关系代数笔记

错误:

数据库---战德臣第四章--关系代数笔记

注:上图两种错误,第一个是只要学了两门以上的均会查出

第二个是不满足并相容性.