跳到主要内容

SQL 语言简史

让我们把目光拉回到20世纪,在当时,伴随着计算机科学的不断发展,与硬件条件的日益完善,为解决数据存储需求而构建的数据库管理软件,逐渐走进千行百业,为其赋能。

然而,伴随着工程实践的推进,当时数据库管理系统所依托的数据模型,即网状模型与树状模型,在存储规模日益庞大,格式日益复杂的数据时,暴露出了灵活程度不够,适应范围过窄的问题,有鉴于此,当时的IBM研究员,Edgar F.Codd 在经过一系列调查研究之后,发表文章《A Relational Model of Data for Large Shared Data Banks》,提出一种新的数据模型,即关系型数据模型,引发了业界的关注。

为了验证这一模型的正确性,以 System R 为代表的一系列工程项目随即实施,从中也诞生了许多如今数据库科学领域的重要成果(如“查询优化器”),而伴随着理论与工程的不断完善,将何种编程语言作为数据库管理系统的桥梁语言,自然而然也成为了业界所关注的问题,回顾当时的实践,大体可以分为如下的两条。

  • 第一条,以Ingres为代表,采用Quel作为查询用的接口语言
  • 第二条,以System R, DB2, Oracle等为代表,采用Sequal作为查询用的接口语言

两条路线的争议,持续了二十多年,而到了后面,伴随着SQL语言的更名(在1980年,Sequal语言更名为SQL);SQL正式成为数据库领域的通行标准(1986年,美国国家标准局(ANSI)将SQL选择为美国国内的数据库领域标准,1987年,国际标准化组织(ISO)将SQL选择为国际的数据库领域标准);以及PostgreSQL项目的诞生(PostgreSQL是Ingres项目转向Postgres后,将自身查询语言从Quel替换为SQL的结果,标志着第一条技术路线的正式放弃),争议划上了句号,SQL 成为了赢家。

展望未来

软件领域的标准,总是伴随着硬件的不断演进与新需求的不断涌现而被提出、被调整或是被抛弃,而在数据库领域,伴随着当今计算成本的不断下降,“NoSQL”运动,“大数据”(Big Data)的兴起,以及一系列新的数据库的提出,SQL 也逐渐结束了其“一统天下”的时代(2024年4月,图数据存储语言 GQL 正式成为标准,结束了 SQL 作为数据库领域存储语言唯一通行标准的年代),开始再次成为许多条路中可选的一条,但是我们相信,有着多年可靠服务经验的 SQL,依旧能够在未来的数据库世界之中,占据一席之地,继续为数据的存储与管理做出应有的贡献。