首页 百科知识 关系数据操纵与关系代数

关系数据操纵与关系代数

时间:2022-10-21 百科知识 版权反馈
【摘要】:关系型数据库管理系统提供关系操纵语言来实现数据操纵。关系操纵语言分为关系代数与关系演算两大类。关系代数的运算可包括传统的集合操作和专门的关系操作两类。其操作是从关系的水平方向,即是对关系的行来进行的。例如,要在学生基本档案表中找出年龄为24岁的所有学生数据,就可以对学生关系做选择操作:σ年龄=′24′(学生)。

1.3.3 关系数据操纵与关系代数

关系型数据库管理系统提供关系操纵语言来实现数据操纵。关系操纵语言分为关系代数与关系演算两大类。两类语言可表达的数据操纵能力是相当的。关系代数通过对关系的运算来表达查询。关系代数的运算可包括传统的集合操作和专门的关系操作两类。

一、传统的集合操作

这类操作将关系看成元组的集合。其操作是从关系的水平方向,即是对关系的行来进行的。设关系R和关系S具有相同数目的属性列(n列属性),并且相应的属性取自同一个域,则可定义以下4种集合运算:

(1)并(Union):关系R与关系S的并,记为R∪S。它是属于R或属于S的元组组成的集合,结果为n列属性的关系。

(2)交(Intersection):关系R与关系S的交,记为R∩S。它是既属于R又属于S的元组组成的集合,结果为n列属性的关系。

(3)差(Difference):关系R与关系S的差,记为R-S。它是属于R而不属于S的元组组成的集合,结果为n列属性的关系。

(4)广义笛卡尔积(Extended Cartesian product):关系R(假设为n列)和关系S(假设为m列)的广义笛卡尔积,记为R×S,是一个(m+n)列元组的集合,每一个元组的前n列是来自关系R的一个元组,后m列是来自关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。

二、专门的关系操作

这类操作不仅涉及行,而且也涉及列。

(1)选择(Selection):选择操作是指在关系中选择满足某些条件的元组,记为σF(R)。例如,要在学生基本档案表中找出年龄为24岁的所有学生数据,就可以对学生关系做选择操作:σ年龄=′24′(学生)。

(2)投影(Projection):投影操作是在关系中选择某些属性列。记为ΠA(R)。例如,要找出所有班级的班主任和班长,则可以对班级关系做投影操作:Π班主任,班长(班级)。

(3)连接(Join):连接操作是从两个关系的笛卡尔积中选择属性间满足一定条件的元组。记为Rimg5S。连接条件中的属性称为连接属性。

img6

图1-5 自然连接运算示例

当连接条件中的算符取“=”时,为等值连接。若等值连接中连接属性为相同属性,且在结果关系中去掉重复属性,则此等值连接为自然连接。自然连接是最常用的连接操作。例如关系R和S如图1-5(a)、(b)所示,则自然连接Rimg7S的结果如图1-5(c)所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈