一切皆是关系。

什么是关系?

  • 事物之间相互作用、相互影响的状态。
  • 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.

那么,关系数据库中的“关系”,到底是什么?

关系代数

关系代数是过程查询语言,它以关系为输入,生成关系为输出。关系代数主要为关系数据库和SQL提供理论基础。其中,
R*表示一个关系。输入关系,输出关系。
函数 f 表示关系算子。关系算子就是从关系到关系的映射。
关系运算中,支持的算子有:f = Cartesian product(×)、Projection (Π)、Selection (σ)、Rename (ρ)、join (⋈) 、Division (÷)等。

在关系数据库理论中,最初由EF Codd定义的关系是:

关系 = 一组元组 Tuple (d 1 , d 2 , ..., d n )

其中,每个元素 d j是 D j的成员,D 是一个数据域。
元组中每个元素都被称为一个属性值(列值)。
一个属性是与域配对的名称(现在通常称为类型或数据类型)。

https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf

在关系数据库的数据库语言SQL中,关系由表表示,其中表的每一行表示一个元组,每个属性的值形成一列。

Relation=Table, Tuple=Row, Attribute = Column

关系模型理论

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)

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)——极简教程相关推荐

  1. 【抽象代数】第一章 代数系统《抽象代数极简教程》/ By 禅与计算机程序设计艺术ChatGPT

    <抽象代数极简教程> 文章目录 <抽象代数极简教程> 第一章 代数系统 1.1 集合的基本概念 1.2 二元运算 1.3 代数系统的定义 什么是代数? 抽象代数和初等代数有什么 ...

  2. 《Kotin 极简教程》第8章 函数式编程(FP)(1)

    第8章 函数式编程(FP) <Kotlin极简教程>正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者,大家请多支持!!!有任 ...

  3. ClickHouse SQL 语法极简教程

    ClickHouse SQL 语法极简教程 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). 在传统的行式数据库系统中,数据按如下顺序存储: Row WatchID ...

  4. 《Kotlin极简教程》第三章 Kotlin基本数据类型

    正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item ...

  5. 负载分析及问题排查极简教程

    作者 | Hollis ,来自 | Hollis 平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load.cpu.mem.qps.rt等.每个指标都有其独特的意义,很多时候在线上出现问题时 ...

  6. 高效sql性能优化极简教程

    一,sql性能优化基础方法论 对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的 ...

  7. session一致性架构设计极简教程

    一,缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文. Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建se ...

  8. 写一个操作系统有多难?自制 os 极简教程

    不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了满足程序员们自带的成就感,还是为 ...

  9. 《Groovy极简教程》第12章 Groovy的JSON包

    <Groovy极简教程>第12章 Groovy的JSON包 Groovy自带了转换JSON的功能,相关类都在groovy.json包下.本文参考自Groovy文档 Parsing and ...

  10. Kotlin极简教程

    目录 Kotlin极简教程 前言 视频教程 Kotlin 系统入门到进阶 Kotlin 从入门到放弃 Kotlin 从零基础到进阶 第1章 Kotlin简介 第2章 快速开始:HelloWorld 第 ...

最新文章

  1. [杂谈]杂谈章2 eclipse没有(添加)“Dynamic Web Project”
  2. yii2.0框架中自定义接口,实现类的多继承
  3. 20201205 旋转矩阵导数的推导过程
  4. jquery mobile资源
  5. [MFC]设置文件夹目录时遇到的问题
  6. Java 算法 寂寞的数
  7. jenkins手把手教你从入门到放弃03-安装Jenkins时web界面出现该jenkins实例似乎已离线
  8. PHP 微信小程序支付实现
  9. VirtualBox搭建OpenWrt软路由
  10. angular $element.html 数据展示不出来,element-ui Table 组件循环列表数据不显示?
  11. 7-33 电话聊天狂人 (25 分)(map水题)
  12. AS 编写 Xposed 插件需要修改的地方
  13. Neo4j之Cypher概述
  14. python水果超市管理系统_项目1-水果超市管理系统-学生
  15. 模拟高校的三个老师同时分发80份学习笔记
  16. java三种循环的流程图画法总结(for,while,do-while循环)
  17. python数据库mysql_python数据库-MySQL与python的交互(52)
  18. 三大运营商的号段汇总
  19. 单板计算机系统备份,最强单板计算机UP Board之Windows10完全版、Ubuntu、Andriod系统体验...
  20. 2012搜狗校园招聘笔试题(1)

热门文章

  1. SGD,Adam,momentum等优化算法比较
  2. mysql中nullify_Core Data 数据库 No Action ,Nullify , Cascade , Deny 用法
  3. 验证码captcha
  4. ZFS - vdev label 的加载与同步
  5. 监控宝 安装使用指南
  6. Python爬虫从入门到精通:(42)JS逆向-闭包:凡科网逆向分析_Python涛哥
  7. 红帽子(Red hat)公司如何在开源linux软件下盈利?
  8. bugfree安装中mysql未安装,BugFree怎么安装使用,BugFree安装使用教程
  9. python如何做四象图_Python使用四个坐标点来剪切图像目标区域的最小外接矩形,python,利用,对,图片,进行,裁剪...
  10. 桌上型 桌面计算机,桌上型迷你CNC工具机 桌面级数控机床