关系代数内容学习(交、并、差、投影、选择、连接、重命名)

关系代数

  • 并、差、交

  • 投影选择

  • 笛卡尔积、连接

  • 重命名

什么是关系代数

  • 是一种抽象的数据查询语言

  • 用对关系的运算来表达查询

关系运算符分类

传统的集合运算符

  • 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)(原表名))
  • 30
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

five-five

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值