首页 > 技术文章 > 关系运算

zhaifeng 2019-05-20 10:29 原文

关系运算

关系代数

关系代数的基本操作

    • 使用条件:两个关系满足并相容性
    • 操作结果:将两个关系合并,并删除重复的元组

 
    • 使用条件:两个关系满足并相容性
    • 操作结果:R-S产生一个元组在R中但不在S中的关系

 

  • 笛卡尔积
    • 操作结果:RxS表示将R与S中所有元组拼接的可能。

 

  • 选择
    • 操作结果:选择出满足条件的元组
    • 条件优先级:括弧,比较,非,与,或优先级依次降低

 

  • 投影
    • 操作结果:选择出选择出的列

 

关系代数的拓展操作

    • 操作结果:同时出现在R和S中元组的组合

 

  • 连接
    • theta连接:选择R和S中A和B满足theta条件的元组连接

  • 等值连接:theta条件为等于的连接

  • 自然连接:选择R和S中相同属性元组属性值相同的元组

    • 使用情况:查询......全部的...
    • 操作结果:R除S的结果是结果中的元组和S中所有元组结合均在R中

 

  • 外连接
    • 左外连接:自然连接+左侧表中失配的元组
    • 右外连接:自然连接+右侧表中失配的元组
    • 全外连接:自然连接+两表中失配的元组

关系代数的语义混淆点

  • 至少选择

  • 不选择

  • 全选择

关系代数的优化过程

暂无

关系演算

关系元组演算

  • 组合、与、或、非

  • 存在与任意

  • 等价变换

关系域演算

  • QBE语言
    • 关系名区:用于查询欲查询的关系名
    • 属性名区:用于显示对应关系名区关系的所有属性名
    • 操作命令区:用于书写查询操作的命令
    • 查询条件区:用于书写查询条件

  • QBE操作命令
    • 显示——P
    • 插入——I
    • 删除——D
    • 更新——U

关系演算的安全性问题

  • 安全性定义:不产生无限关系和无穷验证的运算
  • 安全性
    • 关系代数一定是安全的
    • 关系演算不一定是安全的,必须限定有限集合中

三种运算方式的特点

  1. 关系代数:以集合为操作对象
  2. 关系演算:以元组为操作对象
  3. 域演算:以域变量为操作对象
  • 三种运算都是等价的,其非过程性依次上升。

 

 

 

推荐阅读