当前位置: 代码迷 >> 综合 >> 关系代数 Relational Algebra
  详细解决方案

关系代数 Relational Algebra

热度:73   发布时间:2023-11-26 00:03:04.0

数据查询

1.目标:

从数据库中指定想要的内容

2.关系代数:

是一种抽象的查询语言,它用对关系的运算来表达查询。

3.

   运算对象、运算符、运算结果是运算的三大要素。

   关系代数的运算对象是关系,运算结果亦为关系。

   关系代数的运算符包括两类:集合运算符和专门的关系运算符。

4.五种基本的关系运算

①集合运算:并(union)  符号:U

   其结果仍为n目关系,由属于R或属于S的元组组成(没有重复的元组)。


②集合运算:差(difference) 符号:—

    R-S由属于R而不属于S的所有元组组成。


③选择运算(selection) 

    选择又称限制,是在关系R中选择满足给定条件的各个元组。



④投影运算(projection)

   关系R上的投影是从R中选择出若干属性列组成新的关系,是从列的角度进行的运算。


   投影之后不仅取消了元关系中的某些列,还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。

⑤笛卡儿积(cartesian product) 符号:X

   两个分别为n目和m目的关系R和S的笛卡儿积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。



5.派生的关系运算(Derived RA Operations)

①集合运算:交(intersection) 符号:∩

   结果关系由既属于R又属于S的元组组成,关系的交可以用差来表示,R∩S=R-(R-S)。



②连接运算(join)

(1)θ连接(Theta Join)

     θ连接,是从两个关系的迪卡儿积中选取属性间满足一定条件的元组。



(2)自然连接(Natural Join)

     自然连接是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是同名的属性组,并在结果中把重复的属性列去掉。



(3)等值连接(EQUIjoin)

      θ为“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡儿积中选取A\B属性值相等的那些元组。

(4)外连接(outer join)

       悬浮元组(dangling tuple):在做自然连接时由于不存在公共属性上值相等而被舍弃的元组。

       外连接:如果把悬浮元组也保存在结果关系中,而在其他属性上填上空值(NULL),那么这种连接就叫做外连接。

       左外连接 = 自然连接 + 左侧表中失配的元组。

       右外连接 = 自然连接 + 右侧表中失配的元组。

       全外连接 = 自然连接 + 两侧表中失配的元组。


③除运算(division) 符号:÷

   设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。


6.Complex Query

①例子:求出在上海工作的职工的工资值都有哪些?


②练习:



  相关解决方案