首页 > 知识点讲解
       数据库访问接口
知识路径: > 计算机系统综合知识 > 数据库系统 > 数据库管理系统的类型、结构和性能评价 > 数据操作 > 
相关知识点:3个      
        访问接口是指分布式环境中保证操作系统、通信协议、数据库等之间进行对话,互操作的软件系统。访问接口的作用是保证网络中各部件(软件和硬件)之间透明地连接,即隐藏网络部件的异构性,尤其保证不同网络,不同DBMS和某些访问语言的透明性,即下面3个透明性。
        (1)网络透明性:能支持所有类型的网络。
        (2)服务器透明性:不管服务器上的DBMS是何种型号的数据库系统,一个好的访问接口都能通过标准的SQL语言与不同DBMS上的SQL语言连接起来。
        (3)语言透明性:客户机可用任何开发语言进行发送请求和接收回答,被调用的功能应该像语言那样也是独立的。
        应用系统访问数据库的接口方式有多种,最常用的有专用调用、ODBC和JDBC。
               专用调用
               每个数据库引擎都带有自己的用于访问数据库的动态链接库,应用程序可利用它存取和操纵数据库中的数据。如果应用程序直接调用这些动态链接库,就说它执行的是专用调用,因为该调用对于特定的数据库产品来说是专用的。
               专用调用接口的优点是执行效率高,由于是专用,编程实现较简单。但它的主要缺点是不具通用性,对于不同的数据库引擎,应用程序必须连接和调用不同的专用动态链接库,这对于网络数据库系统的应用是极不方便的。
               ODBC
               ODBC(Open Database Connectivity,开放数据库互连)是Microsoft公司提出的,被当前业界广泛接受的应用程序编程接口(Application Programming Interface, API)标准,它以X/Open和ISO/IEC的调用级接口规范为基础,用于对数据库的访问。
               ODBC实际上是一个数据库访问函数库,使应用程序可以直接操纵数据库中的数据。ODBC是基于SQL语言的,是一种在SQL和应用界面之间的标准接口,它解决了嵌入式SQL接口非规范核心,免除了应用软件随数据库的改变而改变的麻烦。ODBC的一个最显著的优点是,用ODBC生成的程序是与数据库和数据库引擎无关的,为数据库用户和开发人员屏蔽了异构环境的复杂性,提供了数据库访问的统一接口,为应用程序实现与平台的无关性和可移植性提供了基础。
               ODBC主要由4个部分组成:应用程序、驱动程序管理器、驱动程序、数据源。
               (1)应用程序:执行处理并调用ODBC API函数,以提交SQL语句并检索结果。
               (2)驱动程序管理器:根据应用程序需要加载/卸载驱动程序,处理ODBC函数调用,或把它们传送到驱动程序。
               (3)驱动程序:处理ODBC函数调用,提交SQL请求到一个指定的数据源,并把结果返回到应用程序。如果有必要,驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致。
               (4)数据源:包括用户要访问的数据及其相关的操作系统、DBMS及用于访问DBMS的网络平台。
               ODBC的API一致性级别分为3级,分别是核心级、扩展1级和扩展2级。
               (1)核心级:最基本的功能,包括分配、释放环境句柄,数据库连接,执行SQL语句等。核心级函数能满足最基本的应用程序的要求。
               (2)扩展1级:在核心级的基础上增加了一些函数,通过它们可以在应用程序中动态地了解表的模式、可用的概念模型类型及它们的名称等。
               (3)扩展2级:在扩展1级的基础上又增加了一些函数。通过它们可以了解到关于主关键字和外来关键字的信息、表和列的权限信息、数据库中的存储过程信息等,并且还有更强的游标和并发控制功能。
               JDBC
               JDBC(Java Database Connectivity, Java数据库连接)是一种可用于执行SQL语句的Java API。它由一些Java语言编写的类和接口组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以使用纯Java语言编写完整的数据库应用程序。而且因为JDBC基于X/Open的SQL调用级接口(CLI,这是ODBC的基础),JDBC可以保证JDBC API在其他通用SQL级API(包括ODBC)之上实现。这意味着所有支持ODBC的数据库不加任何修改就能够与JDBC协同合作。
               通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页面中带有能访问远端数据库的Applet。
               JDBC与ODBC的比较
               到目前为止,微软的ODBC可能是用得最广泛的访问关系数据库的API。它几乎能够连接任何一种平台、任何一种数据库。那么,为什么不直接从Java中使用ODBC呢?
               (1)ODBC并不适合在Java中直接使用。ODBC是一个C语言实现的API,从Java程序调用本地的C程序会带来一系列类似安全性、完整性、健壮性的问题。
               (2)完全精确地实现从C代码ODBC到Java API写的ODBC的翻译也并不令人满意。比如,Java没有指针,而ODBC中大量地使用了指针。因此,对Java程序员来说,把JDBC设想成将ODBC转换成面向对象的API是很自然的。
               (3)ODBC并不容易学习,它将简单特性和复杂特性混杂在一起,甚至对非常简单的查询都有复杂的选项。而JDBC刚好相反,它保持了简单事物的简单性,但又允许复杂的特性。
               (4)JDBC这样的Java API对于纯Java方案来说是必需的。当使用ODBC时,人们必须在每一台客户机上安装ODBC驱动器和驱动管理器。如果JDBC驱动器是完全用Java语言实现,那么JDBC的代码就可以自动的下载和安装,并保证其安全性。而且,这将适应任何Java平台。
               总之,JDBC API是能体现SQL最基本抽象概念的,最直接的Java接口。它构建在ODBC的基础上。JDBC保持了ODBC的基本设计特征。实际上,这两种接口都是基于X/Open SQL的调用级接口。它们的最大区别是,JDBC以Java的风格和优点为基础,并强化了它。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有