当前位置:   article > 正文

数据库复习——关系代数基本操作、扩展操作、复杂扩展操作_关系r与m自然连接

关系r与m自然连接

前言

复习总结,来自哈工大教学视频

正文

  • 关系代数基本操作:并、差、积、选择、投影、(更名)。

  • 关系代数扩展操作:交、-连接、自然连接。

  • 关系代数复杂扩展操作:除、外连接

基本操作

  1. 关系代数操作
    集合操作和纯关系操作
    在这里插入图片描述
    在这里插入图片描述
  2. 并相容性
  • 某些关系代数操作,如并、差、交等,需满足“并相容性”
  • 参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性
  • 定义:关系R与关系S存在相容性,当且仅当:
    关系R和关系S的属性数目必须相同
    对于任意i,关系R第i个属性的域必须和关系S第i个属性域相同
    假设:R(A1, A2, … , An) , S(B1, B2, … ,Bm)
    R和S满足并相容性:n = m 并且 Domain(Ai) = Domain(Bi).
  1. 笛卡尔积
  • 两个关系R和S,它们的属性个数分别为n和m(R是n度关系,S是m度关系)
    则笛卡尔积 R x S的属性个数 =n + m。即元组的前n个分量是R中元组的分量,后m个分量是S中元组的分量(R x S是n+m度关系).
  • 两个关系R和S,它们的元组个数分别为x和y(关系R的基数x, S的基数y),
    则笛卡尔积R x S的元组个数 = x × y。(R x S的基数是x × y).
    除此还有简单的并,差、选择、投影

扩展运算

  1. θ-连接(theta-Join
    在这里插入图片描述
  • 设R(A1 ,A2 , … ,An), A∈ { A1 ,A2 , … ,An }
  • S(B1 ,B2 , … ,Bm), B∈{ B1 ,B2 , … ,Bm }
  • t是关系R中的元组,s是关系S中的元组
  • 属性A和属性B具有可比性
  • θ是比较运算符, θ 属于{ > , ≥ , < , ≤ , = , ≠}
    列子:关系与自身的θ-连接
    在这里插入图片描述
  1. 等值连接(Equi-Join)
    当θ-连接中运算符为“=”时,就是等值连接在这里插入图片描述
  2. 自然连接(Natural-Join)

在这里插入图片描述

  • 自然连接是一种特殊的等值连接
  • 要求关系R和关系S必须有相同的属性组B
    B(如R,S共有一个属性B1,则B是B1 , 如R, S共有一组属性B1, B2, …, Bn,则B是这些共有的所有属性)
  • R, S属性相同值必须相等才能连接
    即R.B1 = S.B1 and R.B2 = S.B2 … and R.Bn = S.Bn才能连接
  • 要在结果中去掉重复的属性列(因结果中R.Bi 始终是等于S.Bi 所以可只保留一列即可)
  1. 连接与积的差别
    查询学习课程号为001的学生学号、姓名
    连接:
    在这里插入图片描述
    积:
    在这里插入图片描述

复杂扩展

  1. 外连接(Outer-Join)
  • 两个关系R与S进行连接时,如果关系R(或S)中的元组在S(或R)中找不到相匹配的元组,则为了避免该元组信息丢失,从而将该元组与S(或R)中假定存在的全为空值的元组形成连接,放置在结果关系中,这种连接称之为外连接(Outer Join)。
  • 外连接 = 自然连接 (或连接) + 失配的元组(与全空元组形成的连接)
  • 外连接的形式:左外连接、右外连接、全外连接
    左外连接 = 自然连接(或连接) + 左侧表中失配的元组
    右外连接 = 自然连接(或连接) + 右侧表中失配的元组
    全外连接 = 自然连接(或连接) + 两侧表中失配的元组

左外连接示例:
在这里插入图片描述
在这里插入图片描述

  1. 除法操作
    除法运算经常用于求解“查询… 全部的/所有的…”问题
  • 属性应有哪些?
    设属性集{C1,C2, … ,Ck } = {A1,A2, … ,An } – {B1,B2, … ,Bm }, 则有k=n–m
    则R÷S结果关系是一k度**(n-m度)**关系,由{C1,C2, … ,Ck }属性构成
  • 元组怎样形成?
    再设关系R (<a1, …, an>)和关系S (<b1, …, bm >), 那么R÷S结果关系为元组 <c1, …, ck>的集合,元组 <c1, …, ck>满足下述条件:它与S中每一个元组<b1, …, bm >组合形成的一个新元组都是R中的某一
    个元组<a1, …, an>
    。(其中,a1, …, an ,b1, …, bm, c1, …, ck分别是属性A1 , … ,An,B1 , … ,Bm C1 , … ,Ck 的值)
    在这里插入图片描述
    问题:
    查询选修了学号98030201学生所学全部课程的同学的姓名
    在这里插入图片描述
    请问下述写法与上有何不同? 结果是否一样
    在这里插入图片描述

总结

在这里插入图片描述

关系代数的基本书写思路:

  • 选出将用到的关系/表
  • 做“积”运算(可用连接运算替换)
  • 做选择运算保留所需的行/元组
  • 做投影运算保留所需的列/属性
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/908716
推荐阅读
相关标签
  

闽ICP备14008679号