文章目录
数据库—战德臣第四章–关系代数笔记
重点与难点
关系代数基本操作:并、差、积、选择、投影、(更名)。
关系代数扩展操作:交、-连接、自然连接。
关系代数复杂扩展操作:除、外连接
书写关系代数的基本思维训练:“一个集合,施加一个操作得到一个集合,依次施加关系代数操
作,进而得到所需结果”“以集合为中心”
##一. 关系代数之基本操作
(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号课的学生的姓名和年龄
正确:
错误:
注:上图两种错误,第一个是只要学了两门以上的均会查出
第二个是不满足并相容性.