数据库Mooc笔记(4)关系代数

什么是关系代数

关系代数运算的特点

(1)基于集合,提供了一系列的关系代数操作:并、差、笛卡尔积(广义积)、选择、投影和更名等基本操作。
(2)以及交、连接和关系除等扩展操作,是一种集合思维的操作语言。
(3)输入为一个或者多个关系,输出一个新的关系。
(4)用对关系的运算来表达查询,需要指明所用操作,具有一定的过程性。

关系代数运算的基本操作

(1)集合操作:并、交、差、笛卡尔积



(2)纯关系操作:


为什么要提出关系代数


这是计算机执行程序的基本的思路,同样我们基于这样的思维,要完成数据库的操作,应该怎么做?


关系代数的基本操作

有些关系代数操作,如并、差、交等,需要满足”并相容性“

并相容性

参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性

定义:关系R与关系S存在相容性,当且仅当:
(1)关系R和关系S的属性数目必须相同;
(2)对于任意i,关系R的第i个属性的域必须和关系S的第i个属性的域相同。


”并“操作

”差“操作

”笛卡尔积“操作

”选择“操作

”投影“操作


关系代数之扩展操作

”交“操作

θ连接

自然连接


就是一种特殊的等值连接,把等值连接之后的表去掉重复的一列属性


习题



易错

应该写成这样


也不能是这样


也可以使用交运算实现



再看一例子


感觉上是正确的错误的写法

基本思路

关系代数的复杂扩展操作



写成表达式


外连接

有一些老师可能没有讲课


应用:左外连接 把老师信息留下
右外连接 保留课程信息
全外连接
回顾

你可能感兴趣的:(数据库Mooc笔记(4)关系代数)