关系代数内容学习(交、并、差、投影、选择、连接、重命名)
·
关系代数
-
并、差、交
-
投影选择
-
笛卡尔积、连接
-
重命名
什么是关系代数
-
是一种抽象的数据查询语言
-
用对关系的运算来表达查询
关系运算符分类
传统的集合运算符
-
U-N
-
把关系看成元组的集合
-
所有运算对象必须具有相同的结构
专门的关系运算符
-
选择和投影 σ π
-
笛卡尔积,连接 x ⋈
-
重命名 ρ
辅助专门的关系运算符
-
比较运算符 < <= > >= = < >
-
逻辑运算符 ┌ ∧ ∨(非与或)
传统的集合运算(交并差)
先决条件
-
R 和S 的属性个数必须相同
-
对应属性必须取自同一个域
R U
S
-
并(union)
-
结果由属于R或属于S的所有元组组成
R ∩
S
- 交(intersection),结果由既属于R又属于S的元组组成
R –
S
- 差(difference),结果由属于R而不属于S的所有元组组成
专门的关系运算符
投影和选择
投影(projection)
- 用于从R中选择出若干属性列组成新的关系(默认去重)
-
L为R中的属性列表
-
结果为只包含R中某些列的新的关系
-
结果要去掉重复元组
语法
-- 数据库的下标是从1开始的
π[列名1,...,列名n]|[列名下标1,...,列名下标n](表名)
选择(Selection)
- 用于在关系R中选择满足给定条件的各个元组
-
C:选择条件,是一个逻辑表达式
-
结果为只包含R中某些元组的新的关系
语法
-- σ5 ='IS' (Student)
σ[列名1,...,列名n]|[列名下标1,...,列名下标n]=[你的条件值](表名)
笛卡尔积和连接
笛卡尔积(Product)
-
R关系: n个属性, k1个元组
-
S关系: m个属性, k2个元组
-
R x S
-
将R中的每个元组t1和S中的每个元组t2配对连接
-
列数: n+m
-
前n列是关系R的一个元组t1
-
后m列是关系S的一个元组t2
-
-
行数:k1× k2
-
当R和S中有重名属性A时,则采用R.A和S.A分别命名对应的属性列
-
连接(Join)
连接也称为θ连接
R ⋈ S
-
A θ B
-
A和B:分别为R和S上度数相等且可比的属性组
-
θ:比较运算符
-
连接运算从R和S的笛卡尔积R× S中选取(R关系)在A属性组上的
值与(S关系)在B属性组上值满足比较条件的元组
两类常用的等值连接
等值连接
什么是等值连接
- θ为“=”的连接运算称为等值连接
R ⋈ S
- A=B
等值连接的含义
- 从关系R与S的笛卡尔积中选取A、 B属性值相等的那些元组
自然连接
自然连接是在公共属性(组)上进行的等值连接
-
两个关系中必须具有公共属性(组)
-
在结果中把重复的属性列去掉
R ⋈ S
重命名ρ
ρS (A1,…,An)®
-
将关系R重命名为S
-
将关系S中的各属性命名为A1,A2…An
语法
-- ρS (A1,…,An)(R)
ρ新表名(列名1,...,列名n)(原表名))
更多推荐
已为社区贡献7条内容
所有评论(0)