一、国外数据库标准化背景

在E.F.CODD定义了关系型数据库的特征后,人们纷纷以当时先进的软硬件技术开始研发基于计算机的数据库软件,其中IBM公司作为早期的研发主力,除了开发出了第一款关系型数据库原型软件System R外,还定义了针对该软件的“结构化的英文查询语言(Structured English Query Language)”即SEQUEL(1973),后续改名为SQL。在后来的近10年间,IBM并未在关系型数据库中投入过多精力,直到1970年末期。“关系软件公司(Relational Software, Inc.)”,即后来的Oracle公司,开发出了一款基于SQL语言的关系型数据库软件,并转售给了美国军队,后又在1979年基于VAX计算机开发出了商业版的Oracle v2.0并大获成功,开启了关系型数据库的商业化时代。此时,IBM才开始研发基于System R的SQL/DS、DB2等关系型数据库软件,并与Oracle同台竞争。不过,无论是Oracle还是IBM都基于SQL语言来操作各自研发的数据库,这也为后面SQL语言的标准化奠定了良好的基础。

二、国外数据库标准化依据

从国外的数据库演进路线可以看出,各家数据库企业研发出的关系型数据库产品已经从事实上遵从了《A Relational Model of Data for Large Shared Data Banks》中提出的关系型数据库12条准则,包括信息准则、保证访问准则、统一的数据子语言、数据的物理独立性、数据逻辑独立性、数据完整的独立性、分布独立性等。其中“统一的数据子语言”准则的具体含义是:一个关系数据库管理系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则。这条准则就提供了让数据库的查询语言标准化的前提-通用性和重复性。

三、国外数据库标准化体系

经过近10年的商业化实践,数据库的架构、实现在不停演进,但是SQL语言则被固定了下来,于1986年被ANSI组织采纳并作为通用标准,命名为SQL-86。次年,ISO组织将其列为国际标准并囊括在ISO/IEC JTC 1的信息技术版块中,取标准号为ISO/IEC 9075。自此,SQL语言正式被列为数据库的国际标准。

具体来看,SQL语言历经了SQL-86、SQL-89、SQL-92、SQL:1999、SQL:2003、SQL:2006、SQL:2008、SQL:2011、SQL:2016等版本的迭代。从SQL-86的单独标准扩充到SQL:2016的9个系列标准,SQL语言在不断完善中,下图列出了截止2022年12月份,首次出现的SQL系列标准的时间和版本: