SQL 的历史
E. F. Codd 博士于 1970 年 6 月在计算机机械协会 (ACM) 期刊 Communications of the ACM 上发表了论文“A Relational Model of Data for Large Shared Data Banks”。Codd 模型现在被接受为关系数据库管理系统 (RDBMS) 的最终模型。该语言,结构化英语查询语言(SEQUEL)由IBM公司开发,使用Codd的模型。SEQUEL 后来变成了 SQL(仍然发音为“sequel”)。1979 年,Relational Software, Inc.(现在的 Oracle)推出了第一个商用的 SQL 实现。今天,SQL被接受为标准的RDBMS语言。
SQL 标准
SQL 的优势为所有类型的用户提供了好处,包括应用程序程序员、数据库管理员、经理和最终用户。从技术上讲,SQL是一种数据子语言。SQL的目的是为关系数据库(如Oracle数据库)提供接口,所有SQL语句都是对数据库的指令。在这一点上,SQL不同于C和BASIC等通用编程语言。SQL 的功能包括:
- 它将数据集作为组而不是单个单元进行处理。
- 它提供对数据的自动导航。
- 它使用单独复杂而有力的陈述,因此是独立的。流控制语句最初不是 SQL的一部分,但它们可以在最近接受的 SQL 的可选部分 ISO/IEC 9075-5:1996中找到。流控制语句通常称为“持久存储模块”(PSM),Oracle SQL 的 PL/SQL 扩展类似于 PSM。
SQL 允许您在逻辑级别处理数据。只有当您想要操作数据时,才需要关注实现细节。例如,要从表中检索一组行,您需要定义一个用于筛选行的条件。所有满足条件的行都在一个步骤中检索,并且可以作为一个单元传递给用户、另一个 SQL 语句或应用程序。您无需逐一处理这些行,也不必担心它们如何物理存储或检索。所有 SQL 语句都使用优化器,优化器是 Oracle 数据库的一部分,用于确定访问指定数据的最有效方法。Oracle 还提供了一些技术,您可以使用这些技术来使优化器更好地执行其工作。
SQL 为各种任务提供语句,包括:
- 查询数据
- 在表中插入、更新和删除行
- 创建、替换、更改和删除对象
- 控制对数据库及其对象的访问
- 保证数据库的一致性和完整性
SQL 将上述所有任务统一为一种一致的语言。
所有关系数据库的通用语言
所有主要的关系数据库管理系统都支持 SQL,因此您可以将使用 SQL 获得的所有技能从一个数据库转移到另一个数据库。此外,所有用 SQL 编