Análise e Metodologias de Integração de Esquemas - Parte 2

Autor: Dalton Luiz Marcílio

 

 

Esta é a segunda parte do artigo de uma série de três onde serão levantadas questões problemáticas envolvidas no processo de integração, as técnicas existente e uma descrição geral comparativa sobre as metodologias relacionadas a área.

5 Comparação de metodologias

Neste artigo, 12 Metodologias completas são consideradas. A maioria das metodologias de integração analisadas aqui está na categoria de metodologias de integração de visões. De fato, todos exceto Dayal e o Hwang [1984], Motro e Buneman [1981] e Mannino e Effelsberg [1984] pertencem a esta classe. ElMasri et al [1987] pertence a área de integração de visões e da integração de base de dados.

No Quadro 1, nós mostramos as etapas que são executadas por cada uma das metodologias. É possível classificar as metodologias em quatro grupos, tendo como base o Quadro 1:

a) Aqueles que executam uma comparação repetitiva, adequação e união dos esquemas, e tratam da necessidade de reestruturação mais tarde [Mannino e Effelsberg [1984]; Navathe e Gadgil [1982]; Wiederhold e ElMasri [1979]].

b) Aqueles que executam a maioria das atividades durante e depois da união dos esquemas. Esses incluem somente as etapas 3 e 4, e evitam a comparação e adequação dos esquemas [al-Fedaghi-Fedaghi e Scheuermann [1981]; Casanova e Vidal [1983]; Motro e Buneman [1981]; Teorey e Fry [1982]; Yao et al. [1982]]

c) Aqueles que executam todas as atividades [Batini e Lenzerini [1984]; Dayal e Hwang [1984]; ElMasri et al. [1987]; Kahn [1979]].

d) Aqueles que mencionam explicitamente a fase de pré-integração [ElMasri et al. [1987]; Mannino e Effelsberg [1984]; Navathe Gadgil [1982]].

Quadro 1 - Atividades da integração de esquemas

5.1 Pré-integração

Essa fase basicamente propõe uma coleção de correspondências entre esquemas na forma de constraints e declarações entre componentes de esquemas. Estas especificações são utilizadas, por exemplo, para relatar nomes, estabelecer que um objeto em um esquema é resultado de alguma operação de um conjunto de objetos em outro esquema, etc.

A primeira etapa, escolha dos esquemas, envolve o processamento de componentes dos esquemas em alguma seqüência. No geral, o número dos esquemas considerados para a integração de cada etapa deve estar em n >= 2.

A Figura 5 mostra quatro variações possíveis denominadas estratégias de processamento da integração. Cada estratégia é mostrada na forma de uma árvore. Os nós da folha correspondem aos componentes do esquema e os nós não folha correspondem aos resultados intermediários da integração. O nó da raiz é o resultado final.

A classificação preliminar das estratégias é binária contra n-ária. As estratégias binárias permitem a integração de dois esquemas de cada vez. Estas são chamadas estratégias escada quando um novo componente do esquema é integrado com um resultado intermediário existente em cada etapa. Uma estratégia binária é dita equilibrada quando os esquemas são divididos em pares no início e são integrados em uma forma simétrica. As estratégias n-árias permitem a integração de n esquemas de uma só vez (n > 2). Uma estratégia n-ária é one shot quando os n esquemas são integrados em uma única etapa; caso contrário ela é dita iterativa. A última classificação é o caso mais geral.

A vantagem da estratégia binária é a simplificação das atividades de comparação e adequação para cada passo da integração. É evidente que a maioria das metodologias adotam estratégias binárias devido ao aumento da complexidade do processo de integração com respeito ao número de esquemas a serem integrados. Em geral, um algoritmo de união de n esquemas pode ter uma complexidade n2 . A desvantagem dessa alternativa é o aumento no número de operações de integração para se chegar a uma análise final.

A estratégia n-ária de integração realiza uma análise de n esquemas de uma vez. As óbvias vantagens disso são: um aumento considerável de análise semântica que pode ser realizada antes da união de esquemas, evitando assim a necessidade de transformações futuras no esquema integrado; o número de passos para integração é minimizado.

Quadro 2 - Estratégias de processamento de integração.

5.2 Comparação dos esquemas

A atividade fundamental nessa etapa consiste em verificar todos os conflitos na representação dos mesmos objetos em esquemas diferentes. Das metodologias descritas, de um modo geral, distinguimos dois tipos de conflitos: nomeando conflitos e conflitos estruturais. Nós examinaremos agora cada um em detalhes.

5.2.1 Nomeando conflitos

Os esquemas em modelos dos dados incorporam nomes para os vários objetos representados. Pessoas de diferentes áreas de aplicação da mesma organização consultam aos mesmos dados usando as suas próprias terminologias e nomes. Isto resulta em uma proliferação de nomes, bem como uma possível inconsistência entre nomes nos componentes dos esquemas. Os relacionamentos problemáticos entre nomes são de dois tipos:

a) Homônimos: Quando o mesmo nome for usado para dois conceitos diferentes causando inconsistências. Considere os dois esquemas mostrados na Figura 6. Ambos os esquemas incluem uma entidade nomeada Equipment. Entretanto, o Equipment na Figura 6a refere-se a computadores, copiadoras, etc., visto que na Figura 6b refere-se a equipamentos como condicionadores de ar. É óbvio que unir as duas entidades no esquema integrado resultaria em produzir uma entidade para dois objetos conceituais distintos.

b) Sinônimos: Quando o mesmo conceito for descrito por dois ou mais nomes. A menos que diferentes nomes melhorem o entendimento de diferentes usuários, eles não são justificados. Um exemplo aparece na Figura 7, onde o Client e o Customer são sinônimos; as entidades com estes dois nomes nos dois esquemas referem-se ao mesmo conceito no mundo real. Neste caso, manter duas entidades distintas no esquema integrado resultaria na modificação de um único objeto por meio de duas entidades diferentes.

Note que homônimos podem ser detectados comparando conceitos com o mesmo nome em esquemas diferentes, ao passo que sinônimos podem somente ser detectados após uma especificação externa.

Dicionários de dados têm sido utilizados como ferramenta adjunta para o processo de integração de esquemas para um melhor gerenciamento de nomes.

Figura 6 - Exemplo de homônimo

Figura 7 - Exemplo de sinônimo

5.2.2 Conflitos estruturais

Utilizamos o termo conflitos estruturais para englobar conflitos que aparecem em conseqüência de uma escolha diferente de modelar construções ou constraints de integridade. A seguinte classificação distingue os seguintes tipos de conflitos:

a) Tipo de Conflitos. Estes aparecem quando o mesmo conceito é representado por diferentes construções de modelagem em esquemas diferentes. Este é o caso quando, por exemplo, uma classe de objetos é representada como uma entidade em um esquema e como atributo em outro esquema.

b) Conflitos de dependência. Estes aparecem quando um grupo de conceitos são relacionados a si mesmos com diferentes dependências em esquemas diferentes. Por exemplo, o relacionamento Casamento entre homem e mulher é 1: 1 em um esquema, mas pode ser m: n em outro.

c) Conflitos de chave. As diferentes chaves são associadas ao mesmo conceito em esquemas diferentes. Por exemplo, SS # e identificação de Empregado podem ser as chaves do empregado em dois componentes de esquemas.

d) Conflitos de Comportamento. Estes surgem quando as diferentes políticas de inserção/deleção são associadas com a mesma classe de objetos em esquemas distintos. Por exemplo, em um esquema um departamento pode ter a permissão de existir sem empregados, visto que outro, quando o último empregado associado com um departamento é deletado, é feita a deleção automática do departamento. Note que estes conflitos podem surgir somente quando o modelo dos dados permitir a representação comportamental das propriedades dos objetos.

5.3 Adequação de esquemas

O objetivo desta atividade é adequar ou alinhar esquemas para fazê-los compatíveis para o processo de integração. Para conseguir este objetivo, deve-se resolver os conflitos, que por sua vez exigem que transformações desse esquema sejam feitas. A fim de resolver um conflito, o desenvolvedor deve compreender os relacionamentos semânticos entre os conceitos envolvidos no conflito. Às vezes os conflitos não podem ser resolvidos porque surgiram em conseqüência de alguma inconsistência básica. Neste caso, os conflitos são relatados aos usuários, que devem guiar o desenvolvedor em sua definição. A Figura 8 mostra três exemplos de como transformar um atributo em uma entidade, como sugerido por Batini e Lenzerini [1984].

Figura 8 - Transformação de um atributo em uma entidade

5.4 União e reestruturação

As atividades executadas por metodologias durante esta fase geralmente requerem diferentes tipos de operações a serem executadas nos componentes dos esquemas ou no esquema integrado temporário. Estabelecendo uma estrutura comum para esta fase, nós supomos que todas as metodologias primeiramente unem os componentes de esquemas por meio de uma sobreposição simples de conceitos comuns, e executamos então operações de reestruturação no esquema integrado obtido por união.

Cada transformação é executada a de fim melhorar o esquema com respeito a um dos quesitos integridade, minimização e entendimento.

5.4.1 Integridade

Para conseguir a integridade, o desenvolvedor tem que concluir a análise e a adição de propriedades do interesquema que é iniciada em etapas precedentes ao projeto. Note que subconjunto é a propriedade do interesquema usada para a maioria de metodologias. De fato, essa propriedade considera-se ser a base para múltiplas perspectivas do usuário em classes de objetos comparáveis.

5.4.2 Minimização

Na maioria das metodologias, o objetivo da minimização é descobrir e eliminar redundâncias. Uma noção de minimização é ilustrada na Figura 9 onde três relacionamentos estão presentes, indicados por setas.

O relacionamento entre Engineering_manager and Employee é redundante. Necessita-se então reduzir os conceitos deletando os relacionamentos redundantes.

5.4.3 Compreensão

A questão de compreensão é difundida em todas as metodologias. O problema é dirigido explicitamente por Batini e Lenzerini [1984]. Como exemplo temos a Figura 10, onde se discute termos qualitativos. Enquanto dois esquemas são equivalentes, o esquema B está mais compreensível do que o esquema A. O esquema B foi obtido do esquema A adicionando uma generalização hierárquica relacionando Publication para Book e Paper. Em geral, para melhorar a compreensão, transformações adicionais no esquema são necessárias.

Figura 9 - Um esquema com redundância

Figura 10 - Aprimorando o entendimento