33
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni in un sistema a mediatore: Fusione dei dati Con Risoluzione di conflitti Tesi di Laurea di Marco Mattioli Controrelatore Prof. Ing. Paolo Tiberio elatore hiar.mo Prof. Sonia Bergamaschi orrelatore rof. Ing. Domenico Beneventano

Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Embed Size (px)

Citation preview

Page 1: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Università degli studi diModena e Reggio Emilia

Facoltà di Ingegneria - Sede di ModenaCorso di Laurea in Ingegneria Informatica

Elaborazione di interrogazioniin un sistema a mediatore:

Fusione dei datiCon Risoluzione di conflitti

Tesi di Laurea diMarco Mattioli

ControrelatoreProf. Ing. Paolo Tiberio

RelatoreChiar.mo Prof. Sonia Bergamaschi

CorrelatoreProf. Ing. Domenico Beneventano

Page 2: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Sommario• Il modello a mediatore

• La qualità dei dati e la risoluzione dei conflitti - Funzione di risoluzione

• L’interrogazione di database autonomi - Full Disjunction - Algoritmi risolutivi

Page 3: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Il Modello a Mediatore

InformazioniFIAT

pagine webFIAT

InformazioniVolkswagen

pagine webVolkswagen

... ...

Motore di ricerca

AltrePagine

MEDIATOREMOMIS

queryLista di auto dai cataloghi FIAT e

Wolkswagen rispondenti alla

richiesta

Approccio MOMIS

Usando un motore di ricerca internet

Voglio comprare un’auto con il motore tra i 1600 e i 2000cc, con un costo minore di 18000

Page 4: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Il Modello a Mediatore• L’utente esegue le richieste su uno SCHEMA GLOBALE

• Il mediatore seleziona le fonti locali e traduce, la richiesta per renderla comprensibile dalle fonti locali (MAPPING TABLE)

• Ogni richiesta tradotta viene spedita alla rispettiva fonte locale ed eseguita

• I risultati vengono raccolti e tradotti per lo schema globale

•Approccio GAV: ogni attributo della classe globale è mappatoin almeno una classe locale.

•Le classi locali sono autonome: i dati potrebberocontenere delle inconsistenze.

Page 5: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

I Conflitti nei Dati•Genericamente: quando una entità presenta aspetti inconsistenti o contrastanti.

•In ambito relazionale: quando i valori di uno o più attributi comuni di tuple che vanno fuse hanno valori discordanti.Esempio:

CartaIdentità

Nome Indirizzo

22222 M. Rossi

Via Indipendenza 26

55555 L. Verdi VialeVittorio Veneto 30

Comune

CartaIdentità

Nome Indirizzo

22222 M. Rossi ViaF.lli Rosselli 35

55555 L. Verdi VialeVittorio Veneto 30

USL

•Conflitto su Indirizzo nella prima tupla. Come comportarsi?

Page 6: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

I Conflitti nei Dati• Non fornire in uscita le informazioni conflittuali (L. Bertossi, J. Chomicki 2003)

• Fornire in uscita un solo valore per ogni conflitto (F. Naumann 2000) (risoluzione dei conflitti)

• Fornire in uscita anche tutti i valori conflittuali (D. Lembo, M. Lenzerini 2002)

Carta identità Nome Indirizzo

55555 L. Verdi Viale Vittorio Veneto 30

Carta identità Nome Indirizzo

22222 M. Rossi Via Indipendenza 26,Via F.lli Rosselli 35

55555 L. Verdi Viale Vittorio Veneto 30

Carta identità Nome Indirizzo

22222 M. Rossi f (Via Indipendenza 26, Via F.lli Rosselli 35)

55555 L. Verdi Viale Vittorio Veneto 30

Page 7: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Qualità nei Dati•Utile per la selezione delle fonti (F. Naumann 1998)

•Utile per risolvere i conflitti (H. J. Lenz, F. Naumann, M. Neiling 2003)

• Concetto non ben definito - Numerosi parametri (>60) e metodi per calcolarla. - L’importanza dei parametri varia in base all’applicazione ed all’utente Esempi: *Tempo di risposta *Consistenza *Completezza *Accuratezza *Aggiornamento

Fonte più affidabile Dato probabilmente corretto

Page 8: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Funzione di RisoluzioneDati:R1,…,Rn: insieme di relazioniX1,…,Xn: valori assunti da R1…Rn per l’attributo AD+: D . Dove D è il dominio di A

Allora si definisce funzione di risoluzione la funzione:frA= frA( X1,…,Xn) : D+n D+

frA =

se i Xi =

Xi se !i|Xi

g(X1,…,Xn) altrimenti

Dove g(X1,…,Xn) : D+n D+

Page 9: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Funzione di Risoluzione• g(X1…Xn) preposta a risolvere i conflitti. - deve essere commutativa - Si possono identificare tre categorie, a seconda del tipo di attributo *Funzioni per attributi numerici (media, mediana, somma) *Funzioni per attributi non numerici (concatena, più corto, più lungo) *Funzioni per ogni tipo di attributo (max qualità, random, fonte stabilita)

•Si possono distinguere due tipi di funzione di risoluzione: -Funzione di risoluzione standard risolve i conflitti utilizzando i valori dell’attributo da risolvere -Funzione di risoluzione generalizzata si serve anche dei valori di altri attributi dello schema Es.: attributo “prezzo” utilizza attributo “data”

Page 10: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Grafi ed Ipergrafi• Grafi secondo Galindo-Legaria - i nodi rappresentano le relazioni - gli archi rappresentano i join tra le relazioni

• Ipergrafi secondo Fagin - i nodi rappresentano gli attributi - gli iperarchi rappresentano le relazioniUn iperarco può congiungere un numero qualsiasi di nodi

Esempio di ipergrafoEsempio di grafo

Page 11: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Full Disjunction• Operatore in grado di calcolare l’outerjoin di n relazioni • Preserva tutte le possibili connessioni tra i fattiEsempio:

B C

20 200

30 300

A B

1 10

2 20

A C

1 100

3 300

L1 L2 L3

select *from (L1 full outer join L2 on L1.B=L2.B)full outer join L3 on (L2.C=L3.C or L1.A=L3.A)

Metodo basato sull’OR

L1.A L1.B L2.B L2.C L3.A L3.C

1 10 1 100

2 20 20 200

30 300 3 300

Page 12: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Gli Algoritmi SOJO e PSOJ• Calcolano la full disjunction• Utilizzano il natural outerjoin come unico operatore• Fanno l’ipotesi di omogeneità semantica• SOJO (Sound Ordering of OuterJoin) ideato da Ullman• PSOJ (Pseudo Sequence of OuterJoin) da utilizzare in ambito MOMIS

Principali differenze

SOJO (Ullman 1996)a. basato su ipergrafib. funziona correttamente solo

per ipergrafi -aciclicic. ogni relazione compare una

ed una sola volta nella sequenza di join

d. necessita di un ordinamento per le relazioni

PSOJa. basato su grafib. funziona correttamente

per ogni tipo di grafo/ipergrafo

c. ogni relazione può comparire più volte nella sequenza di join

d. non necessita di ordinamento

Page 13: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Il Natural Outerjoin• Funzionamento simile al full outerjoin• Proietta il risultato sull’unione degli schemi• Computa l’equijoin su tutti gli attributi comuniEsempio:

A C

3 7

4 9

B C

5 7

6 8

R S

A B C

3 5 7

4 9

6 8

R.A R.C S.B S.C

3 7 5 7

4 9

6 8

Natural Outerjoin Full Outerjoin

Page 14: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Le Modifiche al PSOJ

• Rimozione del vincolo di omogeneità semantica - Funzione di risoluzione - Necessità di un ordinamento - Fallimento in alcuni casi

• E’ necessario che gli attributi di join siano compattati Natural Outerjoin (non standard SQL92) Full Outerjoin + Funzione di risoluzione sugli attributi di join

Page 15: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

L’Algoritmo PSOJ Modificato

• Input:

- R = {R1, … , Rn} su S (G)

- JM = {Fij : i<j , i = 1,…,n-1 ; j = 2,…,n}

- F = {fr1,…,frm}• Output:

- Full Disjunction

• Operatore di join: full outerjoin

Page 16: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Procedimento:

• Poni F0 = JM , Ro = R , NR= n. relazioni

• for (i=0; i< NR;i++)

seleziona Ri R i

R i+1 = {Ri =►◄f= Ri’ : Ri

’ R i , Ri’ ≠ Ri , f = OJCi(Ri , Ri’ ) ≠

null}

calcola tutti i join in R i+1

R R i+1

tupla di R attributo di join j della tupla

applica la funzione di risoluzione frj (associativa)

tupla della relazione attributo j della tupla

applica la funzione di risoluzione frj

Restituisci R NP

Page 17: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Esempio di applicazione dell’algoritmo PSOJ

[ (R 1 R 2 )

[ (R 3

(R 4F 1 ,2

F 2 ,3

F 1 ,3

F 1 ,4 F 2 ,4

F 3 ,4R 2 )

R 2 )]

(R 4F 2 ,4 R 2 )]

(R 1 R 2 )

(R 3

(R 4F 1 ,2

F 2 ,3

F 1 ,3

F 1 ,4 F 2 ,4

F 3 ,4

R 2 )

R 2 )R 1 R 2

R 3

R 4

F 1 ,2

F 2 ,3F 1 ,3

F 1 ,4 F 2 ,4

F 3 ,4

R 1 R 2

R 3

R 4

F 1 ,2

F 2 ,3F 1 ,3

F 1 ,4 F 2 ,4

F 4 ,3

Page 18: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Esempio di applicazione dell’algoritmo PSOJ

[(R3 R2) (R4 R2)] [(R1 R2) (R4 R2)] F2,3 F3,4 F2,4 F1,3 F1,2 F1,4 F2,4

Page 19: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Conclusioni

• Come procedere al calcolo della full disjunction?

Page 20: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Gradi di Ciclicità degli Ipergrafi

Per i grafi la nozione di ciclicità è standard:Un grafo è ciclico se esiste un percorso che ha inizio e termine sullo stesso nodo

Per gli ipergrafi sono stati introdotti vari gradi di ciclicità:• -ciclicità• -ciclicità• -ciclicità• Berge-ciclicità

Si ha che:Berge-aciclicità -aciclicità -aciclicità -aciclicità

Per la nostra trattazione sono importanti i concetti di -ciclicità e -ciclicità

Page 21: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

-ciclicità e -ciclicità

Schema -ciclico Schema -ciclico

Page 22: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

I Limiti dell’AlgoritmoIl limite dell’algoritmo sono gli ipergrafi -ciclici e -aciclici, ma utilizzando ilfull outerjoin invece che il natural outerjoin la situazione è diversa.

Gli ipergrafi sono progettati per l’operatore di natural outerjoine quindi su join basati su tutti gli attributi comuni alle relazioni.

I -cicli portano al fallimento dell’algoritmo solo se sono formati da attributidi join; quindi alcuni ipergrafi -ciclici possono essere affrontati dall’algoritmo,a seconda delle condizioni di join.

Riefinendo gli ipergrafi usando come nodi solo gli attributi di join e come iperarchi solo gli attributi di join delle relazioni quanto detto finoravale anche per il full outerjoin.

Page 23: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Motivazione dell’Ordinamento

L’algoritmo si basa sul concetto che:

FD(Li,Lj) = Li=Fij=Lj

Essendo la full disjunction una relazione:

FD(FD(Li,Lj),FD(Li,Lk)) = FD(Li,Lj)=Fjk=FD(Li,Lk)

Queste uguaglianze valgono se e solo se:

Li=Fij=Lj = LiFijLj Li Lj

che vale se e solo se Li ed Lj non hanno tuple sussunte. L’ipotesi di consistenza dei join assicura la validità della proprietà per le relazionibase, ma non viene assicurato niente per i passaggi successivi.Perché ciò avvenga è necessario preservare tale ipotesi attraverso un ordinamento.

Page 24: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

L’Ordinamento da Utilizzare

Dato un grafo G=(V,E) con V={R1,…,Rn} e E={(Ri,Rj) | Ri,Rj V, Fij NULL}si definisce nodo ammissibile un nodo Ri V se, essendo RJ=Rj1,…,Rjnl’insieme di tutti i nodi collegati direttamente a Ri, esiste un percorso diG=(V,E) con V=V - {Ri} e E={(Ri,Rj) | Ri,Rj V, Fij NULL} che colleghitutti i componenti di RJ tra loro. Si definisce G l’insieme di tutti i nodiammissibili del grafo G.

Dato un grafo G=(V,E) con V={R1,…,Rn} e E={(Ri,Rj) | Ri,Rj V, Fij NULL}e dato l’insieme di tutti i nodi ammissibili di G, si definisce funzione di ricercafric(G) una funzione che, dato G, restituisce l’insieme V V tale che:

V={Ri G | (Ri,Rj) E, Rj | (Rj,Rk) E, Fjk ((S(Ri) S(Rj)) - (S(Ri) S(Rj)))= }

con Ri Rj Rk V

Page 25: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

L’Ordinamento da UtilizzareE’ necessario cercare un ordinamento un’unica volta, dati gli schemi delle relazionie le condizioni di join.

Non esiste sempre un ordinamento, ma se esiste va ricercato prima tra i nodi che ad ogni passo hanno join che coinvolgono il maggior numero di attributi.

Grafo risolubileGrafo non risolubile

Esempio:

Page 26: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Le Modifiche dell’Algoritmo• Nei grafi non totalmente connessi per evitare la disconnessione si prendono per primi i nodi con un numero minore di connessioni

FALSO

esempio:

Soluzione:Si può usare un nodo se e solo se dopo la sua eliminazione esiste un percorso che congiunga tutti i nodi a cui questo è direttamente connesso.

Dato un grafo G ed un nodo Li G, l’utilizzo del nodo Li non disconnette G se e solo se Lj Fij NULL Lk Fjk NULL, Fik NULL con i j kdove Fij indica la condizione di join tra le fonti Li e Lj.

Page 27: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Le Modifiche dell’Algoritmo• La condizione di join “False” viene vista come un qualsiasi join ed affrontata con l’operatore di outerjoin.

ERRATO

“False” indica che l’insieme degli oggetti contenuti nelle due classi è disgiunto.Un join produrrebbe un prodotto cartesiano, creando congiunzioni che nondevono esistere.

Soluzione

• Trattare le condizioni di join “False” come assenti oppure• Utilizzare l’operatore di outerunion

Page 28: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

Le Modifiche dell’Algoritmo• Nel caso di grafi completamente connessi non è necessario un ordinamento.

ERRATO

Esempio:

Page 29: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Riscrittura della QueryQuery globale: QQuery locale per la classe L: QL

1. Normalizzazione della query Q Si riscrive Q nella forma Qd=C1Cn dove Ci=P1Pn con Pi predicati atomici

2. Scrittura della condizione where per QL: Tutti i fattori di Qd che possono essere ricercati in L

3. Scrittura della condizione residua di Q Tutti i fattori non compresi in tutte le condizione where

locali

4. Scrittura della select list di QL Per ogni classe locale L gli attributi: della select list di Q + di join per L + della condizione

residuaTutti gli attributi devono essere tradotti tramite la mapping table. La query globale viene riformulata tramite la full disjunctionbasata sulla join table e tramite la condizione residua

Page 30: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Riscrittura e la Funzione di Risoluzione Generalizzata

prezzo data codice

40 9/2 11111

43 1/1 22222

prezzo data codice

50 10/2 11111

42 10/1 22222

select *from Gwhere prezzo<45 and data>1/2

L1 L2

select *from Liwhere prezzo<45 and data>1/2

tuple risultanti da L1 tuple risultanti da L2

prezzo data codice

40 9/2 11111

prezzo data codice

Non ci sono conflitti: la tupla di L1 costituisce il risultato restituito

Page 31: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Riscrittura e la Funzione di Risoluzione Generalizzata

select *from G

select *from Li

prezzo data codice

40 9/2 11111

43 1/1 22222

prezzo data codice

50 10/2 11111

42 10/1 33333

tuple restituite da L1 tuple restituite da L2

Conflitto di prezzo su 11111. Si sceglie il valore più aggiornato.Conflitto di data su 11111. Si sceglie il valore più elevato.

prezzo data codice

50 10/2 11111

43 1/1 22222

42 10/1 33333

tuple restituite da G

Page 32: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Riscrittura e la Funzione di Risoluzione Generalizzataselect *from Gwhere prezzo<45 and Data>1/2

prezzo data codice

40 9/2 11111

tuple restituite da G

select *from G

tuple restituite da G

prezzo data codice

50 10/2 11111

43 1/1 22222

42 10/1 33333

I risultati della prima esecuzione non sono un sottoinsieme dei risultati della secondae quindi sono errati. Le condizioni di selezione poste su attributi che usano funzionidi risoluzione generalizzate devono fare parte esclusivamente della clausola residua,senza considerare che siano o meno mappate su tutte le classi locali, e non devonoessere spedite alla classi locali.

Page 33: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Informatica Elaborazione di interrogazioni

La Riscrittura e la Funzione di Risoluzione Generalizzata

select *from Gwhere prezzo<45 and Data>1/2

select *from Liwhere Data>1/2

prezzo data codice

40 9/2 11111

tuple restituite da L1

prezzo data codice

50 10/2 11111

tuple restituite da L2

prezzo data codice

50 10/2 11111

G

prezzo data codice

tuple restituite da Gprezzo<45