数据库应用之关系代数(relational algebra)
- 关系代数表达式的五个基本算子
1.选择(selection):即选择某些行。代码:select ··· from ··· where。表达式:σ<条件>(<表>)。
2.投影(projection):即选择某些列。代码:select ··· distinct from ··· (distinct有去重的功能)。表达式:Π<属性>(<表>)。
3.叉乘(cross product):笛卡尔积,就像矩阵相乘。表达式:<表>X<表>。
4.做差(set-differences):减去交集。表达式:<表>-<表>。
5.并集(union):将两表合起来,注意去重。表达式:<表>U<表>。
6.更名(rename):将B改名为A。表达式:ρ(A,B). 重要的组合算子
1.交集(intersection)。
2.连接(join):▷◁- 自然连接(natural join):R叉乘S,选择公共属性匹配的记录,投影去除重复的公共属性。
(1)对于多个公共属性的,每个公共属性都要匹配;
(2)对于没有公共属性的,连接相当于叉乘;
(3)对于所有属性都是公共属性的,连接相当于交集。 - 条件连接(conditional join):R叉乘S,根据条件进行选择。
3.除法(division):性质:R ÷ S = q,但是 q X S 只是R的子集。
- 自然连接(natural join):R叉乘S,选择公共属性匹配的记录,投影去除重复的公共属性。
查询优化
先选择数据和投影属性后再进⾏行连接(连接效率⽐比筛选低)关系演算:描述法表示某一集合
**可使用与或非,蕴含,谓词,量词
无限集合会越界,不安全,因此这是不合法的**关系演算与关系代数之间的关系
例题:
数据库应用之关系代数(relational algebra)相关推荐
- 数据库复习2. Relational Algebra 关系代数
Relational Algebra 关系代数 Relational Algebra is the language to describe operations in relational DBMS ...
- 很简单的数据库关系代数介绍(Relational Algebra)
关系代数与sql语句类似,也是一种独立语言: 以下通过一些例子尽量的简单地讲解,只有七个小点,可能15分钟不到就能看完: 使用表如下: 1.选择(select) 选择一些符合条件的行(row),使用符 ...
- 关系代数(Relational Algebra)——极简教程
一切皆是关系. 什么是关系? 事物之间相互作用.相互影响的状态. Relation (philosophy), links between properties of an object. Relat ...
- 数据库知识点4——关系代数中易错题的总结
1. 在关系代数运算中,五种基本运算为:并.差.选择.投影.乘积 2.关系如下图所示,查询既学习课程号为001课程又学习课程号为002号课程的学生的学号, 注:.关系代数操作运用∩符号表达 3. 关系 ...
- mysql查询集合查询之数据库除法、关系代数除法(优化嵌套查询)
1.除法 (1)概述 除法操作一直是关系代数里面比较难理解的一个知识点,下面我将用一个简单的例子先阐述一下他的原理,让大家对他有个初步的认识. (2)引例 S 属性 lesson 属性 nam ...
- 【数据库原理】关系代数
文章目录 简述. 关系代数. 传统的集合运算. 并 Union. 差 Difference. 交 Intersection. 广义笛卡尔积 Extended Cartesian Product. 专门 ...
- 数据库理论:关系代数与 SQL
目录 前言 关系代数 选择语句 投影语句 连接语句 除法(重要⚠) 关系代数例题 SQL 视图 模式匹配 聚合,分组与HAVING 子查询 SQL 例题 前言 关系代数通过符号化的语言,来描述数据库的 ...
- 【数据库】解释关系代数中的象集、除运算
象集:本质上是一次选择行的运算和一次选择列的运算. 求x1在表A中的象集,就是先选出所有x属性中x=x1的那些行,然后选择出不包含x1的那些列. 举个栗子~ 喵喵在表A中的象集为{1,2}: 汪汪在表 ...
- 【数据库概论】关系代数(传统集合运算和专门关系运算)
一.前言 概念:关系代数是一种抽象的查询语言,它用对关系的运算来表达查询. 关系代数的运算按运算符不同可分为传统的集合运算和专门关系运算两类. 如下图 关系代数中的一些符号 二.集合运算符 传统的集合 ...
- sql 最外层传值给最内层查询_腾讯云高级工程师如何玩转PG查询处理与执行器算法...
作者介绍 孙旭,腾讯云高级工程师.10年数据库内核研发经验,熟悉PostgreSQL.Teradata数据库内核,熟悉数据库的查询优化.执行.事务并发以及存储等子系统:对分布式数据库有深入的研究和研发 ...
最新文章
- python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天
- 农行数据中台建设与应用实践
- 杭电1000 A + B Problem
- Hibernate中Entity实体类的写法
- 谁动了我的奶酪?--java实例初始化的顺序问题
- .NET环境下生成JSON的类库 - JSON.NET
- pat 甲级 1010. Radix (25)
- C++---智能指针原理讲解
- Go语言:内存存储模型(对于可执行程序)
- 菜鸟也疯狂,易语言自绘控件__按钮篇,用所有者自绘方式实现
- 服务器间文件拷贝显示busy,网站解决和优化Server is too busy的一些方法
- GalaxyOJ-636 (概率DP)
- 《翻转课堂教学法》实施情况调查结果
- 如何批量将png格式改成jpg?
- ABS210-ASEMI高品质贴片整流桥堆
- 打开Flutter动画的另一种姿势——Flare,android面试题选择题
- LaTeX使用CJK支持中文排版
- Redis服务器集群搭建
- Ⅳ JavaScript函数
- MQTT消息大小流量消耗测试