关系型数据库的历史

简介: 1970年在IBM圣何塞研究实验室工作的牛津大学的数学家 Edgar F. Codd 发表了一篇论文,展示了如何在不知道信息的结构或在数据库中的位置信息的情况下,如何访问存储在大型数据库中的信息。在此之前,检索信息需要相对复杂的计算机知识,甚至是那些知道如何编写程序来获取特定信息的专家的服务——这是一项耗时且昂贵的任务。

1970年在IBM圣何塞研究实验室工作的牛津大学的数学家 Edgar F. Codd 发表了一篇论文,展示了如何在不知道信息的结构或在数据库中的位置信息的情况下,如何访问存储在大型数据库中的信息。
us__en_us__ibm100__relational_database__system_Illustration__620x350
在此之前,检索信息需要相对复杂的计算机知识,甚至是那些知道如何编写程序来获取特定信息的专家的服务——这是一项耗时且昂贵的任务。
数据库被用来一次又一次地检索相同的信息,并且以一种可预测的方式——如制造材料的清单——在当时已经很好地建立起来了。Codd所做的是打开了一个新的数据独立世界的大门。用户不必是专家,也不需要知道信息在哪里,也不需要知道计算机是如何检索到信息的。他们现在可以更专注于自己的业务,更少关注他们的电脑。

Codd称他的论文是“大型共享数据银行的数据关系模型”。计算机科学家称之为“革命性的想法”。
如今,关系数据库的易用性和灵活性使它们成为财务记录、制造和物流信息和人员数据的主要选择。大多数常规的数据交易——使用信用卡、交易股票、进行旅行预订、在线购买——都使用基于关系数据库理论。

Codd的关系模型起初备受争议;人们认为这个模型太过简单,它永远不会有好的表现。
减少输入每个项的次数,这对减少数据输入错误有好处。每个条目只存储一次,所以即使您犯了错误,您也必须只纠正一个条目。
Ray Boyce和我想设计一种查询语言,它具有Ted Codd的关系语言的表达能力,但更容易被那些在集合理论或形式逻辑方面不是专家的用户理解。
关系模型是一种谈论数据的很好的统一方式,允许比较系统、比较算法等等。它还利用了一些优美的数学理论。
数据,而不是程序,是唯一的事情——应用程序是暂时的,除了获取、操作和显示数据之外没有任何价值。数据是唯一有价值的东西。
Codd最大的成就是使数据库管理成为一门科学。他通过提供一个理论框架把领域放在了坚实的科学基础上,关系模型的各种重要的问题可以以科学的方式攻击。

Codd的想法催生了一个新的IBM产品家族,集中在IBM®DB2®数据库管理系统,以及行业标准计算机语言处理关系数据库,称为SQL。
据《纽约时报》的讣告Codd:关系数据专家曾在IBM DB2上成为Codd博士的一个商业伙伴--Chris Date说“…在Codd博士的工作之前电子数据库可以说完全特设和高度混乱,这也成为他进入商业产品的契机。”
与许多革命性的想法一样,关系数据库也不是很容易实现。
到20世纪60年代,世界上大量数据存储在新主机上——其中许多是IBM System/360机器——已经成为一个问题。主机计算很昂贵,通常每分钟花费数百美元。其中很大一部分成本是数据库管理的复杂性。
Codd从他的祖国英格兰来到美国时,他在计算机科学领域获得了博士学位,开始着手解决这个问题。他以一个非常简单的前提开始:他希望能够向计算机询求信息,然后让计算机找出信息存储的位置和方式,以及如何检索信息。
IBM的Don Chamberlin说,Codd的基本思想是“数据项之间的关系应该基于数据项的值,而不是单独指定的链接或嵌套。这个概念大大简化了查询的规范,并允许前所未有的灵活性以新的方式利用现有的数据集”。
未完

参考

http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/reldb/

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
机器学习/深度学习 算法 数据可视化
浅析特征数据离散化的几种方法(上)
什么是离散化? 离散化就是把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:
|
人工智能 机器人 UED
数字人模型网页手机云推流语音交互
随着AI技术的发展,数字人与大型语言模型的结合迎来了新机遇,各类数字人服务不断涌现,应用于多种场景。点量小芹发现许多厂商仍在探索如何优化数字人在移动端的表现。通过云推流实时渲染解决方案。无论是直播中的数字人形象定制,还是网页客服与大屏讲解的应用,只需将数字人模型置于服务器端,借助云渲染技术,用户即可在网页或移动设备上轻松使用高精度的数字人,显著降低硬件需求,提升互动体验。
580 14
|
前端开发 Java 关系型数据库
基于SpringBoot的新闻发布与管理系统的设计与实现_kaic
基于SpringBoot的新闻发布与管理系统的设计与实现_kaic
|
分布式计算 大数据 数据库连接
MaxCompute操作报错合集之遇到报错信息 "SERVER_INTERNAL_ERROR" ,该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
468 6
|
C++
【操作系统】信号量机制(整型信号量、记录型信号量),用信号量实现进程互斥、同步、前驱关系
【操作系统】信号量机制(整型信号量、记录型信号量),用信号量实现进程互斥、同步、前驱关系
1288 6
|
Web App开发 中间件 应用服务中间件
|
安全 Java 物联网
Java在物联网应用中的实际应用
Java在物联网应用中的实际应用
|
监控 Linux 数据处理
探索Linux中的`lsmem`命令:深入了解系统内存布局
`lsmem`是Linux命令,用于显示系统内存布局和大小,帮助管理员和开发者理解内存使用情况。它提供详细输出,包括内存块的大小、范围、类型和关联,支持多种格式展示,如树状图。命令参数如`-h`显示帮助,`-t`以树形展示,`--human-readable`使大小更易读。需root权限运行,常与`free`、`vmstat`等工具结合使用,用于监控和优化内存。注意不同发行版可能存在兼容性差异。
|
机器学习/深度学习 存储 监控
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】