关系代数


文档摘要

关系代数 概述 关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。 关系代数的运算对象是关系,运算结果亦为关系。 关系代数的运算 普通的集合运算 并、交、差 删除部分关系的运算 选择、投影 合并两个关系元组的运算 连接、积 改名运算 关系代数 并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中的元素的集合

关系代数

概述

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

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

关系代数的运算

普通的集合运算

  • 并、交、差

删除部分关系的运算

  • 选择、投影

合并两个关系元组的运算

  • 连接、积

改名运算

关系代数

并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


作者与出处
原作者: SSHeRun Thrinity
来源:SSHeRun Thrinity
许可证:Apache-2.0
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: SSHeRun Thrinity 转发
评论区 (0)
U