《数据库系统概论》 第八章 数据库编程
8.1 嵌入式SQL
8.1.1 嵌入式SQL的处理过程
(宿)主语言:被嵌入的程序设计语言,如C++、JAVA
8.1.2 嵌入式SQL语句与主语言之间的通信
- SQL通信区
向主语言传递SQL语句的执行状态信息,使主语言能够据此信息控制程序流程 - 主变量
SQL语句中使用的主语言程序变量,分为输入主变量和输出主变量。
一个主变量可以附带一个任选的指示变量,指示所指主变量的值或者条件,主要指示主变量是否为空值 - 游标
解决集合性的SQL语言和过程性的高级语言的不同的处理方式。实际上是一个指针,遍历所要操作的记录 - 建立和关闭数据库连接
8.2 过程化SQL
8.2.1 过程化SQL的块结构
对SQL的扩展,增加了过程化语句功能,基本结构是块,可以相互嵌套,每个块完成一个逻辑操作。
8.2.3 流程控制
- 条件控制语句:IF语句、IF-THEN语句、嵌套的IF语句
- 循环控制语句:LOOP语句、WHILE-LOOP语句、FOR-LOOP语句
- 错误处理
8.3 存储过程
持久性存储模块:将命名块,即过程和函数,编译后保存在数据库中,可被反复调用,不用每次执行时都进行编译
8.3.1 存储过程
优点:
1. 运行效率高
2. 降低了客户机和服务器之间的通信量
3. 方便实施企业规则
8.3.2 函数
与存储过程类似
8.4 ODBC编程
优点:使用ODBC编写的应用程序可移植性好,能同时访问不同的数据库,共享多个数据资源
8.4.1 ODBC概述
ODBC是微软开放服务体系中有关数据库的一个组成部分,它建立了一组规范,并提供了一组访问数据库的API
8.4.2 ODBC工作原理概述
1. 用户应用程序:调用的是标准的ODBC函数和SQL语句
2. ODBC驱动程序管理器:微软提供,管理应用程序和驱动程序之间的通信
3. 数据库驱动程序
4. ODBC数据源管理