5.7 总结
SQL
查询可以从宿主语言通过嵌入和动态SQL
激发。ODBC
和JDBC
标准给C、Java
等语言的应用程序定义接入SQL
数据库的应用程序接口。程序员越来越多地通过这些API
来访问数据库。
- 函数和过程可以用
SQL
提供的过程扩展来定义,它允许迭代和条件( if-then-else
)语句。
- 触发器定义了当某个事件发生而且满足相应条件时自动执行的动作。触发器有很多用处,例如实现业务规则、审计日志,甚至执行数据库系统外的操作。虽然触发器只是在不久前作为
SQL:1999
的一部分加入SQL
标准的,但是大多数数据库系统已经支持触发器很久了。
- 一些查询,如传递闭包,或者可以用迭代表示,或者可以用递归
SQL
查询表示。递归可以用递归视图,或者用递归的with
子句定义。
SQL
支持一些高级的聚集特性,包括排名和分窗査询,这些特性简化了一些聚集操作的表达方式并提供了更高效的求值方法。
- 联机分析处理(
OLAP
)工具帮助分析人员用不同的方式查看汇总数据,使他们能够洞察一个组织的运行。
OLAP
工具工作在以维属性和度量属性为特性的多维数据之上。
- 数据立方体由以不同方式汇总的多维数据构成。预先计算数据立方体有助于提高汇总数据的查询速度。
- 交叉表的显示允许用户一次查看多维数据的两个维及其汇总数据。
- 下钻、上卷、切片和切块是用户使用
OLAP
工具时执行的一些操作。
- 从
SQL
:1999标准开始,SQL
提供了一系列的用于数据分析的操作符,其中包括cube
和rop
操作。有些系统还支持pivot
子句,可以很方便地生成交叉表。