本文介绍了数据库异构的主要特性以及在VC++环境下,基于ODBC技术的多源异构数据库的访问共享方法。
1.引言
1.1异构数据库概述
异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问。每个数据库系统在加入异构数据库系统之前就已经存在,拥有自己的DBMS,异构数据库的各个组成部分具有自身的自治性,在实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制,异构数据库系统的异构性主要体现在以下几个方面:
(1)计算机体系结构的异构:各个参与数据库系统的可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。
(2)基础操作系统的异构:各个数据库系统的基础操作系统可以是UNIX、WINDOWSNT、DOS等。
(3)DBMS本本身的异构:可以是同为关系型数据库系统的Oracle、SQL Server等,也可以是不同数据类型的数据库,如关系、模式、层次、网络、面向对象、函数型数据库共同组成一个异构数据库系统。
在系统集成和进一步开发的过程中,常常面临的一个突出的问题就是:一个管理信息系统中往往存在两种以上不同的数据库环境。在复杂的环境中,如何实现不同数据库间数据信息资源合并和共享、如何保护已经建立的资源、充分利用各部门已经使用的数据库,实现不同数据库之间的连接、数据交换和数据共享,已经成为基于异构数据库的管理信息系统开发是否成功的关键。目前,我们的研究工作主要针对DBMS异构。
1.2异构数据库互联要解决的问题
由于数据库的多重性,导致数据库管理系统管理软件,系统硬件,以及支持异构数据库的费用给企业带来了巨大的负担。为了高效率的运行,需要在异构数据库和数据库管理软件之间进行资源共享。
异构型数据库互联可以对网络上各个不同的局部DBMS进行统一管理,实现不同数据库之间的数据信息资源合并和共享。尽管各个局部物理数据库在地理上存储在网络的各个不同结点或场地上,但逻辑上把它们视为一个逻辑库进行处理。这样,通过对异构型数据库DBMS的互联可以达到异构型数据库间的数据共享。
对于数据库异构集成主要侧重于异构分布式数据库集成研究。这种集成技术是将参与数据库的有关信息在逻辑上继承为一个属于异构分布式数据库的全局概念模式,以达到信息共享的目的。
2.异构数据库的转换方法
对于异构数据库系统,要实现数据共享应当达到两点,一是实现数据转换,二是实现数据的透明访问。在数据库转换过程中,原来旧的数据库系统不能废弃,而要转换到新系统中继续发挥作用,对资源再利用。
在不同数据库间将数据库中的数据转换到目的数据库中。为了实现在异构环境中的信息交流和共享,人们采用了诸多方法来实现异构环境的集成处理。其主要转换方式有以下三种:
(1).利用数据库厂商的专业工具目前很多数据库厂家都提供专门的数据转换工具。专用数据工具具有考虑充分,构造完备的特点 ,但造价高、使用面较窄。
(2).利用前台开发工具。通过对不同数据库采用不同接口(ODBC或专用接口)的形式同时支持多种数据库,实现前台开发工具和后台数据库间的连接。
(3).用动态sql语句。不同数据库间数据转换的实现方法各有利弊。动态sql语句方法灵活多变,适用面广,但实现复杂,需编制可视界面。对于较普遍的关系型数据库,数据量较小情况下,可以利用动态sql语句进行数据转换。
综上所述,充分利用前台开发工具(ODBC或专用接口)对有关数据进行处理是一种较好的选择。