专门的关系运算

来源:互联网 发布:大数据可视化是什么 编辑:程序博客网 时间:2024/04/28 01:25
此文转自于网络PPT,感谢作者的艰苦创作,此文可以让人很快理解专门关系代数

l选择
l投影
l连接
l


1. 选择(Selection) 
l选择针对单个关系中的数据进行操作,属于一元运算符,是指从关系中选择若干行。
l例如,可以使用选择操作符(σ)从学生关系S中选择出那些年龄大于19岁的学生。该查询可以用如下的表达式来表示:

  σSage>19(S)

  查询表达式中的下标“Sage>19”给出的是选择条件,只有符合该条件的元组才可以被返回到结果中。









l选择操作符σ通过指定选择条件对某个关系进行查询,查询的结果产生了一个新的关系。
l这两个关系具有相同的关系模式。
l新关系是被操作关系中满足条件的元组,是被操作关系的一个子集。



l对关系R的选择操作记作:

  σF(R) = {t|tÎRF(t)= ''}

  其中F表示选择条件,它是一个逻辑表达式,取逻辑值“真”或“假”。选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。 




2.投影(Projection) 

l投影操作(π)是指从关系中选择若干列。
l例如,可以使用投影操作符(π)从学生关系S中找出所有学生的名字和年龄。该查询可以用如下的表达式来表示:

  πSname,Sage(S)

  查询表达式中的下标“Sname, Sage”指出需要返回的列的名字,其他的列在结果关系中被去掉了。 











l对关系R的投影操作记作:

  πA(R) = {t[A] |t ÎR }

  其中AR中需要保留的属性组,t[A]是从元组t生成的新元组,新元组是从元组t中去掉不包含在属性组A中的属性。



l关系代数表达式的运算结果总是一个关系。
l既然这样,可以通过组合各种不同的关系表达式来定义新的关系
l例如,假设想要找出年龄大于19岁的学生的名字和年龄,则可以将前面的两个查询组合起来,表达式如下:

  πSname,Sage(σSage>19(S))

  该查询首先在关系S上进行选择操作,然后再做投影操作。  



3. 连接(

l两类常用连接运算
1)等值连接(equijoin
什么是等值连接
当条件AθB中的θ为“=”的连接运算称为等值连接
等值连接的含义
从关系RS的广义笛卡尔积中选取AB属性值相等的那些元组


自然连接(Naturaljoin
什么是自然连接
自然连接是一种特殊的等值连接
»它要求关系R中的属性A和关系S中的属性B名字相同
»在结果中把重复的属性列去掉
自然连接的含义

  RS具有相同的属性组B

        



l一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。 


l等值连接举例






l自然连接举例


                                                                                                       


综合举例 

以学生-课程数据库为例

l2-1查询选修了课程号为C02的课程的学生的名字。

  πSname((σCno=‘C02’(SC))    S)

该表达式首先从选修关系SC中计算出课程号为C02的元组集合,然后再和学生关系S进行自然连接。
查询结果为{胡峻}
该查询还可以写成下面的形式:

  πSname(σCno=‘C02’(SC   S))




0 0
原创粉丝点击