关系运算
关系运算
关系代数
关系代数的基本操作
- 并
- 使用条件:两个关系满足并相容性
- 操作结果:将两个关系合并,并删除重复的元组
- 差
- 使用条件:两个关系满足并相容性
- 操作结果: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
关系演算的安全性问题
- 安全性定义:不产生无限关系和无穷验证的运算
- 安全性
- 关系代数一定是安全的
- 关系演算不一定是安全的,必须限定有限集合中
三种运算方式的特点
- 关系代数:以集合为操作对象
- 关系演算:以元组为操作对象
- 域演算:以域变量为操作对象
- 三种运算都是等价的,其非过程性依次上升。