
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
daltonlm@celepar.gov.br
