关系代数(Relation Algebra)与SQL语句的对应关系
SQL语句的执行一般是先翻译为关系代数再被执行的(能有效提高执行速度),所以我们有必要
了解关系代数与SQL语句间的对应关系。
就像高中代数由+-*/和数字组成,关系代数是由union、intersection、join等运算符和关系实例
组成的。
关系代数有五个基础运算符,这五个基础运算符能派生出其他组合运算符。它们分别是:
选择(σ, selection)、投影(π, projection)、叉乘(x, cross-product)、
差(-, set-difference)和并(υ, union)
它们和SQL语句的对应关系为:
选择(σ, selection)相当于SQL语句中的where,表示选出满足一定条件的行。
如:σ rating>8 (S2)相当于 select * from S2 where rating>8;
投影(π, projection)相当于SQL语句中的select。。。distinct, 表示选择哪些列。注意:投影是会去重的!
如:π sname,rating (σ rating>8 (S2))相当于 select sname, rating from S2 where rating>8;
叉乘(x, cross-product)相当于SQL语句中的from,表示穷举所有集合两边元素的组合量
如: AxB 相当于 select * from A, B; 注意:叉乘时两个集合不能有重名列
差(-, set-difference)R-S返回所有在R中而不在S中的元组
并(υ, union)RυS返回包含在R中或在S中的所有元组
注意:并、交、差都要求两个关系实例是并相容的。 并相容指:1. 两个关系实例字段数相同 2. 对应字段类型、取值范围相同
合成运算符:
合成运算符是由基础运算符组合派生而来的,算是一种速记标志。
交(∩, intersection) R∩S返回既在R中又在S中的元组。
自然连接(⋈, natural join)相当于先做叉乘,再选择公共属性一样的关系实例。如果没有公共属性的话,那么结果就是叉乘
除(÷, division)r÷s, 返回r中包含与s共有列但其他列不同的关系实例。
例如:

r的上下蓝色和金黄色部分包含s,而中间橙色部分仅部分包含s,白色部分完全不包含s,所以r÷s= 
关系代数(Relation Algebra)与SQL语句的对应关系的更多相关文章
- 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句
如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true) ...
- 关系代数和sql语句对应关系
关系代数运算符 对应sql语句 聚合操作 ∪ (UNION)并 ∩ (INTERSECTION)交 - (DIFFERENCE)差 × (Cartesian PRODUCT)笛卡尔积 ...
- 数据库系统概论学习3-SQL 语句和关系代数(一)SQL 入门
3. SQL 语句和关系代数(一)SQL 入门 3.1 数据库的编程语言 SQL 的优点 SQL 集成了数据查询(data query).数据操作(data manipulation).数据定义(da ...
- Oracle数据库高效sql语句的整理
业务需求说明:由于之前公司后台APP端有一个document表,该表中包含了所有的信息,新的需求就是通过该表创建出一个新的用户表(usertable)和一个档案表(document,该表只保留原doc ...
- [转]sql语句中出现笛卡尔乘积 SQL查询入门篇
本篇文章中,主要说明SQL中的各种连接以及使用范围,以及更进一步的解释关系代数法和关系演算法对在同一条查询的不同思路. 多表连接简介 在关系数据库中,一个查询往往会涉及多个表,因为很少有数据库只有一个 ...
- SQL语句大全(mysql,sqlserver,oracle)
SQL语句大全 --语句功能--数据操作SELECT --从数据库表中检索数据行和列-selectINSERT --向数据库表添加新数据行-insertDELETE --从数据库表中删除数据行-del ...
- oracle SQL语句练习MERGE、模糊查询、排序、
Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language, ...
- 【HIVE】sql语句转换成mapreduce
1.hive是什么? 2.MapReduce框架实现SQL基本操作的原理是什么? 3.Hive怎样实现SQL的词法和语法解析? 连接:http://www.aboutyun.com/thread-20 ...
- GP数据库 常用SQL语句
GP数据库 常用SQL语句 --1,查看列名以及类型 select upper(column_name) ,data_type from information_schema.columns wher ...
随机推荐
- Delphi 程序调试
- MP4 ISO基础媒体文件格式术语
术语.定义和缩略术语 box 由唯一类型标识符和长度定义的面向对象的构造块(注:在一些标准称为“atom") chunk(块) 一个track连续采样集合 container box 唯一目 ...
- vs2017的主题颜色的配置
相信很多小伙伴开发的时候很怀念sublime的主题,我也特别的喜欢其中的mono主题,所以闲来无事在vs上调了一下色感觉好看多了.(其实也可以下载主题然后用“导入导出设置但是颜色有点奇葩,还是越简单越 ...
- url 中的转义字符
# 在使用 wireshark 进行抓包的时候,发现url中有一些特殊字符:%20 之类的. # 搜了一下,我理解的是url中会把特殊字符进行编码,规则是 % + 特殊字符的十六进制数: 比如空格的 ...
- 什么?studio3T试用期到了,还没有破解的办法?试制基于python的mongodb CRUD平台
首先,安装python支持的mongodb库pip install pymongo from pymongo import MongoClient client = MongoClient('loca ...
- Dubbo配置文件详解
为新项目练手,把项目中用到的web service.RMI的服务改用Dubbo+Zookeeper+Spring,网上找到几篇不错的配置详解 1.此篇博文主要从以下几种配置方式来讲 XML 配置文件方 ...
- UVA 11178 Morley's Theorem 计算几何模板
题意:训练指南259页 #include <iostream> #include <cstdio> #include <cstring> #include < ...
- 【UOJ #46】 【清华集训2014】玄学
题目描述 巨酱有 n 副耳机,他把它们摆成了一列,并且由 1 到n依次编号.每个耳机有一个玄学值,反映了各自的一些不可名状的独特性能.玄学值都是 0 到 m-1 间的整数.在外界的作用下(包括但不限于 ...
- Apicloud_(项目)网上书城01_前端搭建
[本文皆在记录自己开发Apicloud项目过程,不具备教学水平性文章] 参考书籍<30天App开发从0到1> Apicloud_(项目)网上书城01_前端页面开发 传送门 Apicloud ...
- python学习之路(15)
map/reduce Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on ...