论文部分内容阅读
信息集成旨在为用户访问多个异构的信息源提供统一的全局视图,屏蔽数据来源,克服异构性和数据冲突,从而对应用所需要数据提供透明访问支持。所谓异构性包括所用数据模型、数据管理系统技术差异及逻辑异构,其中逻辑异构又包括模式差异和语义差异。完整性约束为数据库中数据提供与外部现实保持语义一致的途径。在传统数据库(包括理想分布式数据库)中,完整性约束保证当授权用户对数据库进行修改时不会破坏数据的一致性。即当应用试图通过含有INSERT、DELETE和UPDATE语句的更新事务对数据库状态进行变迁时,DBMS将对可能产生的新状态按照给定的完整性约束进行检验,并抵制那些导致完整性约束被破坏的事务发生。为保证应用通过集成系统所获取数据的有效性,同样需要对以全局模式描述的集成数据库施以必要完整性约束。由于集成数据库只是相关信息源数据的整合与融合,信息源系统的自治性和大规模数据集成导致的系统复杂性都不允许集成数据库的完整性维护能像对理想分布式数据库那样通过对信息源更新事务的全局完整性检验来实现;同时,这也并无必要。从原则上说,对集成数据库的完整性维护只需保证从它进行查询所获得的结果都满足这些约束。以往在数据仓库(本质是是一种实体化集成)背景以数据质量保障为题发展的数据清洗,以及后来面向虚拟集成所发展的一致性查询都可看成是服务于这一目标在不同集成方式下采取的实现手段。问题是所有这些技术都是基于对查询本身给出的约束进行检验和修复。(注意到实体化集成可看作对查询结果的实体化存储)。这对于虚拟集成以及虚拟和实体化相结合的集成远未解决问题。首先是如何产生对查询的约束?其次是如何对完整性检验及数据修复的任务在信息集成系统的各构件之间进行合理分配?针对这些问题,本文研究包括如下两方面:(1)为提高集成系统对全局端完整性约束处理的效率,可将完整性约束维护任务在集成端和各信息源适配器之间进行合理负载分配,即将全局完整性约束处理分解为各局部模式的完整性维护及集成端数据冲突消解。为此本文基于约束分解的思想,探讨从全局模式到局部模式之间的约束传播问题。(2)为了解决集成过程中出现的数据不一致的情形,提出新的修复算法。提出基于启发式的修复算法,对全局端来源于不同局部模式间的数据不一致的情形进行修复。(3)通过在集成系统中部署相应的实现,验证完整性约束的实施过程,对本文提出的约束分解和修复算法进行了实现和应用。