过去十年,数据库专业人员主要依赖关系型数据库系统(RDBMS,Relational Database Systems),同时SQL作为所有数据库都支持的统一标准也被广泛使用。
二、SQL的全称与在关系型数据库中的作用
- SQL的全称:SQL是**结构化查询语言(Structured Query Language)**的简称。
- 在关系型数据库中的作用:
- SQL是关系数据库的工业标准语言,当前几乎所有的关系数据库管理系统都支持SQL语言。
- 它是集数据定义、数据操纵、数据查询和数据控制于一体的综合语言,覆盖了数据库生命周期中的全部活动:
- 数据定义:用于定义、修改和删除数据库中的对象(比如表),对应关键词
CREATE、ALTER、DROP; - 数据操纵:用于增加、修改和删除数据库中的数据,对应关键词
INSERT、UPDATE、DELETE; - 数据查询:用于获取数据库中满足条件的数据,核心关键词为
SELECT; - 数据控制:用于控制用户对数据库对象的访问权限,对应关键词
GRANT、REVOKE。
- 数据定义:用于定义、修改和删除数据库中的对象(比如表),对应关键词
- SQL具有高度非过程化的特点,用户仅需要说明想要做什么,不需要指定具体执行步骤,既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中使用。
三、关系模型的提出者与时间
关系模型是由IBM公司的研究员E.F.Codd(埃德加·弗兰克·科德)在1970年提出的。他发表了题为《大型共享数据库的关系模型》的论文,开创了数据库关系方法和关系数据理论的研究,为关系数据库的发展奠定了理论基础,也因此在1981年获得了ACM图灵奖。
四、关系型数据库和SQL的关联关系
- 底层基础支撑:SQL是建立在关系模型基础之上的标准数据库语言,它的设计和能力完全适配关系模型的逻辑结构、操作体系和约束规则。
- 功能实现载体:关系型数据库的各类操作,包括对二维表的增删改查、完整性约束执行、权限管理等,都通过SQL语言来实现,是用户和关系型数据库交互的核心接口。
- 生态绑定关系:当前所有主流关系型数据库(比如Oracle、MySQL、SQL Server、DB2等)都支持SQL标准,学习SQL即可操作绝大多数关系型数据库,降低了关系型数据库的学习和使用成本。
五、E.F.Codd 1970年提出关系模型的相关背景
- 前代数据库的局限性:在关系模型出现之前,主流的第一代数据库是层次数据库和网状数据库,这两类数据库使用复杂的数据结构和操作逻辑,要求使用人员具备较高的技术水平,易用性差,且缺乏坚实的数学理论支撑。
- 提出过程:E.F.Codd在1970年的《Communication of the ACM》期刊上发表《A Relational Model of Data for Large Shared Data Banks》论文,首次提出关系模型的概念,创新性地使用简单清晰的二维表作为核心数据结构,引入集合论、关系代数等作为理论基础,为关系数据库构建了完整的数学理论框架。
- 后续发展与落地:关系模型提出后,IBM公司基于该模型启动了实验系统System R的研发,在1974年基于该系统迭代出接近自然语言的SQL语言原型,1981年推出了商品化的关系数据库管理系统SQL/DS。20世纪80年代之后,各计算机厂商推出的数据库管理系统几乎都支持关系模型,关系数据库也取代了层次、网状数据库,长期占据数据库领域的主流地位。
总结
过去十年数据库领域的核心应用基础是关系型数据库系统与SQL标准。关系模型由E.F.Codd在1970年提出,解决了前代数据库易用性差、缺乏理论支撑的问题,是关系型数据库的理论基础;SQL作为关系型数据库的标准交互语言,凭借功能全面、简单易用的特点,成为了关系型数据库生态的核心组成部分,二者共同支撑了过去数十年数据库领域的发展与应用。