关系型数据库与 SQL 入门
1. SQL 基础
SQL 基于关系模型,但并非其精确实现。关系模型为关系数据库提供理论基础,而 SQL 语言则支持数据库的物理实现。与 C、COBOL 和 Java 等过程式语言不同,SQL 是非过程式语言。过程式语言定义应用程序操作的执行方式和顺序,非过程式语言更关注操作结果,由底层软件环境决定操作处理方式。不过,SQL 并非完全不支持过程式功能,例如存储过程就是 SQL:1999 标准的一部分。
SQL 常被称为数据子语言,因为它缺乏大多数其他计算机语言的基本编程能力,常与 C 和 Java 等应用程序编程语言结合使用,以高效访问数据库中的数据。
2. SQL 的发展历程
- 20 世纪 70 年代初,IBM 开始开发基于关系数据模型的语言和数据库系统,最初称为结构化英语查询语言(SEQUEL),后更名为 SQL。
- 1986 年,ANSI 发布了第一个 SQL 标准(SQL - 86),随后在 1989 年和 1992 年进行了更新,SQL - 92 对语言进行了重大修订。
- 1999 年,SQL:1999 标准发布,使 SQL 更符合数据库系统的实际应用和用户需求。
自 SQL:1999 标准发布以来,RDBMS 供应商一直在努力将新标准融入其产品。不过,有些情况下标准只是对数据库系统中已实现的功能进行规范,如存储过程和触发器。
存储过程是一组存储在服务器数据库中的 SQL 语句,客户端可通过调用该过程来执行;触发器也是一组存储在服务器数据库中的 SQL 语句,但它会在预定义事件(如插入或更新数据)发生时自动执