关系模型之关系代数

一、关系代数基本操作

数据库管理系统提要:用户写出SQL语言,变成一种关系代数操作,DBMS解析这个组合,按照一定的次序分解开,并按照次序调用基本动作予以执行。

1、关系代数的运算

按运算符的不同可分为传统的集合运算和专门的关系运算两类。

  1. 集合运算:并、差、交、笛卡尔积
  2. 关系运算:投影、选择、连接、除
2、并相容性

参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性才可以完成并、差、交等的操作;

定义:关系 R 与关系 S 存在相容性,当且仅当:

  1. 关系 R 与关系 S 的属性数目必须相同;
  2. 对于任意 i ,关系 R 的第 i 个属性的域必须和关系 S 的第 i 个属性的域相同;
3、“并”操作(R∪S)

定义:假设关系 R 和关系 S 是并相容的,R∪S是将两个关系的元组合并成一个元组,在合并时去掉重复的元组。
描述:或者…或者…

4、“差”操作(R–S)

定义:假设关系 R 和关系 S 是并相容的,R–S 记作出现在关系R中但不出现在关系S中的元组。
描述:是…不含…

5、“笛卡尔积”操作(R×S)

定义:关系R中的元组与关系S的元组进行所有可能的拼接(或串接)构成

  1. 笛卡尔积R×S的属性个数 = R的属性个数 + S的属性个数;
  2. 笛卡尔积R×S的元组个数 = R的元组个数 × S的元组个数;
6、选择操作(σ)

定义:从关系R中选择出满足给定条件condition的元组。
注意:条件的书写要注意运算符的优先次序,优先次序自高至低为:括弧 > θ > ¬ > ∧ > ∨

7、投影操作(∏)

定义:从关系R中选出属性为A中的列,重新组合成新的关系,删除重复元组。

投影操作是从给定关系中选出某些 列 组成新的关系;
选择操作是从给定关系中选出某些 行 组成新的关系;

8、例子

给定如下关系R与关系S
在这里插入图片描述
关系代数:
在这里插入图片描述

二、关系代数扩展操作

1、“交”运算(R∩S)

定义:由同时出现在关系R和关系S中的元组构成。

2、“θ-连接”操作

定义:由关系R和关系S的笛卡尔积中,选取R中属性A与S中属性B之间满足θ条件的元组构成。
数学描述:先拼接为R×S,然后选择符合条件的元组。

在这里插入图片描述
例子如图:在这里插入图片描述

3、“等值-连接”操作

定义:特殊情况的θ-连接。

4、自然连接

定义:特殊的等值连接,在关系R和S的笛卡尔积中选取属性相同、值相等的元组,在结果中去掉重复的属性列。

在这里插入图片描述
举个例子:
在这里插入图片描述
在这里插入图片描述

三、关系代数复杂扩展操作

1、“除”操作(R÷S)

除法运算常用于求解“查询…全部的…”问题
前提条件:R的属性集是S的属性集的真子集,即关系R的属性个数小于S的属性个数。
定义:关系R中的属性减去关系S中的属性后剩余的属性,去掉该属性对应重复的元组。然后得到的关系中元组与关系S的每一个元组进行组合,如果均能够在关系R中找到相同的元组,则该元组为R÷S中的一个元组。
在这里插入图片描述

2、“外连接”操作

定义:两个关系R与S进行连接时,如果关系R(或S)中的元组在S(或R)中找不到相匹配的元组,则为避免该元组信息丢失,从而将该元组与S(或R)中假定存在的全为空值的元组形成连接,放置在结果关系中,这种连接称之为外连接。

  1. 外连接=自然连接(或θ连接)+失配的元组(与全空元组形成的连接);
  2. 外连接的形式:左外连接(左侧元组不丢失)、右外连接、全外连接;
  3. 左外连接=自然连接(或θ连接)+左侧表中失配的元组;
  4. 右外连接=自然连接(或θ连接)+右侧表中失配的元组;
  5. 全外连接=自然连接(或θ连接)+两侧表中失配的元组;
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值