27岁发明SQL以后,上帝把他带走了

数据库领域的四位图灵奖得主 数据库领域的四位图灵奖得主 1, Charles W. Bachman(查尔斯 • 巴赫曼) 1973 主持设计与开发了最早的网状数据库管理系统IDS 巴赫曼在数据库方面的主要贡献有两项,第一就是在通用电气公司任程序设计部门经理期间,主持设计与开发了最早的网状数据库管理系统IDS。IDS于1964年推出以后,成为最受欢迎的数据库产品之一,而且它的设计思想和实现技术被后来的许多数据库产品所仿... 阅读详情

1974年,图灵奖获得者查尔斯·巴赫曼参加一次数据库会议,遇到了埃德加·科德。

科德还没有图灵奖加身,但其关系数据库却如同一轮红日从东方升起,图灵奖是早晚的事儿。

一位是网状数据库的领袖,另外一位是关系数据库的旗手, 两位大宗师展开了一场火星撞地球般的论战。


对于现在的程序员来说,MySQL,Oracle等关系数据库是司空见惯的事情。

在数据库的课本上,几乎通篇介绍关系数据库, 层次数据库和网状数据库仅仅是作为数据库历史的一个小小的点缀。

但是在70年代,新生的关系数据库却饱受质疑。

因为当时大家都认为,程序员应该是数据结构的导航者, 程序员能在网状数据库中记住每条记录和其他记录之间的关系,然后通过“指针”在各条记录之间导航访问。

科德的想法完全不同:程序员不应该接触底层的物理结构。

应该有个更高层的、声明式的语言来访问数据,完全和数据库的底层数据存储方式隔离。

用声明式的语言来描述查询,那数据库能不能“聪明地”把它转化成底层的物理查询呢?

要知道,高级语言(如Fortran)的编译器,可是费了很大的劲才被开发出来。

1972年,IBM招兵买马,决定攻下这座山头。

IBM以科德所在的加州圣何塞研究院为中心,开发一套关系数据库的原型产品。

加入这个原型项目的有两个年轻的博士生,他们两个一起将会做出一个名垂青史的伟大贡献。

张伯伦和博伊斯都非常认可科德的关系模型。

觉得这个想法既简单又优美,只有一个缺点:太数学化了!

基于关系模型,科德提出的查询方案更加让人生畏。

张伯伦和博伊斯决定把数学部分给隐藏起来。

他们把关系称为表,然后把复杂的数学符号替换成简单的英语SELECT FROM WHERE, 这样普通人都能理解。

最终,晦涩的关系代数和关系演算变成了非专业人士都能理解的英语。

他俩把这门语言叫做  SEQUEL:Structured English Query Language ,既结构化的英语查询语言。

后来,由于SEQUEL已经是一家英国公司的商标,两人灵机一动,改名为更简单,更容易记忆的SQL

在当时,IBM还没有把SEQUL给产品化的想法,于是允许张伯伦和博伊斯把论文在一个技术会议上发表。

他们俩通过掷硬币的方式来确定谁去宣读论文,最后博伊斯赢了。

但不幸的是,会议之后仅仅一个月, 博伊斯便因为脑瘤去世,年仅27岁。

博伊斯的贡献还不仅仅是SQL,他和科德合作,建立了一个数据库课本上必讲的概念:BCNF范式。

痛失挚友的张伯伦继续前行,完成博伊斯的遗志。

他被任命为System R的技术经理,在System R中实现SQL, 同时用来证明关系数据库的能力:能不能胜任商业的事务处理。

于此同时,为了同一个目的, UC Berkeley也在开发一个叫做Ingres的关系数据库, 不过他们提出了一套自己的查询语言:QUEL

到了80年代, 计算机的价格持续下降,终于到了一个临界点:大量的公司都可以购买计算机和软件,把他们的纸质表格放到计算机中存储。

对数据库的需求开始激增, 由于“表”非常容易理解,开发基于关系数据库的程序变得简单,System R 和 Ingres 都获得了成功, 但是SQL和QUEL到底谁能一统江湖呢?

这时候,在科德所在的城市圣何塞,一个叫Larry的年轻人改变了天平的平衡。

Larry 立刻和他两个朋友一起成立了一个小公司,开发基于VAX小型机的关系数据库。

深受张伯伦和博伊斯论文影响的他自然选择了SQL。

1979年,Oracle正式问世,Larry凭借“关系”,成功地把数据库卖给了多个美国政府部门。

Oracle 在美国政府中的应用非常成功,以至于美国政府发布了一个联邦信息处理标准,指定在联邦数据库中要使用SQL,而不是别的查询语言!

你绝对想不到吧,现在恶名累累的Oracle居然对SQL的普及做过重大的贡献。

很快,SQL被ANSI, ISO等重磅机构采纳为正式标准。

得到官方认证的SQL击败了QUEL,成为了最终的胜利者。

到了90年代,连Ingres自己也放弃了QUEL ,开始拥抱SQL。

关系数据和SQL在八九十年代横扫市场,占据了主流。

科德于1983年获得图灵奖。张伯伦于1988年获得ACM 软件系统奖。

90年代后期,一个新的数据格式出现了:XML

XML非常火热,大家恨不得什么都要和XML扯上关系。

这种数据格式和关系数据库大相径庭,它也面对这样一个问题,如何从中进行查询。

张伯伦发挥自己的专长,为它定义了一套新的查询语言 XQuery。

但是时间证明,XML并没有成为广泛使用的数据存储格式, 所以XQuery也就没有像SQL那样被广泛使用。

SQL经过多年的发展,产生了广泛的影响力,成功地占据了广大程序员的心智。

很多产品为了降低学习成本,虽然底层不是关系数据库,也努力向SQL靠近,尤其是SELECT、FROM 、 WHERE、Order By、Group等核心概念。

SQL成了数据查询的王者。 

直到有一天,有个叫NoSQL的家伙带着一帮小弟出现了。

NoSQL将会在下周和朋友们见面,敬请期待!

【编程语言发展史】SQL的发展历史 SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。 阅读详情

相关推荐

27.1.1.3 Spark SQL 中ANTLR4的应用

27.1.1.3 Spark SQL 中ANTLR4的应用ANTLR是一个强大的解析器生成器,可用于读取,处理,执行或翻译结构化文本或二进制文件。它广泛应用于学术界和工业界,建立各种语言,工具和框架。例如:Twitter搜索使用ANTLR进行查询解析,每天有超过2亿次查询。Hive和Pig语言,Hadoop的数据仓库和分析系统都使用ANTLR。Lex Machina使用ANTLR从法律文本中提取信

大模型与Agent智能体 6758

SQL 的历史

1970年,SQL由IBM的Donald D. Chamberlin和Raymond F. Boyce开发。 1974年,开发版本最初被称为SEQUEL(结构化英语查询语言)。 1979年,关系软件发布了第一个叫做System / R的商业产品。 由于商标冲突问题,SEQUEL首字母缩略词后来更改为SQL。 后来IBM基于System / R的原型开始在SQL上开发商业产品。 第一个关系数据库由RelationalSoftware发布,后来被称为Oracle。 ...

BUITEKI 2057

27、SQL:从发明到广泛应用的历程

本文详细回顾了SQL从20世纪70年代起源到广泛应用的发展历程。文章探讨了SQL的设计背景、目标及其在数据库领域的核心作用,包括其声明式语言特性、视图、并发访问处理等关键设计决策。同时,还总结了SQL标准化过程、语言设计原则及其对未来数据库技术发展的影响。文章旨在为计算机语言开发者提供关于SQL设计理念与实践的深度洞察。

rum55的博客 81

SQL的历史起源

 在20世纪60年代,网状数据库系统(如CODASYL)和分层数据库系统(如IMS TM)是用于自动化银行业务、记帐和订单处理系统的一流技术,这些系统是由于商业大型计算机的引入才启用的。而SQL是在70年代创建的一种基于关系数据库管理系统(Relational Database Management System,RDBMS)模型的数据查询、操作语言。1.1 CODASYLCODASY

张洪举 1万+

ASP+SQL旅游管理系统毕业设计:从环境搭建到答辩完整指南

数据库技术是信息系统开发的核心基础,理解经典架构对初学者尤为重要。ASP作为早期Web开发技术,配合SQL Server数据库,能够以轻量级方式实现完整的数据管理流程。其核心原理是利用ADODB组件建立连接,通过VBScript处理业务逻辑,并借助IIS发布服务。这种组合代码量少、查错成本低,尤其适合课程设计与毕业设计等教学场景。旅游管理系统正是典型应用案例,涵盖景点展示、线路规划、订单处理等模块,能够系统训练数据库设计、前后端交互和状态管理能力。从环境搭建、数据库建模到论文撰写与答辩准备,该方案提供了一站

weixin_30402231的博客 233

OpenDRIVE车道计算避坑指南:为什么你的poly3曲线总对不齐?

本文深入解析OpenDRIVE标准中车道几何计算的三大核心难题:参数化三次多项式(ParamPoly3)的坐标系转换与参数映射、车道偏移与宽度的优先级判定,以及螺旋线(Spiral)接续的平滑性保障。通过实战案例与代码示例,提供了一套避免车道线错位与曲率不连续的精确计算与验证方法,是高精地图开发与仿真场景构建的实用避坑指南。

q9w8e7r6t5的博客 424

Sql的发展史

如今,世界上90%的商业数据储存在关系数据库中,而钱柏林的SQL语言是占据主导地位的数据库语言。“钱柏林绝对是个优秀的程序员,他知道怎样将这些想法变成现实”,吉姆·格雷评论说:“所有这些对钱柏林来说是显而易见的,直到他把这些展示给我们看的时候,我们才明白过来。由于使用了人们熟悉的术语,关注人类的提问形式,而非徘徊在计算机底层的数位,SQL语言极大地简化了建立数据库应用程序的过程。就像上面说的,在支持文档和社区非常发达的情况下,加之简易性,SQL已经成为了开发者和与他们共事的人们中一个通用的基础知识。

qq_60977486的博客 2181

threejs开发可视化数字城市效果

theme: condensed-night-purple 灵感图 现在随着城市的发展,越来越多的智慧摄像头,都被互联网公司布到城市的各个角落,举一个例子,一个大楼上上下下都被布置了智能摄像头,用于监控火势,人员进出,工装工牌佩戴等监控,这时候为了美化项目,大公司都会将城市的区域作为对象,进行3d可视化交互,接下来的内容,就是基于以上元素,开发的一款城市数据可视化的demo,包含楼宇特...

weixin_41770018的博客 1580

漫画 | 27岁发明SQL以后,上帝把他带走了

1974年,图灵奖获得者查尔斯·巴赫曼参加一次数据库会议,遇到了埃德加·科德。科德还没有图灵奖加身,但其关系数据库却如同一轮红日从东方升起,图灵奖是早晚的事儿。一位是网状数据库的领袖,另外一位是关系数据库的旗手, 两位大宗师展开了一场火星撞地球般的论战。对于现在的程序员来说,MySQL,Oracle等关系数据库是司空见惯的事情。在数据库的课本上,几乎通篇介绍关系数据库, 层次数据库和网状数据库仅仅...

码农翻身 801

200_matlab处理NCEP数据并画全球彩色的风场图

200_matlab处理NCEP数据并画全球彩色的风场图。

miaobo0的博客 1240

UniApp实战:5分钟搞定后台持续定位与轨迹实时更新(附完整代码)

本文详细介绍了在UniApp中实现后台持续定位与动态轨迹地图系统的完整方案。针对物流配送、运动健身等场景,文章深入讲解了权限申请、坐标系选择、定位防抖优化、地图轨迹线(polyline)实时绘制等核心步骤,并提供了可复用的完整代码,帮助开发者高效解决App切后台定位停止、轨迹漂移等常见难题。

weixin_29266679的博客 483

Go周刊2026W26 | TypeScript 7.0 RC发布、Delve 1.27发布、Go 1.27拟废弃GODEBUG、锁分片8倍加速、cockroachdb/errors 1.14.0

本周Go生态多点开花:TypeScript 7.0 RC将编译器移植到Go实现10倍加速,Go 1.27拟引入GODEBUG废弃策略,Delve 1.27改进帧指针展开和arm64支持。性能方面,锁分片技术使并发缓存提升8倍,GODEBUG技术债问题引发讨论。

业精于勤荒于嬉,行成于思毁于随 369

MS1030超声波流量计电路实战:如何用15ps精度优化水表设计(附配置代码)

本文深入探讨了如何利用MS1030超声波流量计芯片实现15ps高精度测量,以优化水表设计。文章从系统误差分配出发,详细解析了硬件电路设计要点、SPI通信配置及核心优化技巧,如利用可编程偏置电压和8回波累加功能来提升抗干扰能力与测量稳定性,并附有实用的配置代码示例。

svm4gardener的博客 334

27B小模型MCP测评力压284B:本地AI工具调用的崛起

大模型工具调用能力是智能体(Agent)落地应用的关键,而MCP(模型上下文协议)作为标准化接口,正重塑AI与外部工具交互的方式。信通院MCP专项测评显示,27B参数的StartLux本地模型在工具调用准确率、稳定性上超越284B云端大模型,凸显在MCP场景下参数规模并非决定性因素,指令遵循与结构化输出能力更为重要。这一结果验证了本地化部署小模型在低延迟、数据隐私和成本控制方面的独特优势,尤其适合金融、医疗等敏感领域的自动化工作流。本文从MCP协议原理讲起,结合信通院测评实际案例,详细讲解如何通过vLLM、

weixin_29051811的博客 84

WindowsServer2022蓝牙音频开启方法

为Windowsserver 2022 添加蓝牙音频驱动的方法和工具

thebestismin的专栏 2705

【DL经典回顾】距离度量大汇总(7-余弦距离(Cosine Distance))

余弦距离(Cosine Distance)衡量的是两个向量在方向上的差异性,而不是在大小上的差异。

悦学共鸣,温柔以待,汇聚光芒,共同成长 2579

学习笔记之编程之魂(与27位编程语言创始人对话)

Masterminds of Programming 编程之魂(与27位编程语言创始人对话) Federico Biancuzzi/Shane Warden 内容简介 本书是27位杰出的设计师与你分享他们的智慧和经验。书中以问答方式告诉为什么要创建某种编程语言、它在技术上如何开发、如何教授和学习,以及它如何顺应时代发展等。你会发现构建成功编程语言所需的思想和步骤,它广受欢迎的原因,以及如...

weixin_33716557的博客 178

caverdock如何使用,一文给你多方案教学!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1388

2018-1-27工作周总结

2018-1-27 本周工作总结: 本周主要做ETL数据的特征提取,根据数据,凭借自己直觉以及对数据本身的定性的了解,主观设定一些特征项目,并进行实现;实现的大致流程:对每一个表中的特征进行分类定义:布尔型以及数值型(频率型),统一它们的变量名称,在此基础上,利用sql语句进行提取,本周学到的比较有特色的一个sql语句:即求不同企业的三年内发明专利个数:在表里面有可能存在相同的行,因此需要去重

sinat_26566137的博客 791

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

记忆系统与持续学习——Agent 的 NL→SQL 记忆循环

从"每次从零开始"到"越用越准":WrenAI 记忆系统的源码级拆解。

sikh_0529的博客 441

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

大模型评分标准生成能力为何比人类低27%?RubricBench揭示对齐新瓶颈

评分标准(Rubric)是大模型评估与对齐的核心基础设施,其本质是将模糊用户指令转化为可验证的原子化规则。这一过程依赖模型对任务意图的深度理解、抽象建模与元认知能力,而非简单推理或语言生成。当前主流大模型在Rubric生成上普遍存在系统性缺陷,典型表现为‘注意力错位’——过度关注格式、长度等表面线索,却忽略指令中的逻辑矛盾、隐式约束与价值前提。RubricBench通过1147份专家级黄金Rubric,首次量化出高达27%的‘Rubric Gap’,证实模型在‘出题能力’上的断层已成为RLHF、DPO等对齐

weixin_30420305的博客 422

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

卖了几年的 BI 模块突然免费:24 种图表,一条 SQL 一张图

在你现有的 Spring Boot 工程里,用 SQL 定义报表和图表,零前端代码。它不是一个独立部署的 BI 平台。它是一个 Maven 依赖:</</</</引进去,启动,后台侧边栏自动多出一个「报表管理」根菜单,下面挂好 7 个子菜单:数据源管理、报表处理类、组件模板、参照维度、函数管理、分组管理、报表配置。不用改一行代码,不用建一张表,不用配一个 bean。图表引擎是G2Plot,24 种图表类型。开源一个卖过钱的模块,是个不太容易的决定。对作者来说,它意味着一条收入线没了;

weixin_43963725的博客 172

第06章_多表查询

SQL 92语法和 SQL 99语法都是支持内连接和外连接的操作– MySQL 不支持SQL 92语法,支持SQL 99语法,支持SQL 99语法中的左外连接、右外连接、满外连接(FULL OUTER JOIN)– 左外连接是查到所有左边数据,右外连接查到所有右边数据,内连接查所有相同数据。

Dragon的博客 403

SQL电子表格:用窗口函数和CTE重建Excel核心能力

电子表格是数据分析最基础的交互范式,其行列交叉计算、多级汇总、条件标记、动态分组与版本快照等能力,本质上是面向业务人员的数据表达语言。传统SQL虽具备强一致性与可审计性,却缺乏直观的二维建模语义;而Excel虽灵活易用,却难以沉淀逻辑、保障复现与支持协作治理。本文聚焦‘SQL电子表格’这一工程实践范式,基于窗口函数实现相对引用与动态阈值,依托CTE构建分层可读模型,结合JSON/STRING_AGG处理多值结构,并通过GROUPING SETS与SCD Type 2支撑多维汇总与变更追踪——让SQL代码本身

weixin_30697239的博客 429

Understand Anything 全文件类型支持设计:把 Dockerfile、SQL、K8s 清单与文档纳入知识图谱

本文基于仓库中已批准的设计文档 [2026-03-28-understand-anything-extension-design.md](https://link.gitcode.com/i/ae876efcef69a3df327ea281ea483837),系统讲解 Understand Anything 如何将分析能力从纯代码扩展到任意文件类型:26 种新文件类别、8 种新节点类型与 8 种新

gitblog_00302的博客 933
上一篇: 漫画 | 历经40年,分布式通信太难了!
下一篇: 内卷机器下的自我救赎
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值