1、数据库系统原理 An Principles to Database System,大庆师范学院计算机系 Daqing Normal College The Department of Computer Science 蔡朝晖,TEL:软件理论教研室5510049 E-mail:,教学内容, 基础篇 第一章:概述 第二章:关系数据库 第三章:关系数据库标准语言SQL 第四章:数据库保护 设计篇 第五章:数据库设计概述 第六章:概念模型与ER方法 第七章:关系数据库设计理论 第八章:数据库设计步骤,教学内容,扩展篇 第九章: 开放数据库互连 第十章: 客户/服务器结构的数据库系统 第十一章:数据仓
2、库技术 第十二章:联机分析处理(OLAP)技术,第九章 开放数据库互连,9.1 数据库互连概述 9.2 ODBC的工作原理 9.3 使用ODBC的系统结构 9.4 ODBC驱动程序分类 9.5 ODBC的工作流程,9.1 数据库互连概述,ODBC的概念 一种用于访问数据库的统一界面标准,9.1 数据库互连概述,产生ODBC的根本原因 不同的数据库管理系统的存在 Oracle(Oracle公司产品) Sybase (Sybase 公司产品) DB2(IBM公司产品) MS SQL Server(Microsoft公司产品),9.1 数据库互连概述,关系数据库之间的差异 支持和实现SQL语句的程度
3、不同 SQL语句实现的策略和细节有许多不同 支持的数据类型和精度常常不同 提供的应用编程接口(API)不同 嵌入式SQL语言语法细节不同 存储过程不同,9.2 ODBC的工作原理概述,ODBC的基本思想 在应用系统和不同的RDBMS之间加一层中间件数据库调用转换接口。把应用系统中对数据库的标准调用转换成某一个特定的RDBMS的调用 应用程序与具体的RDBMS平台相隔离,当应用程序连接的RDBMS平台改变时不必必定应用程序。 提高了应用系统与RDBMS的独立性,从而使应用系统具有良好的可移植性。,9.2 ODBC的工作原理概述,数据库调用转换接口 ODBC驱动程序管理器(ODBC Driver
4、Manager) RDBMS驱动程序(ODBC Driver),9.3 ODBC应用系统的体系结构,四部分组成 用户应用程序 驱动程序管理器 数据库驱动程序 数据源(如RDBMS和数据库),9.3 ODBC应用系统的体系结构(图9.2),用户应用程序内容 请求连接数据库; 向数据源发送SQL语句; 为SQL语句执行结果分配存储空间,定义所读取的数据格式; 获取数据库操作结果,或处理错误; 进行数据处理并向用户提交处理结果; 请求事务的提交和回滚操作; 断开与数据源的连接。,9.3 ODBC应用系统的体系结构,驱动程序管理器功能 装载ODBC驱动程序 选择和连接正确的驱动程序 管理数据源 检查O
5、DBC调用参数的合法性及记录ODBC函数的调用 返回驱动程序的有关信息建立、配置或删除数据源,并查看系统当前安装的数据库ODBC驱动程序,9.3 ODBC应用系统的体系结构,驱动程序管理器功能 装载ODBC驱动程序 选择和连接正确的驱动程序 管理数据源 检查ODBC调用参数的合法性及记录ODBC函数的调用 返回驱动程序的有关信息建立、配置或删除数据源,并查看系统当前安装的数据库ODBC驱动程序,9.3 ODBC应用系统的体系结构,数据库驱动程序 提供应用系统与数据库平台的独立性 应用程序的各种操作请求由驱动程序管理器提交给某个RDBMS的ODBC驱动程序,通过调用驱动程序所支持的函数来存取数据
6、库。 数据库的操作结果也通过驱动程序返回给应用程序。 如果应用程序要操纵不同的数据库,就要动态地链接到不同的驱动程序上。,9.3 ODBC应用系统的体系结构,数据库驱动程序 提供应用系统与数据库平台的独立性 应用程序的各种操作请求由驱动程序管理器提交给某个RDBMS的ODBC驱动程序,通过调用驱动程序所支持的函数来存取数据库。 数据库的操作结果也通过驱动程序返回给应用程序。 如果应用程序要操纵不同的数据库,就要动态地链接到不同的驱动程序上。,9.3 ODBC应用系统的体系结构,ODBC数据源管理最终用户要访问的数据,包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。 ODBC给每
7、个被访问的数据源指定唯一的数据源名(DSN),并映射到所有必要的、用来存取数据的低层软件。 在连接中,用数据源名来代表用户名、服务器名、所连接的数据库名等。 最终用户无需知道DBMS或其他数据管理软件、网络以及有关ODBC驱动程序的细节,数据源对最终用户是透明的。,9.4 ODBC驱动程序分类,API一致性级别 核心级API、扩展1级API、扩展1级API SQL语法一致性级别 最低限SQL语法、核心SQL语法、扩展SQL语法驱动程序类型 单层驱动程序、多层驱动程序,9.5 ODBC的工作流程,建立ODBC环境 建立ODBC连接 建立语句句柄 执行SQL语句 终止,配置数据源,动态配置数据源,初始化环境,建立连接,分配语句句柄,执行SQL语句,有无结果集,结果集处理,终止,有,无,