****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
数据操作
一、 常用的关系操作
*查询:选择、投影、连接、除、并、交、差
*数据更新:插入、删除、修改
查询的表达能力是其中的最主要的部分
*传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积
*专门的关系运算包括:选择、投影、连接、除4种运算。
(1)并
具有相同的目n(两个关系都有n个属性),R和S的并是由属于R或属于S的元组组成的集合,记为RUS。
(2)差
关系R和S具有相同的目n,R和S的差是由属于R但不属于S的元组组成的集合,记为R-S。
(3)交
关系R和S具有相同的目n,R和S的交是由既又属于S的元组组成的集合,记为R 交 S。
(4)笛卡儿积
R:n目关系,k1个元组
S:m目关系,k2个元组
R x S
列:(n + m)列元组的集合
*元组的前n列是关系R的一个元组
*后m列是关系S的一个元组
行:k1 x k2行元组
*R x S = {tr ts | tr ∈ R ∧ ts ∈ S}
二、关系运算
关系数据库还有一些专门的运算,主要有投影、选择、连接、除法和外连接
在关系代数中,由五种基本代数操作经过有限次符合的式子称为关系代数运算表达式。表达式的运算结果仍是一个关系。
(1)投影
投影操作从关系R中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组。记作:
πA(R) = {t[A] | t ∈ R}
其中A为R的属性列。
投影之后不仅取消了原关系中的某些元组(避免重复行)
(2)选择
选择操作在关系R中选择满足给定条件的所有元组,记作
∂F(R) = {t | t ∈ R ∧ F(t) = '真'}
其中F表示选择条件,是一个逻辑表达式(逻辑运算符 + 算术表达式)。选择运算是从行的角度进行的运算。
(3)θ连接
θ连接从两个关系的笛卡儿积中选取属性间满足一定条件的元组
记作:
略
A和B:分别为R和S上度数相等且可比的属性组
θ:比较运算符
*一般连接
*等值连接
θ为“=”的连接运算称为等值连接
等值连接的含义
从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:
略
*自然连接
自然连接是一种特殊的等值连接
*两个关系中进行比较的分量必须是相同的属性组
*在结果中把重复的属性列去掉
自然连接的含义
R和S具有相同的属性组B
略
(4)外连接(OUTER JOIN)
关系R、S进行自然连接时,如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(null),这种连接叫做外连接。
(5)左外连接
关系R、S进行自然连接时,如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN 或 LEFT JOIN)
(6)右外连接
关系R、S进行自然连接时,如果只把右边关系s中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN 或 RIGHT JOIN)
(7)除法
给定关系R(X, Y)和 S(Y, Z),其中X, Y, Z为属性组。
R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。
R与S的除运算得到一个新的关系P(X),
P是R中满足下列条件的元组在X属性列上的投影:
元组在X上分量值X的象集Yx包含S在Y上投影的集合,记作
R ÷ S = {tr[X] | tr ∈ R ∧ πY (S) ∈ Yx}
Yx : x在R中的象集,x = tr[X]
一、 常用的关系操作
*查询:选择、投影、连接、除、并、交、差
*数据更新:插入、删除、修改
查询的表达能力是其中的最主要的部分
*传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积
*专门的关系运算包括:选择、投影、连接、除4种运算。
(1)并
具有相同的目n(两个关系都有n个属性),R和S的并是由属于R或属于S的元组组成的集合,记为RUS。
(2)差
关系R和S具有相同的目n,R和S的差是由属于R但不属于S的元组组成的集合,记为R-S。
(3)交
关系R和S具有相同的目n,R和S的交是由既又属于S的元组组成的集合,记为R 交 S。
(4)笛卡儿积
R:n目关系,k1个元组
S:m目关系,k2个元组
R x S
列:(n + m)列元组的集合
*元组的前n列是关系R的一个元组
*后m列是关系S的一个元组
行:k1 x k2行元组
*R x S = {tr ts | tr ∈ R ∧ ts ∈ S}
二、关系运算
关系数据库还有一些专门的运算,主要有投影、选择、连接、除法和外连接
在关系代数中,由五种基本代数操作经过有限次符合的式子称为关系代数运算表达式。表达式的运算结果仍是一个关系。
(1)投影
投影操作从关系R中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组。记作:
πA(R) = {t[A] | t ∈ R}
其中A为R的属性列。
投影之后不仅取消了原关系中的某些元组(避免重复行)
(2)选择
选择操作在关系R中选择满足给定条件的所有元组,记作
∂F(R) = {t | t ∈ R ∧ F(t) = '真'}
其中F表示选择条件,是一个逻辑表达式(逻辑运算符 + 算术表达式)。选择运算是从行的角度进行的运算。
(3)θ连接
θ连接从两个关系的笛卡儿积中选取属性间满足一定条件的元组
记作:
略
A和B:分别为R和S上度数相等且可比的属性组
θ:比较运算符
*一般连接
*等值连接
θ为“=”的连接运算称为等值连接
等值连接的含义
从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:
略
*自然连接
自然连接是一种特殊的等值连接
*两个关系中进行比较的分量必须是相同的属性组
*在结果中把重复的属性列去掉
自然连接的含义
R和S具有相同的属性组B
略
(4)外连接(OUTER JOIN)
关系R、S进行自然连接时,如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(null),这种连接叫做外连接。
(5)左外连接
关系R、S进行自然连接时,如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN 或 LEFT JOIN)
(6)右外连接
关系R、S进行自然连接时,如果只把右边关系s中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN 或 RIGHT JOIN)
(7)除法
给定关系R(X, Y)和 S(Y, Z),其中X, Y, Z为属性组。
R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。
R与S的除运算得到一个新的关系P(X),
P是R中满足下列条件的元组在X属性列上的投影:
元组在X上分量值X的象集Yx包含S在Y上投影的集合,记作
R ÷ S = {tr[X] | tr ∈ R ∧ πY (S) ∈ Yx}
Yx : x在R中的象集,x = tr[X]