【数据库】关系代数基本运算

前言


       关系代数是以关系为运算对象的一组高级运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数的操作就可以引入到关系代数中。关系代数中的操作可以分为两类:传统的集合操作,并、差、交、笛卡尔积(乘)、笛卡尔积的逆运算(除);扩充的关系操作,对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)等。


五个基本的关系代数操作


       它们分别是:并、差、笛卡尔积、投影和选择,组成了关系代数完备的操作集。例子,如下两个关系:


【数据库】关系代数基本运算


关系代数操作的结果


(a)R∪S   并        (b)R-S    差    (c)R×S   笛卡尔积     (d)πC,A(R)  投影  (e)σB>’4’ (R)  选择


【数据库】关系代数基本运算【数据库】关系代数基本运算【数据库】关系代数基本运算【数据库】关系代数基本运算【数据库】关系代数基本运算


       说明:笛卡尔积,若R有m个元组,S有n个元组,则R×S有m×n个元组。投影,C和A为属性名,说明要选择的列。选择B>'4',即选择语句的条件,对关系做水平分割,选择符合条件的元组。


连接


       连接是从关系R和S的笛卡尔积中选取属性值满足某一个操作的元组。下面的例子同σ2=4 (R×S)。

【数据库】关系代数基本运算【数据库】关系代数基本运算【数据库】关系代数基本运算


自然连接


【数据库】关系代数基本运算


实例


       在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这种表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示各种数据查询操作。

【例4.5】对于下面的教学数据库中的四个关系,为方便起见,其名称简化为T、C、S和SC:

【数据库】关系代数基本运算

下面用关系代数表达式表达每个查询语句

1)检索学习课程号为C2课程的学生学号和姓名

【数据库】关系代数基本运算

由于这个查询涉及到两个关系S与SC,因此先要对这两个关系进行自然连接操作,然后再执行选择和投影操作。