首页 百科知识 开放式数据库互接模式

开放式数据库互接模式

时间:2022-10-09 百科知识 版权反馈
【摘要】:开放式数据库互接模式基于这样一个事实:尽管现在各个数据库存储数据的数据格式不同,但几乎每个数据库系统都支持开放式数据库互接,都按照ODBC的要求提供接口一致的驱动程序。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。节省大量的重复劳动,加快开发进程,从而实现关系数据库系统之间的空间数据共享。由于系统都采用一个空间数据库管理系统和C/S体系结构,所有的空间数据及各个应用软件模块都共享一个数据服务平台。

3.1.4 开放式数据库互接模式

各个数据库存储数据的具体格式不同,结合当今计算机发展的前沿技术,采用面向对象的思想,模拟关系数据库系统运用ODBC实现数据共享方案,即实现空间数据的ODBC,按照ODBC的要求提供接口一致的驱动程序。

开放式数据库互接模式基于这样一个事实:尽管现在各个数据库存储数据的数据格式不同,但几乎每个数据库系统都支持开放式数据库互接(ODBC),都按照ODBC的要求提供接口一致的驱动程序。而一般的GIS数据都具有一些空间数据的特性,因此可以定义一个包含各种数据的元数据文件,在此基础上,采用面向对象的思路,定义一个包含纯虚函数、不可实例化的抽象基类,这个基类应具备GIS空间数据读写的基本接口。在定义好面向抽象GIS数据格式的抽象基类和统一接口的基础上,由各GIS软件厂商完成存取自己格式数据的子类的动态连接库(类似于ODBC中各数据库系统的驱动程序)。实现厂商一次编程,其他开发者拿来就用,省却大量的重复劳动,加快开发进程。

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

一个完整的ODBC由下列几个部件组成:

应用程序(Application):应用程序本身不直接与数据库打交道,主要负责处理并调用ODBC函数,发送对数据库的SQL请求及取得结果。

驱动程序管理器(Driver Manager):驱动程序管理器是一个带有输入程序的动态链接库(DLL),主要目的是加载驱动程序,处理ODBC调用的初始化调用,提供ODBC调用的参数有效性和序列有效性。

驱动程序(Driver):驱动程序是一个完成ODBC函数调用并与数据之间相互影响的DLL,当应用程序调用SQLBrowseConnect(),SQLConnect()或SQLDriverConnect()函数时,驱动程序管理器装入驱动程序。

数据源(Data Soume):包括用户想访问的数据以及与其相关的操作系统、DBMS和用于访问DBMS的网络平台。

该模式的优点就是,由于各GIS软件开发商提供的派生类是继承统一的抽象基类,各函数接口一致,可集成到自己开发的GIS软件中,提供对其他软件强有力的支持,并且不会产生数据丢失。而且各GIS软件开发商在不暴露其底层文件格式的情况下,最大限度地方便其他软件的开发者,一旦其内部数据格式有所变动,则只需提供相应的升级过的动态连接库,二次开发人员和其他利用其动态连接库的软件不需作任何变动和重新编译程序。不管空间数据是以文件方式存储还是以数据库方式存储,都将以数据库的方式管理;在定义好面向抽象GIS数据格式的抽象基类和统一接口的基础上,由各GIS厂商完成存取自己格式数据的子类的动态链接库(类似于ODBC中各数据库系统的驱动程序)。程序员按照ODBC规范在一次编程之后,就能存取该数据库系统的数据。节省大量的重复劳动,加快开发进程,从而实现关系数据库系统之间的空间数据共享。

由于系统都采用一个空间数据库管理系统和C/S体系结构,所有的空间数据及各个应用软件模块都共享一个数据服务平台。该模式基于这样一个事实:尽管各个数据库存储数据的数据格式不同,但几乎每个数据库系统都支持开放式数据库互接(ODBC),都按照ODBC的要求提供接口一致的驱动程序。这种结构的优点是:所有应用程序所做的数据更新都及时地反映在数据库中,避免了数据的不一致性问题。这是一种非常好的空间数据共享方式,但是目前市场上现有的GIS软件都不愿意丢掉自己的底层去采用一个公共的平台,因此实现起来比较困难。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈