-
对关系的运算可分为
(1) 关系代数运算
1° 传统的集合运算
2° 专门的关系运算
(2) 关系演算
1° 元组关系演算
2° 域关系演算
-
传统的集合运算
(1) 并
Q = R∪S 代表R关系中的所有元组和S关系中的所有元组合在一起形成新关系Q
(2) 差
Q = R - S 的结果是__属于R但不属于S__的所有元组构成Q
(3) 交
Q = R∩S 的结果是既属于R又属于S的所有元组构成Q
其中交运算并不是必须运算,可以表示为 R∩S = R - (R - S)
(4) 笛卡尔积
Q = RxS 代表R中的所有元组和S中的所有元组进行拼接。
设关系R有p个属性,m个元组;关系S有q个属性,n个元组。则Q有 (p+q)个属性,m*n个元组
-
专门的关系运算
(1) 选择
从关系中选择满足一定条件的元组子集(即行的子集)
(2) 投影
从关系中选取某些特定的列(即列的子集)
(3) (内)连接
两个关系的连接是其笛卡尔积的子集。
1° 条件连接
将两个关系中满足某个条件的元组拼接起来形成新元组。 其中,__等值连接__是两个关系的某个属性值的相等比较,其他的包括大于连接、小于连接等称为__不等值连接__
2° 自然连接
两个关系在共同属性上的等值连接。如果两个关系中有一个以上的同名属性,它们必须在这些属性上的值都相等时,两个元组才能连接; __若两个关系无共同属性,则它们的自然连接的结果等于它们的笛卡尔积__
(4) 除法
Q = R ÷ S,则Q中的属性是R的属性去掉和S的公共属性;元组结果是使得Q的元组和S的元组进行自然连接(其实此时等价笛卡尔积)所形成的是R的最大子集
-
扩展的关系运算
(1) 属性重命名
__利用属性重命名可以把一个关系作为两个关系运算__
(2) 外连接
外连接的结果是(内)连接的超集,既包括了满足连接条件的元组,也包含了没有被连接的元组
1° 左外连接 连接的结果包含了左边关系中不满足连接条件的元组,在__这些元组对应右边关系的属性上的值为空__。 2° 右外连接 连接的结果包含了右边关系中不满足连接条件的元组,在这些元组对应左边关系的属性上的值为空。 3° 完全外连接 连接的结果既包含了左边关系中不满足连接条件的元组,也包含了右边关系中不满足连接条件的元组。即 完全外连接 = 左外连接 ∪ 右外连接
-
在关系代数运算中,并、差、笛卡尔积、选择、投影是__基本关系代数运算__,其他的运算可以由这些基本运算表示
chapter03_关系数据库_1_关系代数
最新推荐文章于 2023-02-11 15:53:48 发布