usando mediadores para integração de múltiplas bases de dados bernadette farias lóscio di - ufpe
TRANSCRIPT
![Page 1: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/1.jpg)
Usando Mediadores para Integração de Múltiplas Bases de
Dados
Bernadette Farias Lóscio
DI - UFPE
![Page 2: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/2.jpg)
Plano de Aula
• Motivação• Arquitetura de Mediadores• Projeto de Mediadores
– Integração do Esquema do Mediador
– Especificação do Mediador
• Exemplo• Conclusões
![Page 3: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/3.jpg)
Integração de Múltiplas Bases de Dados
• Tendência da descentralização • Cooperação intersistemas• Grande quantidade de dados disponíveis• Avanços tecnológicos na comunicação de dados
![Page 4: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/4.jpg)
Integração de Múltiplas Bases de Dados
• Principal Problema: – Heterogeneidade - os sistemas tem sido desenvolvidos
usando diferentes especificações e modelo de dados
• Solução:– Desenvolver meios para prover acesso integrado e
transparente aos dados, além de melhorar o acesso e a qualidade da informações
![Page 5: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/5.jpg)
Arquitetura de Mediadores
Nível de Aplicação
Mediador 1 Mediador 2Nível de Mediação
Tradutor 1 Tradutor 2 Tradutor 3Nível de Dados
Base de Dados 1Base de Dados 1 Base de Dados 2Base de Dados 2 Base de Dados 3Base de Dados 3
![Page 6: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/6.jpg)
Mediadores
MEDIADORMEDIADOR
BD1
BD2
BD3
Exploram o conhecimento representado em um conjunto ou subconjunto de dados
Geram informações para aplicações residentes em uma camada superior
![Page 7: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/7.jpg)
Consultas e Atualizações através de Mediadores
1. 1. As consultas são submetidas ao sistema, via mediador, e este as transforma em subconsultas a
serem enviadas às bases de dados.
1. 1. As consultas são submetidas ao sistema, via mediador, e este as transforma em subconsultas a
serem enviadas às bases de dados.
2.2. As subconsultas geradas pelo mediador devem ser traduzidas para linguagens de consultas de cada SGBD componente.
2.2. As subconsultas geradas pelo mediador devem ser traduzidas para linguagens de consultas de cada SGBD componente.
3.3. Os resultados das consultas são traduzidos e a resposta é devolvida ao usuário.
3.3. Os resultados das consultas são traduzidos e a resposta é devolvida ao usuário.
![Page 8: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/8.jpg)
Exemplo 1
EMP_RIOEMP_RIO
sal1sal1 nome1nome1 tel1tel1
BD1BD1:: EMP_FOREMP_FOR
sal2sal2 nome2nome2 email2email2
BD2BD2::
EMP_MEMP_M
salsal nomenome teltel
locallocalMEDMED::
Esquemas Locais:Esquemas Locais:
Esquema do mediador:Esquema do mediador:
emailemail
![Page 9: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/9.jpg)
Recupere todos os dados do Recupere todos os dados do empregado chamado Robertoempregado chamado RobertoRecupere todos os dados do Recupere todos os dados do
empregado chamado Robertoempregado chamado Roberto
Exemplo 1
MediadorMediadorAplicaçãoAplicação
![Page 10: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/10.jpg)
Exemplo 1 - Execução da Consulta
MedMed
Tradutor1Tradutor1 Tradutor2Tradutor2
Emp_RioEmp_Rio Emp_ForEmp_For
CC: select nome, tel, sal, local, email: select nome, tel, sal, local, email from EMP_Mfrom EMP_M where nome = “Roberto”where nome = “Roberto”
C1C1: select nome1, tel1, sal1: select nome1, tel1, sal1 from EMP_RIOfrom EMP_RIO where nome = “Roberto”where nome = “Roberto”
C1C1
C2C2: select nome2, tel2, sal2: select nome2, tel2, sal2 from EMP_FORfrom EMP_FOR where nome = “Roberto”where nome = “Roberto”
C2C2
![Page 11: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/11.jpg)
Exemplo 1 - Resultado da Consulta
MedMed
Tradutor1Tradutor1 Tradutor2Tradutor2
Emp_RioEmp_Rio Emp_ForEmp_For
CC: select nome, tel, sal, local, email: select nome, tel, sal, local, email from EMP_Mfrom EMP_M where nome = “Roberto”where nome = “Roberto”
nome1 = “Roberto”nome1 = “Roberto”sal = 1000sal = 1000tel = 221.2233tel = 221.2233
nome1 = “Roberto”nome1 = “Roberto”sal = 1000sal = 1000tel = 221.2233tel = 221.2233
nome1 = “Roberto”nome1 = “Roberto”sal = 1000sal = 1000tel = 221.2233tel = 221.2233local = riolocal = rioemail = nullemail = null
![Page 12: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/12.jpg)
Exemplo 2
EMP_PROJ1EMP_PROJ1
sal1sal1 nome1nome1 tel1tel1
BD3BD3:: EMP_PROJ2EMP_PROJ2
sal2sal2 nome2nome2 email2email2
BD4BD4::
EMP_M1EMP_M1
salsal nomenome teltel
locallocalMED1MED1::
Esquemas Locais:Esquemas Locais:
Esquema do mediador:Esquema do mediador:
emailemail
![Page 13: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/13.jpg)
Recupere o salário do empregado Recupere o salário do empregado chamado Robertochamado Roberto
Exemplo 2
MediadorMediadorAplicaçãoAplicação
![Page 14: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/14.jpg)
Exemplo 2 - Execução da Consulta
Med1Med1
Tradutor3Tradutor3 Tradutor4Tradutor4
Emp_Proj1Emp_Proj1 Emp_Proj2Emp_Proj2
CC: select nome, sal: select nome, sal from EMP_M1from EMP_M1 where nome = “Roberto”where nome = “Roberto”
C1C1: select nome1, sal1: select nome1, sal1 from EMP_PROJ1from EMP_PROJ1 where nome = “Roberto”where nome = “Roberto”
C1C1
C2C2: select nome2, sal2: select nome2, sal2 from EMP_PROJ2from EMP_PROJ2 where nome = “Roberto”where nome = “Roberto”
C2C2
![Page 15: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/15.jpg)
Exemplo 2 - Resultado da Consulta
MedMed
Tradutor3Tradutor3 Tradutor4Tradutor4
Emp_RioEmp_Rio Emp_ForEmp_For
CC: select nome, sal: select nome, sal from EMP_M1from EMP_M1 where nome = “Roberto”where nome = “Roberto”
nome1 = “Roberto”nome1 = “Roberto”sal1 = R$ 1000,00sal1 = R$ 1000,00
nome1 = “Roberto”nome1 = “Roberto”sal1 = R$ 1000,00sal1 = R$ 1000,00
nome2 = “Roberto”nome2 = “Roberto”sal2 = R$ 5000,00sal2 = R$ 5000,00
nome2 = “Roberto”nome2 = “Roberto”sal2 = R$ 5000,00sal2 = R$ 5000,00
nome = “Roberto”nome = “Roberto”sal = R$ 6000,00sal = R$ 6000,00
![Page 16: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/16.jpg)
Modelo de Modelo de dados comumdados comum
Linguagem de Linguagem de consultas comumconsultas comum
Ferramentas Ferramentas p/ criação de p/ criação de mediadoresmediadores
11 2233
Suporte para arquitetura de mediadores
![Page 17: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/17.jpg)
Requisitos dos Requisitos dos UsuáriosUsuários
Definição do Esquema Definição do Esquema do Mediadordo Mediador Esquema do MediadorEsquema do MediadorEsquema do MediadorEsquema do Mediador
Integração do Esquema Integração do Esquema do Mediadordo Mediador Assertivas do mediadorAssertivas do mediadorAssertivas do mediadorAssertivas do mediador
Especificação Especificação do Mediadordo Mediador
Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações
Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações
Projeto de Mediadores
![Page 18: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/18.jpg)
Assertivas de Assertivas de
Correspondência Correspondência
do Mediadordo Mediador
Integração do Esquema Integração do Esquema do Mediadordo Mediador
Esquema doEsquema doMediadorMediador
Esquemas Esquemas LocaisLocais
Integração do Esquema do Mediador
![Page 19: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/19.jpg)
Integração do Esquema do Mediador
Assertivas de Correspondência
• Assertivas de Correspondência de Tipos• Assertivas de Correspondência de Atributos• Assertivas de Correspondência de Caminhos
![Page 20: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/20.jpg)
1. Assertiva de Correspondência de Tipos1. Assertiva de Correspondência de Tipos
EMPREGADOEMPREGADO EMPEMP
2. Assertiva de Correspondência de Atributos2. Assertiva de Correspondência de Atributos
nome1 nome1 nome2nome2
3. Assertiva de Correspondência de Caminhos3. Assertiva de Correspondência de Caminhos
EMP-R1-DEPTO-R2-GER-nger1 EMP-R1-DEPTO-R2-GER-nger1 EMP_RIO-nger2EMP_RIO-nger2
Integração do Esquema do Mediador
S1:
nome1 nger1tel1 #depto1 data1
EMP DEPTO GERR1 R2
S2:
nome2
sal2
tel2
EMPREGADOnger2
Assertivas de Correspondência
![Page 21: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/21.jpg)
1. Assertiva de Dependência Existencial:1. Assertiva de Dependência Existencial:
POSSUI [PC-P1-cpf1, PC-C1-lic1] POSSUI [PC-P1-cpf1, PC-C1-lic1] PROPRIETÁRIO [P2-cpf2, P2-lic2]PROPRIETÁRIO [P2-cpf2, P2-lic2]
(Um tipo de entidade é modelado como um tipo de relacionamento)
(P2) PROPRIETÁRIO
cpf2 lic2
S2:
cpf1 lic1
(P1) PESSOA (C1) CARRO(PC)POSSUIS1:
Assertiva de Dependência Existencial
Integração do Esquema do Mediador
![Page 22: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/22.jpg)
Requisitos dos Requisitos dos UsuáriosUsuários
Definição do Esquema Definição do Esquema do Mediadordo Mediador Esquema do MediadorEsquema do MediadorEsquema do MediadorEsquema do Mediador
Integração do Esquema Integração do Esquema do Mediadordo Mediador Assertivas do mediadorAssertivas do mediadorAssertivas do mediadorAssertivas do mediador
Especificação Especificação do Mediadordo Mediador
Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações
Mapeador de Estados eMapeador de Estados eMapeador de AtualizaçõesMapeador de Atualizações
Projeto de Mediadores
![Page 23: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/23.jpg)
Mapeador de Estados
Estado do Mediador
DM = ({DS1,...,DSn})
Estados dos Esquemas Locais
M{DS1,...,DSn}
M : mapeador de estados do mediador
Especificação do Mediador
![Page 24: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/24.jpg)
Mapeador de Atualizações
{D’S1,...,D’Sn}
DM = (M{DS1,...,DSn}){DS1,...,DSn}M
S1(u) Sn(u)M
D’M = (M{D’S1,...,D’Sn})M
u
M : mapeador de estados do mediador
M : mapeador de atualizações do mediador
Especificação do Mediador
Mapeador de Atualizações = Conjunto de Tradutores
![Page 25: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/25.jpg)
Definindo Tradutores
TRADUTORTRADUTORTradução
(Seqüência de Atualizações)
Pedido de Atualização
Processo de Definição de um Tradutor:
1. Determinar as ACs relevantes para a Operação de Atualização
2. Determinar a ação requerida para a preservação de cada AC
Especificação do Mediador
![Page 26: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/26.jpg)
S2:
nome2
sal2
tel2
EMP_RIO
S1:
nome1 nger1tel1 #depto1
EMP DEPTO GERR1 R2
S3:
email3nome3
sal3EMP_FOR
Exemplo
![Page 27: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/27.jpg)
nome tel sal
Exemplo
localemail
nger EMP_M
Esquema de
med
Passo 1: Definição do Esquema do Mediador
![Page 28: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/28.jpg)
AC5: EMP_M EMP
AC6: EMP_M Gen(EMP_RIO , EMP_FOR)
AC7: EMP_RIO EMP_M [local = ‘rio’]
AC8: EMP_FOR EMP_M[local = ‘for’]
Assertivas de Correspondência de Tipos
Exemplo
Passo 2: Integração do Esquema do Mediador
![Page 29: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/29.jpg)
AC9: nome nome1
AC10: nome nome2
AC11: nome nome3
AC12: tel tel1
AC13: tel tel2
AC14: sal sal2
AC15: sal sal3
AC16: local [EMP_RIO :’rio’;EMP_FOR:’for’]
AC17: email email3
Exemplo - Passo 2
Assertivas de Correspondência de Atributos
![Page 30: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/30.jpg)
AC18: EMP_M-nger EMP-R1-DEPTO-R2-GER-nger1
Exemplo - Passo 2
Assertivas de Correspondência de Caminhos
S1:
nome1 nger1tel1 #depto1
EMP DEPTO GERR1 R2
nome tel sal
localemail
nger EMP_MSmed:
![Page 31: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/31.jpg)
Regra 1:
<EMP_M {<nome N><tel T><sal S><nger G><email ‘null’><local ‘rio’}>
:- <EMP {<nome1 N> <tel1 T> <EMP-R1-DEPTO-R2-GER-nger1 G>}>
and
<EMP_RIO {<nome2 N> <tel2 T> <sal2 S>}>
Exemplo
Passo 3: Especificação do Mediador (Mapeador de Estados)
Regra 2:
<EMP_M {<nome N><tel T><sal S><nger G><email ‘null’><local ‘for’}>
:- <EMP {<nome1 N> <tel1 T> <EMP-R1-DEPTO-R2-GER-nger1 G>}>
and
<EMP_RIO {<nome3 N> <tel3 T> <sal3 S>}>
![Page 32: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/32.jpg)
Passo 3: Especificação do Mediador (Mapeador de Atualizações)
3. Tradutor “Modifica_nger “:/*Ação Requerida para preservação de AC18*/
Se existir
(i) e’ EMP tal que e’ e
(ii) d DEPTO tal que d. (DEPTO.R2.GER-nger1) = ‘v’
(iii) r R1 tal que e.(EMP-R1) = r
Então { r .(R1-DEPTO) := d}
Exemplo - Passo 3
nome1 nger1tel1 #depto1 data1
EMP DEPTO GERR1 R2 local
nome tel
sal
nger EMP_M
SS11SSmedmed
1. Atualização: u = {e.nger := ‘v’} /*e = (nome:‘joão’, tel:‘223.9675’, ...., nger:‘pedro’)*/
2. AC Relevante: EMP_M-nger EMP-R1-DEPTO-R2-GER-nger1
![Page 33: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/33.jpg)
Vantagens da Metodologia• Uso de assertivas de correspondência para especificar
formalmente o relacionamento entre esquemas.
• Algoritmos para geração automática dos mapeadores de estados e tradutores de atualização do mediador.
• A metodologia proposta também se aplica ao problema de TAV (Tradução de Atualização de Visões)
![Page 34: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/34.jpg)
Conclusões
• Mediadores são indicados quando:– As informações mudam rapidamente– Os usuários necessitam de informações imprevistas– Aplicações necessitam que o estado da informação seja o mais
atualizado
• Problemas com o uso de mediadores:– Processamento de consultas é ineficiente quando:
• Consultas são emitidas várias vezes• F.I. São lentas, caras ou não estão disponíveis
– Os passos de filtragem, tradução e consultas podem exigir alto custo de processamento
![Page 35: Usando Mediadores para Integração de Múltiplas Bases de Dados Bernadette Farias Lóscio DI - UFPE](https://reader036.vdocuments.mx/reader036/viewer/2022081602/552fc10b497959413d8c271d/html5/thumbnails/35.jpg)
Referências
• [Chawathe94] Chawathe, S., Garcia Molina, H., Hammer, J. “The TSIMMIS Project: Integration of Heterogeneous Information Sources”, IPSJ’94.
• [Lóscio98] Lóscio, B.F., “Atualização de Múltiplas Bases de Dados através de Mediadores”, Dissertação de Mestrado, Universidade Federal do Ceará, Mar.1998.
• [Vidal97] Vidal, V. M. P., Lóscio, B.F., “Especificação de Mediadores para Acesso e Atualização de Múltiplas Bases de Dados”, XII Simpósio Brasileiro de Banco de Dados, Fortaleza, Ceará, Out.1997.
• [Wiederhold92] Widerhold, G., “Mediators in the Architecture of Future Information Systems”, IEEE Computer, pp.38-49, Mar. 1992.
• Projeto TSIMMIS - www-db.stanford.edu