首页 理论教育 SQLServer数据库基础教程:关系运算

SQLServer数据库基础教程:关系运算

时间:2023-10-21 理论教育 版权反馈
【摘要】:在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和连接3种。例如,σ2>′3′表示从R中挑选第2个分量值大于3的元组所构成的关系。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组组成新的关系。

SQLServer数据库基础教程:关系运算

在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和连接3种。

1.选择

选择运算是根据某些条件对关系做水平分割,即从关系中找出满足条件的记录。它可以根据用户的要求从关系中筛选出满足一定条件的记录,这种运算可以得到一个新的关系,其中的元组是原关系的一个子集,但不影响原关系的结构。条件可用命题公式(即计算机语言中的条件表达式)F表示。关系R关于公式F的选择运算用σF(R)表示,形式定义如下:

σF(R)={t|t∈R∧F(t)=true}

其中,σ为选择运算符;σF(R)表示从R中挑选满足公式F为真的元组所构成的关系。这是从行的角度进行的运算。

例如,σ2>′3′(R)表示从R中挑选第2个分量值大于3的元组所构成的关系。

2.投影

投影运算是从关系内选择出若干属性列组成新的关系。它可以根据用户的要求从关系中选出若干个字段组成新的关系,字段的个数或顺序往往不同。关系R的投影运算用ПA(R)表示,形式定义如下:

ПA(R)={t[A]|t∈R}

其中,A为R的属性列。投影操作是从列的角度进行的运算。

投影之后不仅取消了原关系中的某些列,而且取消完全相同的元组。

例如,П3,1(R)表示关系R中取第1、3列,组成新的关系,新关系中第1列为R的第3列,新关系的第2列为R的第1列。

有了上述两个运算后,对一个关系内的任意行、列的数据都可以方便地找到。

3.连接

在数学上,可以用笛卡尔积建立两个关系间的连接,但这样得到的关系数据冗余度大,在实际应用中,一般两个相互关联的关系往往需要满足一定的条件,使所得的结果一目了然。这就是连接运算。

连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组组成新的关系。关系R和S的连接运算形式定义如下:

978-7-111-33494-1-Chapter01-17.jpg(www.xing528.com)

其中,A和B分别为关系R和S上度数相同且可比的属性组。

连接运算中有两种最为常用的连接,它们是:

(1)等值连接(Equi-jion)

等值连接即将连接中的θ换成“=”,功能是从关系R和S的笛卡尔积中选取A、B属性值相等的那些元组。它的形式定义为

978-7-111-33494-1-Chapter01-18.jpg

(2)自然连接(Natural-jion)

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中将重复的属性去掉。若R和S具有相同的属性组B,则它的形式定义为

978-7-111-33494-1-Chapter01-19.jpg

【例1-5】 利用表1-4和表1-10中所示的数据,将两表按学号进行等值连接。等值连接的结果如表1-11所示。

表1-10 成绩表

978-7-111-33494-1-Chapter01-20.jpg

表1-11 等值连接

978-7-111-33494-1-Chapter01-21.jpg

【例1-6】 利用表1-4和表1-10中所示的数据,将两表进行自然连接。自然连接的结果如表1-12所示。

表1-12 自然连接

978-7-111-33494-1-Chapter01-22.jpg

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

我要反馈