Skip to content

Latest commit

 

History

History
56 lines (56 loc) · 2.65 KB

关系代数.md

File metadata and controls

56 lines (56 loc) · 2.65 KB

关系代数

概述

关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。

关系代数的运算对象是关系,运算结果亦为关系。

关系代数的运算

普通的集合运算

  • 并、交、差

删除部分关系的运算

  • 选择、投影

合并两个关系元组的运算

  • 连接、积

改名运算

关系代数

并Union (∪)

  • R和S的并,R∪S,是在R或S或两者中的元素的集合
  • 一个元素在并集中只出现一次
  • R和S必须同类型(属性集相同、次序相同,但属性名可以不同)

交Intersect (∩)

  • R和S的交,R∩S,是在R和S中都存在的元素的集合
  • 一个元素在交集中只出现一次
  • R和S必须同类型(属性集相同、次序相同,但属性名可以不同)

差Minus (-)

  • R和S的差,R-S,是在R中而不在S中的元素的集合
  • R和S必须同类型(属性集相同、次序相同,但属性名可以不同)

投影Projection(π)

  • 从关系R中选择若干属性组成新的关系
  • πA1,A2,…,An(R),表示从R中选择属性集A1,A2,…,An组成新的关系
  • 列的运算
  • 投影运算的结果中,也要去除可能的重复元组

广义笛卡儿积(×)

  • 关系R、S的广义笛卡儿积是两个关系的元组对的集合所组成的新关系
  • R×S:
    • 属性是R和S的组合(有重复)
    • 元组是R和S所有元组的可能组合
    • 是R、S的无条件连接,使任意两个关系的信息能组合在一起

选择Selection(σ)

  • 从关系R中选择符合条件的元组构成新的关系
  • σC(R),表示从R中选择满足条件(使逻辑表达式C为真)的元组
  • 行的运算

条件连接(θ)

  • 从R×S的结果集中,选取在指定的属性集上满足AθB条件的元组,组成新的关系
  • θ是一个关于属性集的比较运算符
  • θ为“=”的连接运算称为等值连接。

自然连接

  • 从R×S的结果集中,选取在某些公共属性上具有相同值的元组,组成新的关系
  • R、S的公共属性
    • 属性集的交集(名称及类型相同)
  • 公共属性在结果中只出现一次
  • 等值连接

关系代数—除( ÷ )

  • 给定关系R(X,Y)和S(Y,Z),其中X, Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。
  • R÷S = {tr[X]| tr∈R∧πy (S)Yx}
  • 其中Yx为x在R中的象集,x=tr[X]。
  • 例子

总图

XMind: ZEN - Trial Version