数据库编程

嵌入式SQL

嵌入式SQL是指SQL语句嵌入程序设计语言中。

主语言:被嵌入的程序设计语言,如C、C++、Java,称为宿主语言,简称主语言。

为了区分SQL语句与主语言语句,所有SQL语句必须加前缀EXRC SQL,以(;)结束:

EXEC SQL <SQL语句>;

嵌入式SQL处理过程:

  1. 含嵌入式SQL语句的主语言程序
  2. 关系数据库管理系统预处理程序转换嵌入式SQL语句为函数调用
  3. 转换后的主语言程序
  4. 主语言编译程序编译处理
  5. 目标语言程序

数据库编程_数据库

嵌入式SQL语句与主语言之间的通信

  1. SQL通信区
    向主语言传递SQL语句的执行状态信息,使主语言能够据此信息控制程序流程
  2. 主变量
    主语言向SQL语句提供参数,将SQL语句查询数据库的结果交主语言进一步处理
  3. 游标
    SQL通过游标把查询结果交给主语言处理。游标是解决集合性的SQL语言和过程性的高级语言的不同的处理方式。实际上是一个指针,遍历所要操作的记录
  4. 建立和关闭数据库连接

存储过程

存储过程定义:

存储过程(Stored Procedure):是在大型数据库系统中,一组为了完成特定功能的SQL语句集,是由过程化SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,因此称它为存储过程,使用时只要调用即可。经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它,存储过程是数据库中的一个重要对象;存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数,输出参数,返回单个或多个结果集以及返回值;

存储过程的优点:

  1. 经编译和优化后存储这数据库服务器中,运行效率高
  2. 降低了客户机和服务器之间的通信量
  3. 有利于集中控制,方便维护,方便实施企业规则

ODBC编程

ODBC(Open Database Connectivity),即开放数据库连接,是由Microsoft公司基于X/OPEN CLI提出的用于访问数据库的应用程序编程接口,主要完成应用程序和数据库系统之间的中间件功能。基于ODBC的应用程序通过ODBC提供的API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,极大的增强了应用程序的可移植性、扩展性和可维护性。

ODBC优点:

  1. 移植性好
  2. 能同时访问不同的数据库
  3. 共享多个数据资源

ODBC的工作流程:

数据库编程_数据库_02

ODBC应用系统的体系结构

数据库编程_存储过程_03

  1. 用户应用程序:调用的是标准的ODBC函数和SQL语句
  2. ODBC驱动程序管理器:微软提供,管理应用程序和驱动程序之间的通信
  3. 数据库驱动程序
  4. ODBC数据源管理
    数据源:是最终用户需要访问的数据,包含了数据库位置和数据库类型等信息,是一种数据连接的抽象。