数据查询
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中。