关系代数(Relational Algebra)——极简教程
一切皆是关系。
什么是关系?
- 事物之间相互作用、相互影响的状态。
- Relation (philosophy), links between properties of an object.
- Relation (mathematics), In mathematics, a binary relation is a general concept that defines some relation between the elements of two sets. It is a generalization of the more commonly understood idea of a mathematical function.
![](/assets/blank.gif)
那么,关系数据库中的“关系”,到底是什么?
关系代数
![](/assets/blank.gif)
关系代数是过程查询语言,它以关系为输入,生成关系为输出。关系代数主要为关系数据库和SQL提供理论基础。其中,
R*表示一个关系。输入关系,输出关系。
函数 f 表示关系算子。关系算子就是从关系到关系的映射。
关系运算中,支持的算子有:f = Cartesian product(×)、Projection (Π)、Selection (σ)、Rename (ρ)、join (⋈) 、Division (÷)等。
![](/assets/blank.gif)
在关系数据库理论中,最初由EF Codd定义的关系是:
关系 = 一组元组 Tuple (d 1 , d 2 , ..., d n )
其中,每个元素 d j是 D j的成员,D 是一个数据域。
元组中每个元素都被称为一个属性值(列值)。
一个属性是与域配对的名称(现在通常称为类型或数据类型)。
![](/assets/blank.gif)
https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
![](/assets/blank.gif)
在关系数据库的数据库语言SQL中,关系由表表示,其中表的每一行表示一个元组,每个属性的值形成一列。
Relation=Table, Tuple=Row, Attribute = Column
![](/assets/blank.gif)
关系模型理论
First introduced by Ted Codd(1970), “关系数据库之父”。
Terminologies:
a. Relation
b. Tuple
c. Attributes
d. Domain
e. Relation Schema
f. Degree (or arity) of a relation
g. Cardinality
h. Relational Database Schema
i. Relational database state (or relation instance)
![](/assets/blank.gif)
1923年8月23日,Codd生于英格兰多塞特郡的波特兰。在牛津学习数学与化学后, 他作为一名英国皇家空军的飞行员参加了第二次世界大战。
1948年(25岁),他来到纽约面试IBM,成为一名程序员。
1965年(42岁),获得密歇根大学计算机科学博士学位。
1967年(44岁),回到IBM上班。
1981年(58岁),科德因在关系型数据库方面的贡献获得了图灵奖。
2003年4月18日,科德在家中死于心力衰竭,享年 79 岁。
参考资料
ClickHouse高级数据查询SQL: WITH/JOIN/IN/INTO OUTFILE/嵌套子查询/交并差计算等:https://mp.weixin.qq.com/s?__biz=MzA5OTI2MTE3NA==&mid=2658341869&idx=1&sn=95d9c41e186667ff6276822f7f2e3553&scene=58&subscene=0
ClickHouse 使用EXPLAIN 分析 SQL 执行计划:https://mp.weixin.qq.com/s?__biz=MzA5OTI2MTE3NA==&mid=2658341869&idx=2&sn=dba0c8b7631cf772c4d0868f7585d003&scene=58&subscene=0
关系代数(Relational Algebra)——极简教程相关推荐
- 【抽象代数】第一章 代数系统《抽象代数极简教程》/ By 禅与计算机程序设计艺术ChatGPT
<抽象代数极简教程> 文章目录 <抽象代数极简教程> 第一章 代数系统 1.1 集合的基本概念 1.2 二元运算 1.3 代数系统的定义 什么是代数? 抽象代数和初等代数有什么 ...
- 《Kotin 极简教程》第8章 函数式编程(FP)(1)
第8章 函数式编程(FP) <Kotlin极简教程>正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者,大家请多支持!!!有任 ...
- ClickHouse SQL 语法极简教程
ClickHouse SQL 语法极简教程 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). 在传统的行式数据库系统中,数据按如下顺序存储: Row WatchID ...
- 《Kotlin极简教程》第三章 Kotlin基本数据类型
正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item ...
- 负载分析及问题排查极简教程
作者 | Hollis ,来自 | Hollis 平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load.cpu.mem.qps.rt等.每个指标都有其独特的意义,很多时候在线上出现问题时 ...
- 高效sql性能优化极简教程
一,sql性能优化基础方法论 对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的 ...
- session一致性架构设计极简教程
一,缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文. Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建se ...
- 写一个操作系统有多难?自制 os 极简教程
不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了满足程序员们自带的成就感,还是为 ...
- 《Groovy极简教程》第12章 Groovy的JSON包
<Groovy极简教程>第12章 Groovy的JSON包 Groovy自带了转换JSON的功能,相关类都在groovy.json包下.本文参考自Groovy文档 Parsing and ...
- Kotlin极简教程
目录 Kotlin极简教程 前言 视频教程 Kotlin 系统入门到进阶 Kotlin 从入门到放弃 Kotlin 从零基础到进阶 第1章 Kotlin简介 第2章 快速开始:HelloWorld 第 ...
最新文章
- [杂谈]杂谈章2 eclipse没有(添加)“Dynamic Web Project”
- yii2.0框架中自定义接口,实现类的多继承
- 20201205 旋转矩阵导数的推导过程
- jquery mobile资源
- [MFC]设置文件夹目录时遇到的问题
- Java 算法 寂寞的数
- jenkins手把手教你从入门到放弃03-安装Jenkins时web界面出现该jenkins实例似乎已离线
- PHP 微信小程序支付实现
- VirtualBox搭建OpenWrt软路由
- angular $element.html 数据展示不出来,element-ui Table 组件循环列表数据不显示?
- 7-33 电话聊天狂人 (25 分)(map水题)
- AS 编写 Xposed 插件需要修改的地方
- Neo4j之Cypher概述
- python水果超市管理系统_项目1-水果超市管理系统-学生
- 模拟高校的三个老师同时分发80份学习笔记
- java三种循环的流程图画法总结(for,while,do-while循环)
- python数据库mysql_python数据库-MySQL与python的交互(52)
- 三大运营商的号段汇总
- 单板计算机系统备份,最强单板计算机UP Board之Windows10完全版、Ubuntu、Andriod系统体验...
- 2012搜狗校园招聘笔试题(1)
热门文章
- SGD,Adam,momentum等优化算法比较
- mysql中nullify_Core Data 数据库 No Action ,Nullify , Cascade , Deny 用法
- 验证码captcha
- ZFS - vdev label 的加载与同步
- 监控宝 安装使用指南
- Python爬虫从入门到精通:(42)JS逆向-闭包:凡科网逆向分析_Python涛哥
- 红帽子(Red hat)公司如何在开源linux软件下盈利?
- bugfree安装中mysql未安装,BugFree怎么安装使用,BugFree安装使用教程
- python如何做四象图_Python使用四个坐标点来剪切图像目标区域的最小外接矩形,python,利用,对,图片,进行,裁剪...
- 桌上型 桌面计算机,桌上型迷你CNC工具机 桌面级数控机床