La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Data Exchange Introduzione Data exchange & data integration: caratteristiche e differenze Il problema del data exchange Soluzioni universali Core di una.

Presentazioni simili


Presentazione sul tema: "Data Exchange Introduzione Data exchange & data integration: caratteristiche e differenze Il problema del data exchange Soluzioni universali Core di una."— Transcript della presentazione:

1 Data Exchange Introduzione Data exchange & data integration: caratteristiche e differenze Il problema del data exchange Soluzioni universali Core di una soluzione universale Query answering Composing schema mappings 07/07/ Seminari di ingegneria del software

2 Introduzione: Il problema dellinteroperabilità dei dati 2 I dati possono essere: In posti differenti In formati differenti (relazionale, XML, …). Esistono due approcci differenti al problema: Data Integration Data Exchange 07/07/ Seminari di ingegneria del software

3 Data Exchange: visione dinsieme 3 Il Data Exchange è un problema vecchio e ricorrente. Phil Bernstein – 2003 Il Data exchange è il più vecchio problema sui database Prima applicazione: EXPRESS: IBM San Jose Research Lab – 1977 EXtraction, Processing, and REStructuring System per trasformare dati tra database gerarchici. Applicazioni odierne: Data Warehousing, ETL (Extract-Transform-Load); XML Publishing, XML Storage, … 07/07/ Seminari di ingegneria del software

4 07/07/ Seminari di ingegneria del software Data exchange & data integration : caratteristiche e … Data integration : - tripla (S, G, M) -Due approcci per M. LAV e GAV Data exchange: - Quadrupla (S, T, Σst, Σt)

5 07/07/2008 Seminari di ingegneria del software 5 Data exchange & data integration : … differenze Scopo principale Vincoli Query answering (certain answers)

6 Il problema del Data Exchange 6 Source S Target T Schema Mapping M = (S, T, Σ) Source schema S, Target schema T Asserzioni Σ specificano le relazioni tra S eT. Obiettivo: Trasformare una istanza source I in una istanza target J, in modo che soddisfi le specifiche Σ di M. I J Σ 07/07/ Seminari di ingegneria del software

7 Soluzioni 7 Definizione: Schema Mapping M = (S, T, Σ) Se I è unistanza source, allora una soluzione per I è unistanza target J tale che soddisfi Σ. Fatto: In generale, per unistanza source I, Può non esistere alcuna soluzione oppure Possono esistere più soluzioni; in particolare, possono esistere infinite soluzioni 07/07/ Seminari di ingegneria del software

8 Schema Mappings: Problemi 8 Problema decisionale: Data una istanza source I, esiste una soluzione J per I? Problema funzionale: Data una istanza source I, costruire una soluzione J per I, assodato che esista Schema SSchema T I J Σ 07/07/ Seminari di ingegneria del software

9 Data Exchange con Tgds e Egds 9 Gli schema mappings di un problema di Data Exchange che verranno presi in considerazione sono composti da: Source-to-target tgds Target tgds Target egds Tuple-generating dependencies (tgds) Equality-generating dependencies (egds) 07/07/ Seminari di ingegneria del software

10 Dipendenze source-to-target 10 La relazione tra source e target è data da formule della logica del primo ordine chiamate: Source-to-Target Tuple Generating Dependencies (s-t tgds) (x) y (x, y), dove (x) è una congiunzione di atomi sul source; (x, y) è una congiunzione di atomi sul target. Esempio: (Student(s) Enrolls(s,c)) t g (Teaches(t,c) Grade(s,c,g)) 07/07/ Seminari di ingegneria del software

11 Dipendenze source-to-target 11 s-t tgds generalizzano le specifiche più importanti del data integration: Generalizzano LAV (local-as-view) : P(x) y (x, y), dove P è un source schema. Generalizzano GAV(global-as-view) : (x) R(x), dove R è un target schema. 07/07/ Seminari di ingegneria del software

12 Dipendenze target 12 Oltre alle dipendenze source-to-target, vanno considerate anche le dipendenze target: Target Tgds : T (x) y T (x, y) Dept (did, dname, mgr_id, mgr_name) Mgr (mgr_id, did) (dipendenza di inclusione sul target) Target Equality Generating Dependencies (egds): T (x) (x 1 =x 2 ) (Mgr (e, d 1 ) Mgr (e, d 2 )) (d 1 = d 2 ) (condizione di chiave sul target) 07/07/ Seminari di ingegneria del software

13 Data Exchange 13 Schema Mapping può essere visto come una quadrupla: M = (S, T, Σ st, Σ t ), dove Σ st è un insieme di source-to-target tgds Σ t è un insieme di target tgds e target egds Source Schema S Target Schema T Σ st I J Σ t 07/07/ Seminari di ingegneria del software

14 Data Exchange 14 Fatto: Data una istanza source I, possono esistere più soluzioni. Esempio: Relazione source E(A,B), relazione target H(A,B) Σ: E(x,y) z (H(x,z) H(z,y)) Istanza source I = {E(a,b)} Soluzioni: possono esisterne infinite! J 1 = {H(a,b), H(b,b)} costanti: J 2 = {H(a,a), H(a,b)} a, b, … J 3 = {H(a,X), H(X,b)} labeled nulls: J 4 = {H(a,X), H(X,b), H(a,Y), H(Y,b)} X, Y, … 07/07/ Seminari di ingegneria del software

15 Soluzioni universali 15 Le soluzioni universali sono le migliori soluzioni per un problema di Data Exchange. Sono considerate le soluzioni più generali, non contengono nè più nè meno di quanto richiesto dalle specifiche. Hanno un omomorfismo verso tutte le altre soluzioni Const: insieme dei valori che compaiono nellistanza source Var (labeled nulls): insieme infinito di valori tali che: Var Const = {} Omomorfismo h: J 1 J 2 tra istanze target: h(c) = c, per ogni costante in Const Se P(a 1,…,a m ) è in J 1,, allora P(h(a 1 ),…,h(a m )) è in J 2 07/07/ Seminari di ingegneria del software

16 Soluzioni universali 16 Schema SSchema T I J Σ J1J1 J2J2 J3J3 Soluzione universale Soluzioni h1h1 h2h2 h3h3 Omomorfismi 07/07/ Seminari di ingegneria del software

17 Esempio 17 Relazione source S(A,B), relazione target T(A,B) Σ : E(x,y) z (H(x,z) H(z,y)) Istanza source I = {H(a,b)} Alcune possibili soluzioni: J 1 = {H(a,b), H(b,b)} non è universale J 2 = {H(a,a), H(a,b)} non è universale J 3 = {H(a,X), H(X,b)} è universale J 4 = {H(a,X), H(X,b), H(a,Y), H(Y,b)} è universale 07/07/ Seminari di ingegneria del software

18 Soluzioni universali: proprietà 18 Unicità sullequivalenza omomorfica: Se J e J sono universali per I, allora sono omomorficamente equivalenti. Assumiamo che Σst sia un insieme di tgds. Siano I, I due istanze del source schema, J una soluzione universale per I, e J una soluzione universale per I. Allora Sol(I) Sol(I) se e solo se cè un omomorfismo h: J J. Di conseguenza, Sol(I) = Sol(I) se e solo se J e J sono omomorficamente equivalenti. 07/07/ Seminari di ingegneria del software

19 Trovare le soluzioni universali 19 Se esiste una soluzione, una soluzione universale canonica può essere trovata utilizzando la procedura chase. PROCEDURA CHASE si comincia con unistanza si applica il chase a applicando le dipendenze in Σst e Σt fintantoché sono applicabili. Questa procedura può: fallire non terminare,.. ma se termina è garantito che listanza risultante soddisfa tutte le dipendenze e che, per di più, è una soluzione universale. 07/07/ Seminari di ingegneria del software

20 Trovare le soluzioni universali 20 CHASE STEP Sia K unistanza: (tgd) Sia d una tgd φ(x) yψ(x, y). Sia h un omomorfismo da φ(x) a K tale che non esista unestensione di h a un omomorfismo h da φ(x) ψ(x, y) a K. Sia K lunione di K con linsieme dei fatti ottenuti: (a) estendendo h ad h in modo tale che ad ogni variabile in y sia assegnato un nuovo labeled null; (b) prendendo limmagine degli atomi di ψ sotto h. Diciamo che K d,h K. (egd) Sia d un egd φ(x) (x1 = x2). Sia h un omomorfismo da φ(x) a K tale che h(x1) != h(x2). Distinguiamo ora due casi: - Se sia h(x1) che h(x2) sono in Const, fallimento - Altrimenti, sia K come K in cui identifichiamo h(x1) e h(x2) come segue: - se uno è una costante, allora il labeled null è rimpiazzato dovunque dalla costante; - Se sono entrambi labeled nulls, allora ognuno è rimpiazzato dovunque dallaltro. Diciamo che K d,h K. 07/07/ Seminari di ingegneria del software

21 Trovare le soluzioni universali 21 SEQUENZA CHASE Una sequenza chase di K con Σ è una sequenza (finita o infinita) di chase steps Ki di,hi Ki+1, con i=0,1,…., con K=K0 e d i una dipendenza in Σ. CHASE FINITO Un chase finito di K con Σ è una sequenza chase finita: Ki di,hi Ki+1, con 0 i < m, con il requisito che: (a) Km = oppure (b) non cè dipendenza d i in Σ e non cè omomorfismo h i tale che d i possa essere applicato a Km con h i. 07/07/ Seminari di ingegneria del software

22 07/07/2008 Seminari di ingegneria del software 22 Th. Si assuma una configurazione di Data Exchange in cui Σst consiste in tgds e Σt consiste in tgds e egds. 1.Sia il risultato di un qualche chase finito di con Σst Σt. Allora J è una soluzione universale. 2.Se esiste un qualche chase finito di che fallisce con Σst Σt allora non esiste soluzione. La dimostrazione fa uso del seguente lemma: Lemma. sia K1 d,h K2 un chase step dove K2!=. Sia K unistanza tale che: (i) K soddisfa d e (ii) esiste un omomorfismo h1 : K1 K. Allora esiste un omomorfismo h2 : K2 K. Teorema: chase e soluzioni universali

23 07/07/2008 Seminari di ingegneria del software 23 Dimostrazione teorema: La dimostrazione del teorema si basa sul precedente lemma e sullosservazione che l identity mapping è un omomorfismo da a per ogni soluzione J. 1.Dimostrazione parte 1: soddisfa Σst Σt. Sia J una soluzione arbitraria. soddisfa Σst Σt. Lidentity mapping id: è un omomorfismo. Dal lemma, si ottiene un omomorfismo h:. Quindi, J è universale. 2.Dimostrazione parte 2: chase step fallisce d deve essere un egd di Σt, detto φ(x) (x1 = x2), e h : φ(x) J è un omomorfismo tale che h(x1) e h(x2) sono due costanti distinte c1 e c2. Per assurdo si supponga che esista una soluzione J. Omomorfismo identità id: implica, dal lemma, lesistenza dellomomorfismo g: :. Quindi, g h : φ(x) J è un omomorfismo J soddisfa d deve essere il caso in cui g(h(x1)) = g(h(x2)) e quindi g(c1) = g(c2). Gli omomorfismi sono identità su Const, quindi c1=c2, che è una contraddizione. Teorema: chase e soluzioni universali

24 Esempio (chase infinito) 24 S: DeptEmp(dpt_id, mgr_name, eid) T: Dept(dpt_id, mgr_id, mgr_name), emp(eid, dpt_id). Σst = { DeptEmp(d, n, e) M.Dept(d,M, n) Emp(e, d) } Σt = { Dept(d, m, n) D.Emp(m,D), Emp(e, d) M N.Dept(d,M,N) } I = {DeptEmp(CS,Mary, E003) } Applicando il chase con Σst si ottiene listanza target: J1 = {Dept(CS,M,Mary), Emp(E003, CS)} J ={Dept(CS,M,Mary), Emp(E003, CS), Emp(M,D), Dept(D,M,N),... } Daltro canto, una soluzione finita esiste. Due soluzioni (nessuna delle quali universale) sono ad esempio: J ={Dept(CS,E003,Mary), Emp(E003, CS)} J ={Dept(CS,M,Mary), Emp(E003, CS), Emp(M,CS)} 07/07/ Seminari di ingegneria del software

25 07/07/2008 Seminari di ingegneria del software 25 Soluzioni universali: Full tgds I full tgds sono dei tgds senza variabili esistenzialmente quantificate, nella forma: T (x) T (x), dove T (x) e T (x) sono congiunzioni di atomi target Esempio (full tgd) H(x,z) H(z,y) H(x,y) C(z) E stato provato che ogni sequenza chase con un insieme Σ di full tgds ha lunghezza finita. Inoltre, ogni insieme di egds può essere aggiunto a Σ senza influenzare questo risultato. Tuttavia,.. non sono molto utili in pratica

26 07/07/2008 Seminari di ingegneria del software 26 Soluzioni universali: Weakly Acyclic Set La nozione di WAS (Weakly Acyclic Set) include: -Insiemi di full tgds - insiemi aciclici di dipendenze di inclusione Sia Σ un insieme di tgds, costruiamo il grafo delle dipendenze: 1.Esiste un nodo per ogni (R,A) dove R è un simbolo di relazione e A un attributo di R; 2.Si aggiungono gli archi come segue: per ogni per ogni tgd φ(x) y ψ(x, y) in Σ e per ogni x che occorre in ψ e per ogni occorrenza di x in φ in (R, Ai): a. Si aggiunge un arco (R, Ai) (S, Bj) ( se non esista già) per ogni x in ψ in posizione (R,Bj). b. Si aggiunge un arco speciale (R,Ai) (T,Ck) ( se non esiste già) per ogni y in ψ in posizione (T, Ck) DEF. Σ è weakly acyclic se il grafo delle dipendenze non contiene cicli attraverso archi speciali.

27 07/07/2008 Seminari di ingegneria del software 27 Soluzioni universali: Weakly Acyclic Set Esempio: S : DeptEmp(dpt_id,mgr_name,eid) T : Dept(dpt_id, mgr_id, mgr_name) ; Emp(eid, dpt_id) Σst = { DeptEmp(d, n, e) M.Dept(d,M, n) Emp(e, d) } Σt = { Dept(d, m, n) D.Emp(m,D), Emp(e, d) M N.Dept(d,M,N) } Non è weakly acyclic!! Esempio: Σt = { Dept(d, m, n) Emp(m, d), Emp(e, d) M N.Dept(d,M,N) } OK

28 07/07/2008 Seminari di ingegneria del software 28 Soluzioni universali: Weakly Acyclic Set Th. Sia Σ lunione di un weakly acyclic set of tgds con un insieme di egds, e sia K unistanza. Allora esiste un valore polinomiale nella dimensione di K che limita la lunghezza di ogni sequenza chase di K con Σ. DIM. Per ogni nodo (R,A) (posizione) Siano: -Σ senza egds; - incoming path: ogni percorso che finisce in (R, A); - rank: numero max di archi speciali su ogni incoming path - r: il massimo di rank(R, A) - p: il numero di nodi nello schema - partizioniamo i nodi in N0, N1, …., Nr con Ni insieme dei nodi con rank =i; -n il numero totale di valori distinti che appartengono allistanza K. - K qualsiasi istanza ottenuta da K dopo qualche arbitraria sequenza di chase. Lemma. per ogni i esiste un polinomio Qi, tale che il numero di valori distinti che occorrono in tutti i nodi (R,A) di Ni, in K, è al più Qi(n).

29 07/07/2008 Seminari di ingegneria del software 29 Soluzioni universali: Weakly Acyclic Set DIM. (per induzione) Lemma Passo Base: (R, A) è in N0 Q0(n) = n; Passo induttivo: un valore può occorrere in un nodo di Ni, in K, per: 1. È stato copiato da qualche nodo in Nj con j != i, durante un chase step. 2. È stato generato come nuovo valore (labeled null) durante un chase step. Quanti valori possono essere generati nel Caso (2)? Sia (R,A) un nodo in Ni. Induttivamente, il numero di valori distinti che possono esistere in tutti i nodi in N0 U …. U Ni-1 è limitato da P(n) = Q0(n) + …. + Qi-1(n). Sia d il numero max di archi speciali che entrano in un nodo. Il numero totale di nuovi nodi: (P(n)) d x D, dove D è il numero di dipendenze in Σ. Considerando tutti i nodi in Ni: G(n) = pi x (P(n)) d x D con pi è il numero di nodi in Ni. Considerando che lo schema e Σ sono fissi, G è polinomiale. N0 U …. U Ni-1. * (R,A)

30 07/07/2008 Seminari di ingegneria del software 30 Soluzioni universali: Weakly Acyclic Set Quanti valori possono essere copiati da un nodo in Nj a un nodo in Ni con j != i ? N0 U …. U Ni-1. (R,A) Quindi il numero massimo è limitato dal numero totale di valori in N0 U …. U Ni-1 che è P(n). Ricapitolando Qi(n) = n + G(n) + P(n) Notare che i <= r(costante) Ne consegue che il numero totale di tuple che possono esistere in K è al più (Q(n)) Corollario: Si assuma una configurazione di Data Exchange in cui Σst sia un insieme di tgds e Σt lunione di un weakly acyclic set of tgds con un insieme di egds. Lesistenza di una soluzione può essere controllata in tempo polinomiale. Se la soluzione esiste, allora una soluzione universale può essere trovata in tempo polinomiale.

31 07/07/2008 Seminari di ingegneria del software 31 La più piccola soluzione universale: il CORE Soluzioni universali multiple: qual è la migliore? Quale utilizzare? CORE Def. Sia G = (N, A) un grafo. Un sottografo G = (N, A) è il core di G se: 1. un omomorfismo da G a G. 2.! un omomorfismo da G a qualche altro sottografo proprio di G. G è un core se è un core di se stesso. Esempio. S: E(x,y)T: H(x,y) Σst : E(x,y) z (H(x,z) H(z,y)) Σt = Ø. I = { E(a,b) }. Soluzioni universali: J1 = {H(a,X), H(X,b)} è il core. J2 = {H(a,X), H(X,b), H(a,Y), H(Y,b)} è una sol univ Universal solution J core(J) homomorphism

32 07/07/2008 Seminari di ingegneria del software 32 08/07/2008 Seminari di ingegneria del software 32 La più piccola soluzione universale: il CORE Complessità. Il problema nella sua generalità è intrattabile. ma… - CORE IDENTIFICATION (DP-complete) - CORE RECOGNITION (coNP-complete) … Prop. Sia (S, T, Σst, Σt) uno schema mapping: 1.Tutte le soluzioni universali hanno lo stesso core. 2.Il core di una soluzione universale è la più piccola soluzione universale.

33 07/07/2008 Seminari di ingegneria del software 33 La più piccola soluzione universale: il CORE..in certi setting il core di una soluzione universale può essere calcolato in tempo polinomiale: - st un insieme di s-t tgds e t un insieme di egds. - Algoritmo Greedy ( semplice ma utilizza listanza sorgente ) - Algoritmo Blocks ( più complessa ma utilizza solo listanza target) - st un insieme di s-t tgds e t un insieme di weakly acyclic tgds con arbitrarie egds.

34 Query Answering 34 Schema S Schema T I J Σ q Definizione: Le risposte certe di una query q su T su I certain(q,I ) = { q( J ): J è una soluzione per I }. 07/07/2008 Seminari di ingegneria del software 34

35 Risposte certe 35 certain(q,I) q( J 1 ) q( J 2 ) q( J 3 ) certain(q, I ) = { q( J ): J è una soluzione per I }. 07/07/2008 Seminari di ingegneria del software 35

36 Trovare le risposte certe 36 Th: Si assuma che M = (S,T,Σst Σt) sia uno schema mapping tale che Σst sia un insieme di tgds source-to-target e Σt sia un insieme di target egds e target tgds. Sia q un unione di query congiuntive sullo scherma target T (Si ricorda che una query congiuntiva è una formula del primo ordine nella forma wχ(x,w), dove χ(x,w) è una congiunzione di atomi). 1. Se I è unistanza source e J è una soluzione universale per I, allora certainM(q, I)= q(J), dove q(J) è linsieme di tutte le tuple di q(J) senza null, ovvero tutte le tuple t in q(J) tali che ogni valore in t sia una costante di Const. 2. Sia I unistanza source e J una soluzione tale che per ogni query congiuntiva q su T, si ha che certain(q, I) = q(J). Allora J è universale. Quindi, certain(q, I ) è computabile in tempo polinomiale in | I |: 1.Computare una soluzione universale canonica J in tempo polinomiale; 2.Valutare q( J ) e rimuovere le tuple con i null. 07/07/2008 Seminari di ingegneria del software 36

37 Trovare le risposte certe 37 Dimostrazione 1. Sia q una query di arità k che è lunione di query congiuntive e sia t una k-tupla di costanti dallistanza source I. t appartiene a certain(q,I), t appartiene a q(J), con J soluzione t appartiene a q(J) t consiste solamente di costanti. Inoltre esistono un termine φ(x) in q e un omomorfismo g : φ(x) J tale che g(x) = t. Sia J una soluzione arbitraria. J è una soluzione universale cè un omomorfismo h : J J. Allora h g è un omomorfismo da φ(x) a J. Gli omomorfismi sono identità sulle costanti, per cui h(g(x)) = h(t) = t. Quindi t appartiene a q(J). 2. Sia q^j la query congiuntiva canonica associata a J (ad esempio, la query congiuntiva booleana ottenuta prendendo la congiunzione di tutti i fatti di J nei quali i labeled null sono sostituiti da variabili esistenzialmente quantificate). Si sa che certain(q^j, I) = q^j(J) = q^j(J), dove la prima uguaglianza deriva dallassunzione su J, e la seconda deriva dal fatto che q^j è una query booleana. Quindi finchè q^j(J) = true, si ha che certain(q^j,I) = true. Inoltre, se J è una soluzione arbitraria, si ha che q^j(J) = true. Questo implica lesistenza di un omomorfismo h : J J. Quindi J è universale. 07/07/2008 Seminari di ingegneria del software 37

38 Risposte certe e soluzione universale 38 q( J 1 ) q( J 2 ) q( J 3 ) certain(q, I ) insieme di tuple senza null di q( J ). q( J ) certain(q, I ) q( J ) Soluzione universale J per I q: unione di query congiuntive 07/07/2008 Seminari di ingegneria del software 38

39 Esempio 39 Sia M uno schema mapping tale che: Σst = {E(x, y) ( z)(H(x, z) H(z, y))} Σt =. Sia I listanza source che consiste semplicemente nel fatto E(1,2). Sia q(x) la query congiuntiva wH(x,w). E facile verificare che certain(q,I) = {1}. Prendiamo in considerazione la seguente soluzione universale per I: J = {H(1, u),H(u, 2)} Si può notare che q(J) = {1,u}, quindi eliminando i valori nulli si ottiene q(J) = {1} = certain(q,I), come ipotizzato dal teorema. 07/07/ Seminari di ingegneria del software

40 Esempio (Query congiuntive con disuguaglianze) 40 Sia M lo stesso schema mapping dellesempio precedente: Σst = {E(x, y) ( z)(H(x, z) H(z, y))} Σt =. Sia I listanza source che consiste semplicemente nel fatto E(1,1). Sia q(x) la query congiuntiva w (H(x,w) w!=x). E facile verificare che certain(q,I) = {}. Prendiamo in considerazione la seguente soluzione universale per I: J = {H(1, u),H(u, 1)} Si può notare che q(J) = {1,u}, quindi eliminando i valori nulli si ottiene q(J) = {1} != certain(q,I), per cui il teorema non è soddisfatto. 07/07/ Seminari di ingegneria del software

41 Risposte certe e disuguaglianze 41 Th: Si assuma che M = (S,T,Σst Σt) sia uno schema mapping tale che Σst sia un insieme di tgds source-to-target e Σt sia un insieme di target egds e un weakly acyclic set di target tgds. 1. Sia q ununione di query congiuntive con al più una disuguaglianza per query congiuntiva. Allora le risposte certe di q sono computabili in tempo polinomiale. 2. Sia q ununione di query congiuntive con disuguaglianze. Il problema delle risposte certe per q è un problema in coNP. 3. Computare le risposte certe di unioni di query congiuntive con disuguaglianze può essere un problema coNP-completo anche se lunione consiste di due query congiuntive ognuna della quali abbia al massimo due disuguaglianze e il cui schema mapping non abbia condizioni target. 07/07/2008 Seminari di ingegneria del software 41

42 Risposte certe e core 42 Si assuma che M = (S,T,Σst Σt) sia uno schema mapping tale che Σst sia un insieme di tgds source-to-target e Σt sia un insieme di target egds e target tgds. Si assuma anche che I sia unistanza source per la quale esistano soluzioni universali. Sia J0 il core delle soluzioni universali per I. Sia q un unione di query congiuntive con disuguaglianze. q(J0) q(J), per ogni soluzione universale J per I; q(J0) = {q(J) : J è universale per I} certain(q, I). 07/07/2008 Seminari di ingegneria del software 42

43 Risposte certe universali 43 Risposte certe: Possibili mondi = Soluzioni Risposte certe universali: Possibili mondi = Soluzioni universali Definizione: Risposte certe universali di una query q su T su I u-certain(q, I ) = { q( J ): J è una soluzione universale per I }. Dalle definizioni segue che certain(q, I) u-certain(q, I). Inoltre, se q è ununione di query congiuntive e I è unistanza source per la quale esiste soluzione universale, si ha che certain(q, I) = u-certain(q, I). 07/07/2008 Seminari di ingegneria del software 43

44 Trovare le risposte certe universali 44 Schema mapping M = (S, T, st, t ) tale che: st è un insieme di tgds source-to-target t è un insieme di target egds e target tgds. Sia q una query esistenziale su T. Se I è unistanza source e J è una soluzione universale per I, allora u- certain(q,I) = linsieme di tutte le tuple senza null in q(core(J)). Si noti che lunione di query congiuntive con disuaglianze è un caso speciale di query esistenziali. 07/07/2008 Seminari di ingegneria del software 44

45 Risposte certe universali e core 45 q( J 1 ) q( J 2 ) q( J 3 ) u-certain(q, I ) = insieme di tutte le tuple senza null di q(core( J )). q( J ) u-certain(q, I ) q(core( J) ) Soluzione universale J per I q: esistenziale 07/07/2008 Seminari di ingegneria del software 45

46 07/07/2008 Seminari di ingegneria del software 46 Composing Schema Mapping DEF. Scriviamo Inst(M) linsieme di tutte le istanze di M. Siano M 12 = (S 1, S 2, Σ 12 ) e M 23 = (S 2, S 3, Σ 23 ) due schema mappings tali che S 1, S 2, S 3 non abbiano simboli relazionali in comune. Uno schema mapping M 13 = (S 1, S 3, Σ 13 ) è una composizione di M 12 e M 23 se Inst(M 13 ) = Inst(M 12 ) ° Inst(M 23 ), ossia: Inst(M 13 ) = { | Exist I 2 tale che Inst(M 12 ) e Inst(M 23 ) } Proprietà: - Equivalenza logica - Inst( 12 ) Inst( 23 ) è chiusa sotto lisomorfismo Composition Query: date due istanze I 1 e I 3 è Inst(M12) ° Inst(M23)?

47 07/07/2008 Seminari di ingegneria del software 47 Composing Schema Mapping Composing s-t tgds Punto chiave: chiusura dei linguaggi sotto la composizione 12 Σ Σ Σ 13 Composition Query Insieme finito di full tgds P-time Insieme finito di full tgds Insieme finito di s-t tgds Insieme finito di full tgds Insieme infinito di s-t tgds P-time (att) Singola s-t tgdsInsieme finito di full s-t tgds Non definibile-- Insieme finito di s-t tgds Formula esist. 2 ordine NP

48 07/07/2008 Seminari di ingegneria del software 48 Composing Schema Mapping Second-order tgds Def: Sia S uno schema sorgente e T uno schema target. Una second-order tuple- generating dependency (SO tgd) è una formula: f 1 … f m ( ( x 1 ( 1 1 )) … ( x n ( n n )) ), dove: -Ogni f i è un simbolo di funzione. - Ogni i è unintersezione di atomi da S ed uguaglianze di termini - Ogni i è unintersezione di atomi da T. Esempio: f ( e( Emp(e) Mgr(e,f(e) ) e( Emp(e) (e=f(e)) SelfMgr(e) ) )

49 07/07/2008 Seminari di ingegneria del software 49 Composing Schema Mapping SO-tgds - Proprietà: - La composizione di SO tgds è definibile in un SO tgds - Esiste un algoritmo per comporre SO-tgds - Chasable - Per gli schema mapping specificati da SO tgds, le certain answers di query congiuntive target sono calcolabili in tempo polinomiale

50 07/07/2008 Seminari di ingegneria del software 50 Composing Schema Mapping Computing – Algoritmo Compose 12 = Exists f ( e ( Emp(e) Mgr1(e, f(e) ) ) ) 23 = Exist e,m ( Mgr1(e, m) Mgr(e, m ) ) AND p.o. e ( Mgr1(e, e) SelfMgr(e) ) Input: due schema mappings M 12 =(S 1, S 2, 12 ) e M 23 =(S 2, S 3, 23 ) con 12 e 23 SO tgds. Output: una composizione M 13 = (S 1, S 3, 13 ) dove 13 è un insieme di SO tgds. - Dividere le SO tgds in 12 e 23. Es: C 12 = Emp(e) (Mgr1(e, f(e)) C 23 = Mgr1(e,m) Mgr(e,m) Mgr1(e,e) SelfMgr(e) - Componi C 12 con C 23 Es: P 1 : Emp(e 0 ) (e=e 0 ) (m = f(e 0 )) Mgr1(e,m) P 2 : Emp(e 0 ) (e=e 0 ) (e = f(e 0 )) SelfMgr(e) - Costruisce M 13 Es: 13 = f ( e 0 e m P 1 e 0 e P 2 ) -Return M 13 = (S 1, S 3, 13 )

51 07/07/2008 Seminari di ingegneria del software 51 Grazie per lattenzione !!!


Scaricare ppt "Data Exchange Introduzione Data exchange & data integration: caratteristiche e differenze Il problema del data exchange Soluzioni universali Core di una."

Presentazioni simili


Annunci Google