1 / 93

Informationsintegration Schema Mapping

Informationsintegration Schema Mapping. 3.1.2006 – 10.1.2006 Felix Naumann. Überblick. Schema Mapping Überblick Schema Mapping (Matching) Mapping Interpretation (Transformation) Schema Matching (Ausblick) Demo. 10,000 feet. Einführung in die Informationsintegration

tasya
Télécharger la présentation

Informationsintegration Schema Mapping

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. InformationsintegrationSchema Mapping 3.1.2006 – 10.1.2006 Felix Naumann

  2. Überblick • Schema Mapping Überblick • Schema Mapping • (Matching) • Mapping • Interpretation • (Transformation) • Schema Matching (Ausblick) • Demo Felix Naumann, VL Informationsintegration, WS 05/06

  3. 10,000 feet • Einführung in die Informationsintegration • Szenarien der Informationsintegration • Verteilung und Autonomie • Heterogenität • Materialisierte und virtuelle Integration • Klassifikation integrierter Informationssysteme und 5-Schichten Architektur • Mediator/Wrapper-Architektur • Global-as-View und Lokal-as-View Modellierung • Global-as-View Anfragebearbeitung • SchemaSQL • Verteilte Anfragebearbeitung • Dynamische Programmierung in verteilten Datenbanken • Top-N Anfragen Problemstellung Architekturen Modellierung Optimierung Felix Naumann, VL Informationsintegration, WS 05/06

  4. 10,000 feet Mapping • Schema Mapping • Schema Matching • Containment & Local-as-View Anfragebearbeitung • Bucket Algorithmus • Peer-Data-Management Systeme (PDMS) • Informationsqualität • Duplikaterkennung • ETL & Data Lineage • Datenfusion - Union & Co. • Hidden Web • Semantic Web • Forschungsprojekte  - TSIMMIS, Garlic, Revere, etc • Data Streams Anfragen Konflikte Systeme Felix Naumann, VL Informationsintegration, WS 05/06

  5. Wrapper 2 Wrapper 3 Wrapper 1 Wdh: Virtuelle Integration • Datenfluss • Anfragebearbeitung • Entwicklung • Top-down • Schema Anwendung 1 Anwendung 2 Mediator Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

  6. Wdh: Bottom-up oder Top-down Entwurf • Beim Entwurf des integrierten Systems • Bottom-up: • Ausgelöst durch den Bedarf, mehrere Quellen integriert anzufragen • Schemaintegration ist wichtig. • Änderungen schwierig, da neu integriert werden muss. • Typisches Szenario: Data Warehouse • Top-down • Ausgelöst durch globalen Informationsbedarf • Vorteilhaft bei labilen Quellen • Schemaintegration nicht nötig, bzw. leichter Felix Naumann, VL Informationsintegration, WS 05/06

  7. Wdh: Bottom-up Entwicklung • Wesentliche Merkmale • Vorhandene lokale Schemata • ALLE Daten sollen integriert werden • Deshalb • Schema-integration Felix Naumann, VL Informationsintegration, WS 05/06

  8. Wdh: Top-down Entwicklung • Wesentliche Merkmale • Vorhandenes globales Schema • Passende lokale Systeme werden gesucht • Deshalb • LaV • und Schema Mapping Felix Naumann, VL Informationsintegration, WS 05/06

  9. Schemaintegration vs. Schema Mapping • Beide Probleme müssen strukturelle und semantische Heterogenität überwinden. • Aber: • Schemaintegration liefert Schema Mapping „frei Haus“. • Zielschema hat keine eigene Semantik. • Schemaintegration ist unflexibel. • Deshalb nun: Schema Mapping Felix Naumann, VL Informationsintegration, WS 05/06

  10. Verwendung von Schema Mappings • Datentransformation Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  11. Verwendung von Schema Mappings • Schemaintegration Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  12. Verwendung von Schema Mappings • Schemaevolution Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  13. Verwendung von Schema Mappings • Datentransformation • Materialisierte Integration • Virtuelle Integration Anfrage Felix Naumann, VL Informationsintegration, WS 05/06

  14. Überblick • Schema Mapping Überblick • Schema Mapping • (Matching) • Mapping • Interpretation • (Transformation) • Schema Matching (Ausblick) • Demo Aus [FHP+02] und aus VLDB 2002 Vortragsfolien Felix Naumann, VL Informationsintegration, WS 05/06

  15. Schema Mapping - Definitionen • (Inter-Schema) Korrespondenz • Eine Zuordnung eines oder mehrerer Elemente eines (Quell-) Schemas zu einem oder mehreren Elementen eines anderen (Ziel-) Schemas • Auch: Value-correspondence • (High-level) Mapping • Eine Menge von Korrespondenzen zwischen zwei Schemas. • (Low-Level) Logisches Mapping • Logische Übersetzung eines oder mehrerer Mappings, die • den Integritätsbedingungen beider Schemas gehorcht und • die Intention des Nutzers wiederspiegelt. • Interpretation • Übersetzung eines Mappings in ein oder mehrere logische Mappings • Übersetzung eines logischen Mappings in eine Transformationsanfrage • Transformationsanfrage • Anfrage in einer Anfragesprache (z.B. SQL), die Daten des Quellschemas in die Struktur des Zielschemas überführt Felix Naumann, VL Informationsintegration, WS 05/06

  16. Wdh: Schematische Heterogenität • Struktur • Modellierung • Relation vs. Attribut • Attribut vs. Wert • Relation vs. Wert • Benennung • Relationen • Attribute • Normalisiert vs. Denormalisiert • Geschachtelt vs. Fremdschlüssel hier Felix Naumann, VL Informationsintegration, WS 05/06

  17. Motivation • Datentransformation zwischen heterogenen Schemas • Altes aber immer wiederkehrendes Problem • Üblicherweise schreiben Experten komplexe Anfragen oder Programme • Zeitintensiv • Experte für die Domäne, für Schemata und für Anfrage • XML macht alles noch schwieriger • XML Schema, XQuery • Idee: Automatisierung • Gegeben: Zwei Schemata und ein high-level Mapping dazwischen. • Gesucht: Anfrage zur Datentransformation Felix Naumann, VL Informationsintegration, WS 05/06

  18. Motivation – Probleme • Generierung der „richtigen“ Anfrage unter Berücksichtigung der Schemata und des Mappings • Garantie, dass die transformierten Daten dem Zielschema entsprechen • Effiziente Datentransformation • Für Materialisierung (Ausführung, inkrementell) • Für virtuelle Integration (query-unfolding) Hier: Nur Effektivität, nicht Effizienz Felix Naumann, VL Informationsintegration, WS 05/06

  19. Geschachtelte Strukturen unterstützen Geschachteltes relationales Modell XML Geschachtelte Integritätsbedingungen Korrespondenzen Nutzerfreundlich Automatische Entdeckung Intention des Nutzers erkennen und repräsentieren Semantik der Daten erhalten Assoziationen entdecken & erhalten Schemata und deren Integritätsbedingungen nutzen Neue Datenwerte erzeugen Korrekte Gruppierungen erzeugen … Motivation – Weitere Probleme Felix Naumann, VL Informationsintegration, WS 05/06

  20. (High-level) Mapping Mapping Compiler “entspricht” (Low-level) Logisches Mapping (Transformationsprogramm oder Anfrage) Schema Mapping im Kontext • Möchte Daten aus S • Versteht/Kennt T • Versteht nicht immer S Quell- schema S Ziel- schema T “entspricht” Daten Quelle: [FHP+02] Felix Naumann, VL Informationsintegration, WS 05/06

  21. Schema Mapping im Kontext • Schema Matching & Korrespondenzen • Schema Mapping • Mapping Interpretation • Daten-transformation Felix Naumann, VL Informationsintegration, WS 05/06

  22. Wdh: Schematische Heterogenität – Beispiel • Normalisiert vs. Denormalisiert • 1:n Assoziationen zwischen Werten wird unterschiedlich dargestellt • Durch Vorkommen im gleichen Tupel • Durch Schlüssel-Fremdschlüssel Beziehung • Lösung: Schema Mapping Felix Naumann, VL Informationsintegration, WS 05/06

  23. Schema Mapping Beispiel • ARTICLE • artPK • title • pages • AUTHOR • artFK • name • PUBLICATION • pubID • title • date • author SELECT artPK AS pubID title AS title null AS date null AS author FROM ARTICLE UNION SELECT null AS pubID null AS title null AS date name AS author FROM AUTHOR Felix Naumann, VL Informationsintegration, WS 05/06

  24. Schematische Heterogenität – Lösungen • ARTICLE • artPK • title • pages • AUTHOR • artFK • name • PUBLICATION • pubID • title • date • author SELECT artPK AS pubID title AS title null AS date name AS author FROM ARTICLE, AUTHOR WHERE ARTICLE.artPK = AUTHOR.artFK Felix Naumann, VL Informationsintegration, WS 05/06

  25. Schematische Heterogenität – Lösungen • ARTICLE • artPK • title • pages • AUTHOR • artFK • name • PUBLICATION • pubID • title • date • author Gilt Schlüssel-eigenschaft? SELECT artPK AS pubID title AS title null AS date name AS author FROM ARTICLE LEFT OUTER JOIN AUTHOR ON ARTICLE.artPK = AUTHOR.artFK Felix Naumann, VL Informationsintegration, WS 05/06

  26. Wdh: Schematische Heterogenität – Lösungen • PUBLICATION • title • date • author • ARTICLE • artPK • title • pages • AUTHOR • artFK • name SELECT SK(title) AS artPK title AS title null AS pages FROM PUBLICATION SELECT SK(title) AS artFK author AS name FROM PUBLICATION Felix Naumann, VL Informationsintegration, WS 05/06

  27. Wdh: Schematische Heterogenität – Beispiel • Geschachtelt vs. Flach • 1:n Assoziationen werden unterschiedlich dargestellt • Als geschachtelte Elemente • Als Schlüssel-Fremdschlüssel Beziehung • Lösung: Schema Mapping Felix Naumann, VL Informationsintegration, WS 05/06

  28. Wdh: Schematische Heterogenität – Lösungen • ARTICLE • artPK • title • pages • AUTHOR • name • PUBLICATION • pubID • title • author LET $doc0 := document(“articles.xml") RETURN <root> { distinct-values ( FOR $x0 IN $doc0/authorDB/ARTICLE, $x1 IN $x0/AUTHOR RETURN <publication> <pubID> { $x0/artPK/text() } </pubID> <title> { $x0/title/text() } </title> <author> { $x1/name/text() } </author> </publication> ) } </root> Felix Naumann, VL Informationsintegration, WS 05/06

  29. Wdh: Schematische Heterogenität – Lösungen • PUBLICATION • title • date • author • ARTICLE • title • AUTHOR • name LET $doc0 := document(“publication.xml") RETURN <articles> { distinct-values ( FOR $x0 IN $doc0/dblp/publication RETURN <ARTICLE> <title> { $x0/title/text() } </title> { distinct-values ( FOR $x0L1 IN $doc0/dblp/publication WHERE $x0/title/text() = $x0L1/title/text() RETURN <AUTHOR> <name> { $x0L1/author/text() } </name> </AUTHOR> )} </ARTICLE> ) } </articles> Felix Naumann, VL Informationsintegration, WS 05/06

  30. Felix Naumann, VL Informationsintegration, WS 05/06

  31. Überblick • Schema Mapping Überblick • Schema Mapping • (Matching) • Mapping • Interpretation • Algorithmus • (Transformation) • Schema Matching (Ausblick) • Demo Aus [FHP+02] und aus VLDB 2002 Vortragsfolien Felix Naumann, VL Informationsintegration, WS 05/06

  32. Mapping – Das Problem • Gegeben: Zwei Schemata • Unabhängig voneinander erzeugt • Relational • Geschachtelt • Mit Integritätsbedingungen (Schlüssel/Fremdschlüssel) • Stellen teilweise unterschiedliche Daten dar • Gegeben: Eine Menge von Korrespondenzen zwischen den Schemata • Gesucht: Anfrage, die Daten des einen in Daten des anderen Schemas transformiert, wobei • Semantik des Quellschemas erhalten bleibt, • Integritätsbedingungen des Zielschemas berücksichtigt werden, • und möglichst alle Korrespondenzen berücksichtigt werden. Felix Naumann, VL Informationsintegration, WS 05/06

  33. Relationale vs. XML Schemata • Relationale Schemata • Flach • XML Schemata • Flach oder geschachtelt • NF2 Felix Naumann, VL Informationsintegration, WS 05/06

  34. Mapping – Beispiel haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal spendenDB firmen firma firmaID: integer name: string stadt: string spenden spende firmaID: integer spendeID: integer betrag: decimal projekt: string spender: string Quelle für Beispiel: [FHP+02] Felix Naumann, VL Informationsintegration, WS 05/06

  35. Mapping – Beispiel haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal spendenDB firmen firma firmaID: integer name: string stadt: string spenden spende firmaID: integer spendeID: integer betrag: decimal projekt: string spender: string • Interpretation: • Erzeuge für jede firma in spendenDB. eine org in haushaltDB. • orgID muss „erfunden“ werden • stadt muss „erfunden“ werden Felix Naumann, VL Informationsintegration, WS 05/06

  36. Mapping – Beispiel haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal spendenDB firmen firma firmaID: integer name: string stadt: string spenden spende firmaID: integer spendeID: integer betrag: decimal projekt: string spender: string • Interpretation: • Erzeuge für jede firma in spendenDB. eine org in haushaltDB. • stadt muss „erfunden“ werden Felix Naumann, VL Informationsintegration, WS 05/06

  37. „Erfinden“ von Werten • Zwei Gründe zum Erfinden: non-null und Identität • Non-null Werte • Erfundener Wert egal • Z.B. „unbekannt“ oder „null“ (oder „Berlin“) • ID Werte • Skolemfunktion: • Input: n Werte (beliebige Domäne) • Output: bezgl. Input eindeutiger Wert (beliebiger Domäne) • Beispiel: Konkatenation aller Inputwerte als String Wert für org.orgID nicht egal, sondern je nach firma.name eindeutig! Felix Naumann, VL Informationsintegration, WS 05/06

  38. Mapping – Beispiel haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal spendenDB firmen firma firmaID: integer name: string stadt: string spenden spende firmaID: integer spendeID: integer betrag: decimal projekt: string spender: string • Interpretation: • Erzeuge für jede spendenDB.firma.stadt ein haushaltDB.stadthaushalt mit gleichem Namen. • Gruppiere jede firma unter den entsprechendenstadtHaushalt. Felix Naumann, VL Informationsintegration, WS 05/06

  39. Mapping – Beispiel haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal spendenDB firmen firma firmaID: integer name: string stadt: string spenden spende firmaID: integer spendeID: integer betrag: decimal projekt: string spender: string • Interpretation: • Erzeuge für jede firma in spendenDB. eine org in haushaltDB. • Erzeuge für jede spende in spendenDB eine einnahme in haushaltDB • Erzeuge für jede spende in spendenDB eine buchung in haushaltDB • Gruppiere korrekt: Schachtelung & Fremdschlüssel! Felix Naumann, VL Informationsintegration, WS 05/06

  40. Mapping – Beispiel haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal spendenDB firmen firma firmaID: integer name: string stadt: string spenden spende firmaID: integer spendeID: integer betrag: decimal projekt: string spender: string Weitere Interpretation: & Felix Naumann, VL Informationsintegration, WS 05/06

  41. Verschiedene Mapping Situationen verschiedene Kardinalitäten verschiedene Datentypen FK-Beziehung vs. Schachtelung Attribute nicht Teil des Mappings 2:1 Korrespondenz Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  42. Klassifikation von Mapping Situationen Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  43. Klassifikation von Mapping Situationen Mapping Situationen infolge fehlender Korrespondenzen Attribut des Quellschemas nicht Teil des Mappings Element des Quell- oder Zielschemas nicht Teil des Mappings Attribut des Zielschemas nicht Teil des Mappings nicht hier Teil eines Fremd- schlüssels erforderlich mit/ohne Vorgabewert Teil eines Schlüssel oder UNIQUE-Constraints nicht erforderlich Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  44. Quelle Ziel Attribut Attribut Element Element Klassifikation von Mapping Situationen Mapping Situationen, die einzelne Korrespondenzen betreffen (nicht untersucht) n:1 Korrespondenzen m:n Korrespondenzen 1:n Korrespondenzen 1:1 Korrespondenzen Unterscheidungen je nach Zusammenhang der Quell- und/oder Zielstrukturen (nur für Attribute) Situationen in Abhängigkeit von der Kardinalität Situationen in Abhängigkeit vom Datentyp Transformationsfunktion und/oder Filter vorhanden Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  45. Zusammenhang der Quellstrukturen Zusammenhang der Zielstrukturen struktureller Zusammenhang struktureller Zusammenhang Fremdschlüsselbasierter Zusammenhang Fremdschlüsselbasierter Zusammenhang kein (offensichtlicher) Zusammenhang kein (offensichtlicher) Zusammenhang Klassifikation von Mapping Situationen Mapping Situationen, die mehr als eine Korrespondenz betreffen nicht hier unterschiedliche Strukturen in Quelle und Ziel spezielle Situationen mit Choice-Gruppierungen alle Kombinationen Folie: Frank Legler Felix Naumann, VL Informationsintegration, WS 05/06

  46. Überblick • Schema Mapping Überblick • Schema Mapping • (Matching) • Mapping • Interpretation • Algorithmus • (Transformation) • Schema Matching (Ausblick) • Demo Aus [FHP+02] und aus VLDB 2002 Vortragsfolien Felix Naumann, VL Informationsintegration, WS 05/06

  47. Mapping – Algorithmus • Drei Schritte • Entdeckung von intra-Schema Assoziationen • Entdeckung von inter-Schema logischen Mappings • Anfrage-erzeugung haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal spendenDB firmen firma firmaID: integer name: string stadt: string spenden spende firmaID: integer spendeID: integer betrag: decimal projekt: string spender: string Felix Naumann, VL Informationsintegration, WS 05/06

  48. Entdeckung von Assoziationen • Schritt 1 • Intra-schema Assoziationen zwischen Schemaelementen • Relationale Sichten enthalten maximale Gruppen assoziierter Elemente • Jede Sicht repräsentiert eine eigene „Kategorie“ an Daten der Datenquelle • Unabhängig vom Mapping (aber beschränkt auf „gemappte“ Elemente) Quell- schema S Ziel- schema T Assoziationen des Quellschemas Assoziationen des Zielschemas Quelle: [FHP+02] Felix Naumann, VL Informationsintegration, WS 05/06

  49. Entdeckung von Assoziationen • Start: Alle „primären“ Pfade (primary paths) • Assoziationen im Schema ohne Integritätsbedingungen • Relationale Schemas • Jede Relation entspricht einem primären Pfad • Geschachtelte Schemas • Attribute einer Ebene • Attribute geschachtelter Ebenen haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal Felix Naumann, VL Informationsintegration, WS 05/06

  50. Entdeckung von Assoziationen • Betrachte nun Schlüssel / Fremdschlüssel (ICs) • Logische Relation • Erweitere jeden primären Pfad durch „Verfolgen“ der ICs (chase) haushaltDB stadtHaushalt stadt: string organisationen org orgID: integer orgname: string einnahmen einnahme spendeID: integer proj: string buchungID: integer buchungen buchung buchungID: integer datum: date menge: decimal Felix Naumann, VL Informationsintegration, WS 05/06

More Related