3.1 SQL查询语言概览

3.1 SQL查询语言概览

SQL语言组成

SQL语言有以下几个部分:

  • 数据定义语言(Data-Definition Language,DDL): SQL DDL提供定义关系模式删除关系以及修改关系模式的命令。
    • 授权(authorization): SQL DDL包括定义对关系和视图的访问权限的命令。
    • 完整性(integrity): SQL DDL包括定义完整性约束的命令,保存在数据库中的数据必须满足所定义的完整性约束。破坏完整性约束的更新是不允许的。
    • 视图定义(view definition): SQL DDL包括定义视图的命令。
  • 数据操纵语言(Data-Manipulation Language,DML): SQL DML提供从数据库中查询信息,以及在数据库中插入元组删除元组修改元组的能力.
  • 事务控制(transaction control):SQL包括定义事务的开始和结束的命令。
  • 嵌入式SQL和动态SQL(embedded SQL and dynamic SQL):嵌入式和动态SQL,定义SQL语句如何嵌入到通用编程语言,如CC++Java中。

第3章中介绍的SQL

本章我们给出对SQL的基本DMLDDL特征的概述。在此描述的特征自SQL-92以来就一直是SQL标准的部分。

第4章中介绍的SQL

在第4章我们提供对SQL查询语言更详细的介绍,包括:

  • 各种连接的表达;
  • 视图;
  • 事务;
  • 完整性约束;
  • 类型系统;
  • 授权。

第5章中的SQL

在第5章我们介绍SQL语言更高级的特征,包括:

  • 允许从编程语言中访问SQL的机制;
  • SQL函数和过程;
  • 触发器;
  • 递归査询;
  • 高级聚集特征;
  • 为数据分析设计的一些特征,它们在SQL:1999中引人,并在SQL的后续版本中使用。

在后面第22章,我们将概述SQL:1999引人的对SQL的面向对象扩充。

不同的SQL实现存在差异

尽管大多数SQL实现支持我们在此描述的标准特征,读者还是应该意识到不同SOL实现之间的差异。大多数SQL实现还支持一些非标准的特征,但不支持一些更高级的特征。