Time waits for no o|

Mars-Luke

园龄:3年8个月粉丝:1关注:1

关系代数

概述

选择( σ ), 投影( Π ), 笛卡尔积( × ), 连接( θ ), 集合运算, 更名( ρ ),

  • 是一种抽象的语言,是学习数据库语言的基础
  • 关系代数运算三要素
    • 输入:一个或多个关系
    • 输出:一个新的关系
    • 运算符:四类
      • 集合运算符 - 从关系的执行角度来进行
      • 关系运算符 - 不仅涉及行而且涉及列
      • 算术比较符 - 辅助关系运算符进行操作
      • 逻辑运算符 - 辅助关系运算符进行操作

关系代数运算的分类

  • 集合运算: 并、差、交、笛卡尔积
  • 关系运算:更名、选择、投影、连接、除

pic

基本运算

并, 交, 差

  • 并相容性
    • 参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意 义关联性
    • 定义:关系 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)
Student(SID char(10), Sname char(8), Age char(3))
Proffessor(PID char(10), Pname char(8), Age char(3))

笛卡尔积(Cartesian-Product)

  • 定义:由关系R与关系S的元组进行所有可能的拼接构成
  • 数学描述: R×S={tq|tRandqS},其中t、q是 元组
  • 前提:假设R和S的属 性是不相交的,如果有相交的属性,必须通过更名(renaming)使其不相交。

更名(Rename)

  • 定义:给关系或表达式重新命名
  • 数学描述:
    • (1) ρX(E),表示表达式E更名为X。
    • (2) ρX(A1,A2,,An)(E),表示关系E更名为X,其中的n个属性依 次更名为A1 , A2 , …, An

选择(Select)

  • 定义:给定一个关系R和一个选择的条件(con), 选择运算从关 系R中选择出满足给定条件con的元组。

  • 数学描述:

σcon(R)={t|tRandcon(t)==1}

  • R(A1,A2,,An), tR的元组,则t[Ai]表示t的分量,con 由逻辑运算符连接比较表达式组成

  • eg S(Name,Age,Gender)
    查询年龄不小于20的男学生

σAge20Gender=M(S)

投影(Project)

  • 定义:指从关系R中选出若干列构成新的关系(选择列去掉重复项)

  • 数学描述:ΠA1,A2,,An(R)={|tR}

因为关系是一个集合,需要删除重复的行(新投影的关系可能有重复行)

示例:S(Name,Age,Gender)
查询所有学生的姓名和年龄

ΠName,Age(S)

投影结合选择操作

  • 先选择再投影
  • 先投影再选择

附加运算

连接: 多个表进行操作

自然连接(Natural Join)

将具有相同属性的表拼接

  • 定义:由关系R和关系S的笛卡尔积中选取相同属性组上值相等的元组所构成
  • 数学描述:假设RS=A1,A2,,An
    RS=ΠRS(σR.A1=S.A1R.A2=S.A2R.An=S.An(R×S)
    如果RS=ϕ,则RS=R×S
  • 注意:要在结果中去掉重复的属性列

pic

θ连接(θ-Join/ Theta Join)

  • 是自然连接的扩展
  • 定义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组
  • 数学描述:RθS=σθ(R×S) ,是将一个选择运算和一个笛 卡儿乘积运算合并为的单独一个运算

pic

等值连接

  • 定义:由关系R和关系S的笛卡尔积中选取R中属性A与S中属 性B上值相等的元组所构成
  • 数学描述:RA=BS=θt[A]=q[B](R×S) , 即:θ连接中运算符为=时, θ连接就成为等值连接。

pic

等值连接与自然连接

  • 等值连接中不要求相等属性值的属性名相同,而自然连接要 求相等属性值的属性名必须相同,即两关系只有在同名属性 才能进行自然连接。
  • 等值连接不将重复属性去掉,而自然连接去掉重复属性,也 可以说,自然连接是去掉重复列的等值连接。?

除(Division)

数学描述:R ÷ S = { t | t ∈ ΠRS(R) and ∀u ∈ S (tu∈ R)}


特点

  • 行和列同时操作
  • 常用于表达包含"对所有的(for all)" 的查询

外连接(Outer-Join)
表拼接拓展

  • 全外连接(Full outer join)
    • 如果把舍弃的元组也保存在结果关系中,而在其他属性上 填空值(Null),这种连接就叫做外连接(Outer join)

  • 左外连接(Left outer join)
    • 如果只把左边关系R中要舍弃的元组保留就叫做左外连接 (Left Oouter Join或Left Join)
  • 右外连接(Right outer join)
    • 如果只把右边关系S中要舍弃的元组保留就叫做右外连接 (Right outer join或Right join)

本文作者:Mars-Luke

本文链接:https://www.cnblogs.com/0x000001/p/17774965.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Mars-Luke  阅读(217)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起