Sistemi Informativi A. A. 2009/10 Parte I Interoperabilità tra sorgenti informative I Database Distribuiti Introduzione • Scopo dei database: integrare i dati operazionali e fornire un accesso controllato ai dati • Lo sviluppo delle reti di computer promuove una metodologia decentralizzata di lavoro • La condivisione dei dati e l’efficienza nel loro accesso dovrebbe essere migliorata dallo sviluppo di un DBMS distribuito che riflette questa struttura organizzativa • I DBMS distribuiti dovrebbero aiutare a risolvere il problema delle isole di informazione I Database Distribuiti Concetti fondamentali • Database distribuito: una collezione logicamente correlata di dati condivisi • DBMS distribuito: un sistema software che permette la gestione dei database distribuiti • Un database distribuito consiste in un singolo database logico suddiviso in un numero di frammenti • Ciascun sito è capace di processare indipendentemente le richieste degli utenti che coinvolgono i dati locali • Applicazioni locali e applicazioni globali I Database Distribuiti Concetti fondamentali • Un DDBMS ha le seguenti caratteristiche: – È una collezione di dati condivisi logicamente correlati – I dati sono suddivisi in un certo numero di frammenti – I frammenti possono essere replicati – I frammenti e le repliche vengono allocati presso opportuni siti – I siti sono collegati da reti di comunicazione – I dati su ciascun sito sono sotto il controllo di un DBMS – Il DBMS su ciascun sito può gestire applicazioni locali autonomamente – Ciascun DBMS partecipa ad almeno un’applicazione globale I Database Distribuiti Concetti fondamentali • Una tipica architettura di DDBMS I Database Distribuiti Concetti fondamentali • Esempio: una banca • Un DDBMS deve rendere la distribuzione trasparente (ovvero invisibile) all’utente • La trasparenza pone svariati problemi addizionali • Trasparenza e autonomia appaiono essere due proprietà conflittuali I Database Distribuiti Vantaggi • I DDBMS riflettono la natura organizzativa delle aziende – Molte organizzazioni sono naturalmente distribuite su diverse locazioni – Ad esempio, in una banca, i membri dello staff della filiale faranno le loro query locali ma il management può effettuare delle query globali – I dati possono essere memorizzati sul sito più vicino agli utenti – Un Amministratore globale ha la responsabilità dell’intero sistema • I DDBMS migliorano la disponibilità dei dati • I DDBMS migliorano l’affidabilità • I DDBMS migliorano la perfomance I Database Distribuiti Vantaggi • I DDBMS abbattono i costi – Legge di Grosch: la potenza di calcolo cresce secondo il quadrato dei costi – Attualmente è generalmente riconosciuto che costa molto meno realizzare un sistema di piccoli computer che abbiano la potenza equivalente di un singolo grosso computer – Se gli utenti di un database sono geograficamente sparsi • I DDBMS consentono una crescita modulare • Integrazione • – Integrazione di sistemi legacy – Nessun pacchetto può fornire oggi tutte le funzionalità necessarie oggi ad un’organizzazione I DDBMS consentono di rimanere competitivi I Database Distribuiti Svantaggi • Complessità – Un DBMS distribuito è inerentemente più complessi di un DBMS centralizzato – I dati possono essere replicati • Costi • Sicurezza • Controllo dell’integrità più difficile • Mancanza di standard • Mancanza di esperienza • Progettazione dei database più complessa I Database Distribuiti Architetture alternative: Processing distribuito • Processing distribuito: un database centralizzato che può essere acceduto tramite una rete di computer • Il sistema consiste di dati che sono fisicamente distributi attraverso un certo numero di siti della rete • Distribuzione dei dati in presenza di un processing distribuito I Database Distribuiti Architetture alternative: Processing distribuito • Il processing distribuito è conosciuto anche come sistema multidatabase I Database Distribuiti Architetture alternative: I DBMS paralleli • DBMS parallelo: un DBMS che opera su più processori e dischi e che è stato progettato per eseguire operazioni in parallelo • I DBMS paralleli sono basati sulla premessa che un singolo processore non riesce a soddisfare le crescenti richieste di scalabilità, affidabilità e performance a basso costo • I DBMS paralleli collegano più macchine piccole • Un DBMS parallelo deve fornire una gestione delle risorse condivise • Tre principali architetture: – Shared memory – Shared disk – Shared nothing I Database Distribuiti Architetture alternative: I DBMS paralleli • Le tre principali architetture dei DBMS paralleli I Database Distribuiti Architetture alternative: I DBMS paralleli • L’architettura shared memory è un’architettura fortemente accoppiata • Essa è nota anche come multiprocessing simmetrico • L’architettura shared disk è un’architettura debolmente accoppiata • L’architettura shared disk elimina il collo di bottiglia che normalmente si ha con l’architettura shared memory • I sistemi shared disk sono spesso denominati cluster • L’architettura shared nothing è spesso nota come processing massivamente parallelo • Questa architettura è più scalabile di un’architettura shared memory • La performance è ottima solo quando i dati richiesti vengono memorizzati localmente I Database Distribuiti Architetture alternative: I DBMS paralleli • Alcune volte la definizione shared nothing include i DBMS distribuiti • La tecnologia parallela viene tipicamente utilizzata per database molto grossi • Tutti i maggiori distributori di DBMS forniscono la versione parallela dei loro prodotti I Database Distribuiti DDBMS omogenei ed eterogenei • In un sistema omogeneo tutti i siti utilizzano gli stessi DBMS • I sistemi omogenei si possono progettare e gestire molto più facilmente rispetto ai sistemi eterogenei • In un sistema eterogeneo possono operare diversi DBMS che non devono necessariamente essere basati sul medesimo modello dei dati • I singoli siti hanno già implementato i loro database e l’integrazione viene effettuata successivamente • Permettere un certo livello di trasparenza • I dati possono essere richiesti da un altro sito • Se l’hardware è diverso ma i DBMS sono gli stessi la traduzione è immediata • Se i DBMS sono differenti la traduzione è complicata e comporta il mapping delle strutture dati I Database Distribuiti DDBMS omogenei ed eterogenei • Necessità di costruire uno schema concettuale comune • Eventuale presenza di eterogeneità semantiche • Esempio: casa automobilistica Cars(serialNo, model, color, autoTrans, cdPlayer, …) Autos(serial, model, color) Options(serial, option) • Nomi apparentemente equivalenti sono cambiati • Differenze nel tipo di dati I Database Distribuiti DDBMS omogenei ed eterogenei • Differenze nei valori • Differenze semantiche • Valori mancanti • Tipica soluzione: utilizzo dei gateway – Essa potrebbe non supportare la gestione delle transazioni anche per una coppia di sistemi – Essa mira solo alla traduzione di una query espressa in un linguaggio in una traduzione equivalente espressa in un altro linguaggio I Database Distribuiti Principali architetture distribuite • Processing distribuito • Sistemi di Database Federati • Sistemi Informativi Cooperativi • Data Warehouse I Database Distribuiti Sistemi di Database Federati • Consiste nell’implementare connessioni uno-a-uno tra tutte le coppie di database • Se si hanno n database è necessario scrivere n x (n-1) pezzi di codice I Database Distribuiti Sistemi di Database Federati • Un sistema di database federati può essere il più facile da costruire quando il numero di DBMS coinvolti è basso • Esempio: casa automobilistica NeededCars(model, color, autoTrans) Autos(serial, model, color) Options(serial, option) • Il Concessionario 1 vuole interrogare il Concessionario 2 in remoto per conoscere quali sono le automobili di quest’ultimo che soddisfano i requisiti specificati in NeededCars I Database Distribuiti Sistemi di Database Federati • Query associata alla problematica precedente I Database Distribuiti Sistemi di Database Federati • Se il Concessionario 1 vuole chiedere la stessa cosa al Concessionario 3 che usa lo schema: Cars(serialNo, model, color, autoTrans, …) La query sarebbe differente Sistemi Informativi Cooperativi Funzionamento • Struttura di un Sistema Informativo Cooperativo Sistemi Informativi Cooperativi Funzionamento • Esempio: casa automobilistica Concessionario 1 Cars(serialNo, model, color, autoTrans, cdPlayer, …) Concessionario 2 Autos(serial, model, color) Options(serial, option) Vista globale AutosMed(serialNo, model, color, autoTrans, dealer) Sistemi Informativi Cooperativi Funzionamento • Esempio: casa automobilistica L’utente chiede al mediatore macchine rosse: SELECT serialNo, model FROM autosMed WHERE color = ‘red’ Wrapper al Concessionario 1 SELECT serialNo, model FROM Cars WHERE color = ‘red’ Wrapper al Concessionario 2 SELECT serial, model FROM Autos WHERE color = ‘red’ Sistemi Informativi Cooperativi Funzionamento • Esempio: casa automobilistica – Il mediatore costruisce l’unione dei due insiemi e restituisce il risultato all’utente – Si assume che il numero seriale sia una chiave universale – Vi sono diverse opzioni che un mediatore può utilizzare per rispondere ad una query Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS - Template • Template: query parametriche Concessionario 1 Cars(serialNo, model, color, autoTrans, cdPlayer) Mediatore AutosMed(serialNo, model, color, autoTrans, dealer) Template: automobili di un determinato colore SELECT * FROM AutosMed WHERE color = ‘$C’; SELECT serialNo, model, color, autoTrans, ‘dealer1’ FROM Cars WHERE color = ‘$C’; Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS - Template • Il wrapper potrebbe avere un altro template che specifica solo il parametro $m che rappresenta un modello • In generale, per gestire tutte le combinazioni che si possono ottenere con n attributi, sarebbero necessari 2n template • Il numero di template potrebbe diventare enormemente grande Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS - Filtri • Esempio: casa automobilistica – Si supponga che ad un wrapper su un database di un concessionario di automobili sia stato associato il template che consente di selezionare le automobili in base al colore – Supponiamo che al mediatore venga richiesto di individuare le automobili con un determinato modello e un determinato colore – Template: SELECT * FROM AutosMed WHERE model = ‘$m’ AND color = ‘$C’; SELECT serialNo, model, color, autoTrans, ‘dealer1’ FROM Cars WHERE model = ‘$m’ AND color = ‘$C’; Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS - Filtri • Approccio alternativo: il wrapper prima effettui l’esecuzione di alcuni template generici e, successivamente, effettui un opportuno filtraggio per rispondere alle query • Riuscire a comprendere se una query di un mediatore richieda un sottoinsieme di ciò che viene restituito da qualche template sul wrapper è, in generale, un problema difficile • Esempio: casa automobilistica – Abbiamo il template sul colore – Vogliamo trovare automobili di colore blu ma il cui modello è Focus – Query al mediatore: SELECT * FROM AutosMed WHERE model = ‘blu’ AND model= ‘Focus’; Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS - Filtri • Esempio: casa automobilistica – Utilizzare il template del colore con $C = ‘blu’ per trovare tutte le automobili blu – Memorizzare il risultato in una relazione temporanea TempAutos(serialNo, model, color, autoTrans, dealer) – Selezionare da TempAutos il modello ‘Focus’ e restituire il risultato, mediante la query: SELECT * FROM TempAutos WHERE model = ‘Focus’ – • Le tuple di TempAutos sarebbero prodotte una alla volta e immediatamente filtrate Le operazioni di filtraggio possono avvenire anche sul Mediatore Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS – Altre operazioni sul wrapper • È possibile trasformare i dati sul wrapper secondo altre modalità • Le colonne possono essere opportunamente proiettate prima di trasmettere i dati al mediatore • È possibile effettuare aggregazioni o join sul wrapper • Esempio: casa automobilistica – Il mediatore vuole conoscere le macchine blu Focus presenti nei vari concessionari, ma vuole sapere soltanto il numero seriale, il concessionario e se hanno o meno il cambio automatico – Query del wrapper su TempAutos: SELECT serialNo, autoTrans, dealer FROM TempAutos WHERE model = ‘Focus’ Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS – Altre operazioni sul wrapper • Esempio: casa automobilistica – Si supponga che al mediatore venga chiesto di trovare i concessionari e i modelli tali che il concessionario abbia due macchine rosse, dello stesso modello, una con e una senza il cambio automatico. Si supponga, cioè, che il mediatore chieda al wrapper di rispondere alla seguente query: SELECT A1.model, A1.dealer FROM AutosMed A1, AutosMed A2 WHERE A1.model = A2.model AND A1.color = ‘red’ AND A2.color = ‘red’ AND A1.autoTrans = ‘no’ AND A2.autoTrans = ‘yes’ AND A1.dealer = A2.dealer; – Consideriamo il wrapper relativo al Concessionario 1 e supponiamo che l’unico template utile sia quello sui colori Sistemi Informativi Cooperativi Progettazione di un wrapper in un CIS – Altre operazioni sul wrapper • Esempio: casa automobilistica – Il wrapper, innanzitutto, applica il template sui colori ponendo $c = ‘rosso’ e ottiene la relazione RedAutos(serialNo, model, color, autoTrans, dealer) – Successivamente pone in join RedAutos con se stessa ed esegue la relazione necessaria secondo la query: SELECT DISTINCT A1.model, A1.dealer FROM RedAutos A1, AutosMed A2 WHERE A1.model = A2.model AND A1.autoTrans = ‘no’ AND A2.autoTrans = ‘yes; – In questo modo ottiene il risultato desiderato – Quest’ultima operazione potrebbe essere eseguita a livello di mediatore piuttosto che di wrapper. Sistemi Informativi Cooperativi Progettazione di un mediatore • La progettazione di un mediatore consiste nella creazione di un database virtuale unico • La generazione del database globale avviene mediante un’operazione denominata integrazione • Correlazioni semantiche • Diverse sorgenti sono state progettate da diversi individui • Le sorgenti informative coinvolte possono risultare semanticamente eterogenee • Il processo di integrazione non è una semplice fusione Sistemi Informativi Cooperativi Progettazione di un mediatore • Il processo di integrazione può essere effettuato a due livelli: – A livello intensionale, per fondere gli schemi – A livello estensionale, per fondere i dati • Le sorgenti coinvolte in un processo di integrazione possono avere formati differenti • La vera difficoltà da affrontare è l’eterogeneità semantica dei dati L’integrazione di sorgenti informative eterogenee Introduzione • I dati in gioco in un DDBMS sono ricavati da un insieme di sorgenti eterogenee • Schema locale di una sorgente • Le varie sorgenti possono essere fortemente correlate o completamente indipendenti • L’analisi delle fonti operazionali non è di per sé sufficiente • Dopo l’analisi risulta necessario un processo di riconciliazione che prevede integrazione, pulizia e trasformazione • La fase di integrazione è incentrata sulla componente intensionale • Pulizia e trasformazione dei dati operano a livello estensionale L’integrazione di sorgenti informative eterogenee Introduzione • Le fasi che permettono di effettuare la riconciliazione dei dati L’integrazione di sorgenti informative eterogenee Introduzione • Il quadro generale per la fase di analisi e riconciliazione è abbastanza complesso • Passi progettuali che compongono la fase di analisi e riconciliazione di due sorgenti L’integrazione di sorgenti informative eterogenee Introduzione • Sebbene il collegamento dei dati sia realizzato a livello logico, l’utilizzo di formalismi di livello concettuale è fortemente consigliato • Nel caso in cui si presentino situazioni più semplici sarà sufficiente eliminare le fasi non richieste • Gli schemi concettuali delle sorgenti rappresentano senz’altro il risultato principale dell’analisi L’integrazione di sorgenti informative eterogenee Ricognizione e normalizzazione degli schemi • Il progettista deve acquisire un’approfondita conoscenza delle sorgenti coinvolte attraverso attività di: – Ricognizione – Normalizzazione • La fase di ricognizione e normalizzazione deve essere svolta anche qualora sia presente una sola sorgente dati • Il progettista deve verificare la completezza degli schemi locali sforzandosi di individuare eventuali correlazioni involontariamente omesse • Le trasformazioni apportate allo schema non devono introdurre nuovi concetti bensì rendere espliciti tutti quelli ricavabili L’integrazione di sorgenti informative eterogenee Ricognizione e normalizzazione degli schemi • Trasformazioni lecite e illecite durante la fase di ricognizione e normalizzazione di una sorgente L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione • Questo problema è oggetto di studio da ormai 20 anni • Attualmente l’attività di ricerca è concentrata sull’automazione del processo di integrazione • Essa consiste nell’individuazione delle corrispondenze tra concetti rappresentati negli schemi locali e nella risoluzione dei conflitti evidenziati • Se le diverse sorgenti dati modellassero porzioni indipendenti e distinte del mondo reale il problema dell’integrazione non sussisterebbe • In pratica ciò non avviene • Inoltre, il processo di informatizzazione di un sistema informativo è di tipo incrementale ed evolutivo • A ciò si aggiungono errori di modellazione e di implementazione L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione • Proprietà inter-schema • È necessario utilizzare un unico formalismo • Il formalismo prescelto dovrebbe essere quello che garantisce il maggior potere espressivo L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione – Diversità di prospettiva • Il punto di vista rispetto al quale diversi gruppi di utenti vedono uno stesso concetto può differenziarsi notevolmente • Esempio: assegnamento dei dipendenti ai dipartimenti L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione – Equivalenza dei costrutti del modello • Rappresentare uno stesso concetto utilizzando combinazioni diverse dei costrutti • Esempio: legame tra libri e case editrici L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione – Incompatibilità delle specifiche • Schemi differenti che modellano una stessa porzione del dominio applicativo racchiudono concetti diversi • Esempio: associazione tra professori universitari e corsi • Le assunzioni fatte in un certo momento potrebbero non essere più vere successivamente L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione – Concetti comuni • Tipo di relazione semantica esistente tra concetti comuni • Quattro sono le possibili relazioni esistenti • Identità • Equivalenza – Definizione di Rissanen: due schemi sono equivalenti se le loro istanze possono essere messe in corrispondenza uno-a-uno – L’equivalenza implica che a livello estensionale esistano sempre due insiemi di dati, diversi ma equivalenti, che memorizzano le stesse informazioni L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione – Concetti comuni • Equivalenza – Due istanze per gli schemi equivalenti relativi allo schema con i libri e le case editrici visto precedentemente L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione – Concetti comuni • Comparabilità – • Incompatibilità – • Gli schemi relativi all’assegnamento dei dipendenti ai dipartimenti sono tra loro comparabili Gli schemi relativi all’associazione tra professori universitari e corsi visti precedentemente sono tra loro incompatibili Ad esclusione della situazione di identità tutti gli altri casi determinano dei conflitti L’integrazione di sorgenti informative eterogenee Il problema dell’integrazione – Concetti correlati • A seguito dell’integrazione molti concetti diversi ma correlati verranno a trovarsi nello stesso schema dando vita a nuove relazioni che non erano percepibili in precedenza L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione • Risolvere i problemi fin qui elencati richiede un complesso insieme di operazioni • I passi da effettuare possono essere così sintetizzati: – Preintegrazione – Comparazione degli schemi – Allineamento degli schemi – Fusione e ristrutturazione degli schemi L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione - Preintegrazione • Durante questa fase viene svolta l’analisi vera e propria delle sorgenti dati • Le principali decisioni da prendere riguardano: – Le porzioni degli schemi che dovranno essere integrate – La strategia dell’integrazione L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione - Preintegrazione • Le principali decisioni da prendere riguardano: – Tecniche ennarie e tecniche binarie – La maggior parte delle metodologie proposte in letteratura predilige l’approccio binario – Tecnica binaria a scala: consente di definire l’ordine di esame degli schemi da integrare – Il progettista dovrà verificare la qualità dei dati contenuti all’interno delle sorgenti L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Comparazione degli schemi • Analisi comparativa dei diversi schemi che mira a identificare le correlazioni e i conflitti tra i concetti in essi espressi • Il progettista non può prescindere dal collaborare con gli amministratori e gli utenti • I tipi di conflitti ricadono nelle seguenti categorie: – Conflitti di eterogeneità – Conflitti sui nomi • Sinonimie e omonimie • Individuazione delle omonimie e individuazione delle sinonimie • Una corretta documentazione di questo tipo di conflitto si può ottenere mediante dizionari dati L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Comparazione degli schemi • I tipi di conflitti ricadono nelle seguenti categorie: – Conflitti sui nomi • Esempi di sinonimie e omonimie L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Comparazione degli schemi • I tipi di conflitti ricadono nelle seguenti categorie: – Conflitti semantici • Gli schemi relativi all’assegnamento dei dipendenti ai dipartimenti visti in precedenza sono in conflitto semantico • Esempio ulteriore: L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Comparazione degli schemi • I tipi di conflitti ricadono nelle seguenti categorie: – Conflitti strutturali • Conflitti di tipo (le rappresentazioni per modellare il legame tra libri e case editrici viste in precedenza) • Conflitti di dipendenza • Conflitti di chiave • Conflitti di comportamento L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Comparazione degli schemi • L’individuazione delle correlazioni richiede un’approfondita conoscenza della semantica degli elementi coinvolti L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Allineamento degli schemi • Scopo di questa fase è la risoluzione dei conflitti evidenziatisi al passo precedente • Tipiche primitive di trasformazione riguardano il cambio dei nomi, la modifica delle dipendenze funzionali, etc. • Non sempre i conflitti possono essere risolti (esempio: il conflitto relativo all’associazione tra professori universitari e corsi visto in precedenza) • In caso di incertezza si preferiscono le trasformazioni che avvantaggiano gli schemi ritenuti centrali • A cominciare da questa fase il progettista deve definire il mapping tra gli elementi degli schemi sorgente e quelli dello schema riconciliato L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Fusione e ristrutturazione degli schemi • Durante questa fase gli schemi allineati vengono fusi a formare un unico schema riconciliato • Vengono sovrapposti i concetti comuni a cui saranno collegati tutti i rimanenti concetti • Possono essere necessarie ulteriori trasformazioni per garantire le seguenti proprietà: – Completezza – Minimalità – Leggibilità L’integrazione di sorgenti informative eterogenee Le fasi dell’integrazione – Fusione e ristrutturazione degli schemi – Due schemi equivalenti con un diverso livello di leggibilità L’integrazione di sorgenti informative eterogenee Definizione delle corrispondenze • Il risultato dell’analisi prevede lo schema riconciliato e l’insieme delle corrispondenze tra gli elementi presenti negli schemi sorgente e quelli dello schema riconciliato • Queste corrispondenze giocano un ruolo cruciale • Approccio GAV (Global-As-View): ad ogni concetto dello schema globale deve essere associata una vista il cui significato è definito in base ai concetti che risiedono sugli schemi sorgente • La modalità con cui vengono definite le corrispondenze incide sulla formulazione delle interrogazioni utilizzate negli strumenti ETL per il caricamento dei dati • Con la soluzione GAV sarà sufficiente l’unfolding • La semplicità di formulazione delle interrogazioni viene pagata in termini di estendibilità dello schema riconciliato L’integrazione di sorgenti informative eterogenee Definizione delle corrispondenze • Due mapping di tipo GAV nell’ambito di un sistema di ordini L’integrazione di sorgenti informative eterogenee Definizione delle corrispondenze • Approccio LAV (Local-As-View): lo schema globale è espresso indipendentemente dalle sorgenti i cui concetti saranno definiti come viste sullo schema globale • Questa soluzione richiede trasformazioni più complesse indicate in generale con il termine “query rewriting” • L’approccio LAV favorisce l’estensibilità dello schema riconciliato