数据库系统(4):关系模型之关系代数

时间:2024-03-30 11:51:38

重点与难点

  • 关系代数基本操作:并、差、积、选择、投影、(更名)
  • 关系代数扩展操作:交、数据库系统(4):关系模型之关系代数-连接、自然连接
  • 关系代数复杂扩展操作:除、外连接
  • 书写关系代数的基本思维训练:“一个集合,施加一个操作得到一个集合,依次施加关系代数操作,进而得到所需结果” “以集合为中心”

一、什么是关系代数

  • 关系代数运算的特点
    • 基于集合提供了一系列的关系代数操作,是一种集合思维的操作语言
    • 关系代数操作以一个或多个关系为输入,结果是一个新的关系
    • 用对关系的运算来表达查询,需要指明所用操作,具有一定的过程性
    • 是一种抽象的语言,是学习其他数据库语言,如SQL等的基础

 

  • 关系代数操作:集合操作和纯关系操作
    • 集合操作:并、交、差、笛卡尔积
    • 纯关系操作:投影、选择、连接、除 

二、并相容性的概念

  • 参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性
  • 定义:关系R和关系S存在相容性,当且仅当:
    • 关系R和关系S的属性数目必须相同
    • 对于任意i,关系R的第i个属性的域必须和关系S的第i个属性的域相同

三、并(Union)操作

  • 定义:假设关系R和关系S是并相容的,则关系R与关系S的并运算结果也是一个关系,记做:数据库系统(4):关系模型之关系代数,它由或者出现在关系R中,或者出现在S中的元组构成
  • 数学表述:数据库系统(4):关系模型之关系代数,其中t是元组
  • 并运算是将两个关系的元组合并成一个关系,在合并时去掉重复的元组
  • 数据库系统(4):关系模型之关系代数

四、差(Difference)操作

  • 定义:假设关系R和关系S是并相容的,则关系R与关系S的并运算结果也是一个关系,记做:数据库系统(4):关系模型之关系代数,它由出现在关系R中但不出现在S中的元组构成
  • 数学表述:数据库系统(4):关系模型之关系代数,其中t是元组
  • 数据库系统(4):关系模型之关系代数

五、广义笛卡尔积(Cartesian Product)操作

  • 定义:关系R数据库系统(4):关系模型之关系代数与关系S数据库系统(4):关系模型之关系代数的广义笛卡尔积(简称广义积或笛卡尔积)运算结果也是一个关系,记做:数据库系统(4):关系模型之关系代数,它由关系R中的元组与关系S的元组进行所有可能的凭借(或串接)构成。
  • 数学描述:数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数(行位置无关性和列位置无关性)
  • R是n度关系,S是m度关系,数据库系统(4):关系模型之关系代数数据库系统(4):关系模型之关系代数度关系
  • R基数是x,S基数是y,数据库系统(4):关系模型之关系代数基数是数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数

六、选择(Select)操作

  • 定义:给定一个关系R,同时给定一个选择的条件condition(简记con),选择运算结果也是一个关系,记做数据库系统(4):关系模型之关系代数,它从关系R中选择出满足给定条件condition的元组构成。
  • 数学描述:数据库系统(4):关系模型之关系代数
    • 数据库系统(4):关系模型之关系代数,t是R的元组,t的分量记做数据库系统(4):关系模型之关系代数,或简写为数据库系统(4):关系模型之关系代数
    • 条件con由逻辑运算符连接比较表达式组成
    • 逻辑运算符:数据库系统(4):关系模型之关系代数数据库系统(4):关系模型之关系代数数据库系统(4):关系模型之关系代数或谢伟and,or,not
    • 比较表达式:数据库系统(4):关系模型之关系代数,其中X,Y是t的分量、常量或简单函数,数据库系统(4):关系模型之关系代数是比较运算符,数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数

七、投影(Project)操作

  • 定义:给定一个关系R,投影运算结果也是一个关系,记做数据库系统(4):关系模型之关系代数,它从关系R中选出属性包含在A中的列构成。
  • 数学描述:数据库系统(4):关系模型之关系代数
    • 数据库系统(4):关系模型之关系代数
    • 数据库系统(4):关系模型之关系代数
    • 数据库系统(4):关系模型之关系代数表示元组t中相应于属性数据库系统(4):关系模型之关系代数的分量
    • 投影运算可以对原关系的列在投影后重新排列
  • 数据库系统(4):关系模型之关系代数数据库系统(4):关系模型之关系代数

八、交(Intersection)操作

  • 定义:假设关系R和关系S是并相容的,则关系R与关系S的交运算结果也是一个关系,记做:数据库系统(4):关系模型之关系代数,它由同时出现在关系R和关系S中的元组构成。
  • 数学描述:数据库系统(4):关系模型之关系代数,其中t是元组
  • 数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数

九、theta连接(数据库系统(4):关系模型之关系代数-Join,theta-Join)操作及更名操作

  • 定义:给定关系R和关系S,R和S的数据库系统(4):关系模型之关系代数连接运算结果也是一个关系,记做数据库系统(4):关系模型之关系代数,它由关系R和关系S的笛卡尔积中,选取R中属性A与S中属性B之间满足数据库系统(4):关系模型之关系代数条件的元组构成。
  • 数学描述:数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数
  • 等值连接(Equi-Join)
  • 数据库系统(4):关系模型之关系代数-连接中运算符为“=”时,就是等值连接。
  • 数学描述:数据库系统(4):关系模型之关系代数

十、自然连接(Natural-Join)操作

  • 定义:给定关系R和关系S,R和S的自然连接运算结果也是一个关系,记做数据库系统(4):关系模型之关系代数,它由关系R和关系S的笛卡尔积中选取相同属性组B上值相等的元组构成。
  • 数学描述:数据库系统(4):关系模型之关系代数
    • 自然连接是一种特殊的等值连接
    • 要求关系R和关系S必须有相同的属性组B
    • R,S属性相同,值必须相等才能连接
    • 要在结果中去掉重复的属性列
  • 数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数

十一、除(Division)操作

  • 除法运算经常用于求解“查询... 全部的/所有的...”问题
  • 前提条件:给定关系数据库系统(4):关系模型之关系代数为n度关系,关系数据库系统(4):关系模型之关系代数为m度关系。如果可以进行关系R与关系S的除运算,当且仅当:属性集数据库系统(4):关系模型之关系代数是属性集数据库系统(4):关系模型之关系代数的真子集,即数据库系统(4):关系模型之关系代数
  • 定义:关系R和关系S的除运算结果也是一个关系,记做数据库系统(4):关系模型之关系代数,分两部分来定义:
    • 设属性集数据库系统(4):关系模型之关系代数,则有k=n-m,则数据库系统(4):关系模型之关系代数结果关系是k度(n-m度)关系,由数据库系统(4):关系模型之关系代数属性构成
    • 再设关系数据库系统(4):关系模型之关系代数和关系数据库系统(4):关系模型之关系代数组合形成的一个新元组都是R中的某一个元组数据库系统(4):关系模型之关系代数
  • 数学描述:数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数
  • 数据库系统(4):关系模型之关系代数

十二、外连接(Outer-Join)操作

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