Informationsintegration

Ähnliche Dokumente
Informationsintegration

Informationsintegration

Informationsintegration Global-as-View: GaV Felix Naumann

Informationsintegration Global-as-View: GaV Felix Naumann

Datenintegration & Datenherkunft Global-as-View (GaV) und Local-as-View (LaV)

Modellierung von Datenquellen

Überblick. Informationsintegration Local-as-View: LaV Felix Naumann

Informationsintegration Local-as-View: LaV Felix Naumann

Kapitel 5: Anfrageverarbeitung. Multidatenbanksprachen am Beispiel von SchemaSQL

Datenintegration. Kapitel 5: Anfrageverarbeitung. Dr. Anika Groß Sommersemester 2016

Lösung - Übungsblatt 2

Informationsintegration Local-as-View: LaV Felix Naumann

Informationsintegration

Integration, Migration und Evolution

Informationsintegration Beispiel

II Heterogenität und Architekturen

Teil 1: Deduktive Datenbanken Gerd Stumme Christoph Schmitz

Vorlesung Datenbanken I Zwischenklausur

Komplexität. Matthias Sax. 9. Juli Humboldt-Universität zu Berlin. Institut für Informatik

Vorlesung Datenbanktheorie. Einige Erweiterungen der Anfragesprachen. Regelbasierte konjunktive Anfragen mit = Vorlesung vom Mittwoch, 26.

Kapitel 2: Ein abstraktes Geo-Datenmodell

Spezifikation in Datalog:

Kapitel 2: Ein abstraktes Geo-Datenmodell

Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

II Einführung Informationsintegration

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Aggregatfunktionen in der Relationenalgebra?

Schemamerging und -mapping

Deklarative Informationsextraktion

Kap. 5 Erweiterung der Relationenalgebra für Deduktive Datenbanken

Wir haben folgende Ausprägung der Relation Studenten:

Datalog. Moritz Kaufmann 1. Juni Technische Universität München

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries

Einführung in die Logik (Vorkurs)

Logische und funktionale Programmierung

Komplexitätstheorie Datenbanken und Deskriptive Komplexität

Kapitel 3: Grundlagen von Anfragesprachen

2. Ein abstraktes Geo-Datenmodell

Datenbanken: Relationales Modell und SQL. Dr. Matthias Uflacker, Stefan Klauck 23. April 2018

Informationsintegration

mehrwertige Abhängigkeiten

Kapitel 10: Relationale Anfragebearbeitung

Vorlesung Logik und Datenbanken

Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1

Datenbanksysteme I WS 17/18 HS-Übung. Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M.

Einführung in die Informatik II

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

Query Languages (QL) Relationale Abfragesprachen/Relational

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Geoinformation Abbildung auf Tabellen

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Schema Mapping. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Schema Mapping / 23

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Indexstrukturen in SQL

Informationsintegration. Ulf Leser Sebastian Wandelt

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Informationsintegration

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Logisches und funktionales Programmieren

Logik Vorlesung 5: Grundlagen Resolution

Datenbanktheorie. Literatur: Abiteboul, S., R. Hull und V. Vianu, Foundations of Databases, Addison-Wesley 1995.

Wiederholung VU Datenmodellierung

Grundlagen von Datenbanken

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 2: Grundlagen von Anfragesprachen

Aufgabenblatt 4 SQL. Vorbereitungen für das Aufgabenblatt: IMDB in DB2 laden

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Kap. 3 Relationenmodell mit relationaler Algebra

Informationsintegration

Kapitel 10: Relationale Anfragebearbeitung

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Abschnitt 3: Mathematische Grundlagen

Anfragebearbeitung und Optimierung

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie

DBS1: Übungsserie Normalformen und relationale Algebra Structured Query Language (SQL)

SchemaSQL Eine Multidatenbank Sprache. Volodymyr Biryuk

Data Warehousing und Data Mining

Wiederholung VU Datenmodellierung

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur

5. Übungsblatt (Testatwoche: Mai 2010)

Data Warehousing und Data Mining

Abschnitt 3: Mathematische Grundlagen

Ausgangspunkt. Datenintegration. Ziel. Konflikte. Architekturen. Transparenz

Semesterklausur Datenbanksysteme 1 SS 2015

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Data Warehousing und Data Mining

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Transkript:

Informationsintegration Korrespondenzen Local-as-View Semantik der Anfrageplanung Ulf Leser Wissensmanagement in der Bioinformatik

Abstrakter Wenn das integrierte System ein globales Schema zur Verfügung stellt Wie beschreibt man die Beziehungen zwischen dem globalen und den verschiedenen lokalen Schemata? Wie benutzt man diese Beziehungen zur Anfrageplanung? Kann man aus solchen Beziehungen das integrierte Schema erzeugen? Ulf Leser: Informationsintegration, Wintersemester 2008/2009 2

Aufgabe Globales Schema Korrespondenzen Exportschema Aufgabe der Anfragebearbeitung Gegeben eine Anfrage q gegen das globale Schema Gegeben eine Menge von Korrespondenzen zwischen globalem und lokalen Schemata Finde alle Antworten auf q Ulf Leser: Informationsintegration, Wintersemester 2008/2009 3

Anfragebearbeitung Schritt 1: Anfrageplanung (in den nächsten Wochen) Welche Quellen können / sollen / müssen benutzt werden? Welche Teile der Anfrage sollen an welche Quelle geschickt werden? Schritt 2: Anfrageübersetzung Übersetzung aus der Sprache der Föderation in die Sprache der Quellen Schritt 3: Anfrageoptimierung Finde geeignete Reihenfolge der Ausführung der Teilanfragen Wer führt was aus (Pushen)? Wer kann was ausführen (Kompensation)? Schritt 4: Anfrageausführung Monitoring, Puffern, Cachen Dynamische Reoptimierung Schritt 5: Ergebnisintegration Duplikaterkennung und Konfliktauflösung Ulf Leser: Informationsintegration, Wintersemester 2008/2009 4

Beispiel Globales Schema Datenquellen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 5

Anfrageplanung Globale Anfrage Alle Filme, in denen Hans Albers eine Hauptrolle spielte Was kommt in Frage? film: Quellen imdb.movie und fd.film spielt: Quellen imdb.acts und fd.spielt Ergibt vier Anfragepläne Ulf Leser: Informationsintegration, Wintersemester 2008/2009 6

Global as View / Local as View Global as View Relationen des globalen Schemata werden als Sichten auf die lokalen Schemas der Quellen ausgedrückt Local as View Relationen der Schemata der Quellen werden als Sichten auf das globale Schema ausgedrückt Ulf Leser: Informationsintegration, Wintersemester 2008/2009 7

Global as View (GaV) Beispiel Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) S1: IMDB( Titel, Regie, Jahr, Genre) S2: MyMovies( Titel, Regie, Jahr, Genre) S3: RegieDB( Titel, Regie) S4: GenreDB( Titel, Jahr, Genre) CREATE VIEW Film AS SELECT * FROM IMDB UNION SELECT * FROM MyMovies UNION SELECT RegieDB.Titel, RegieDB.Regie, GenreDB.Jahr, GenreDB.Genre FROM RegieDB, GenreDB WHERE RegieDB.Titel = GenreDB.Titel Quelle: VL Data Integration, Alon Halevy, University of Washington, 2002 Ulf Leser: Informationsintegration, Wintersemester 2008/2009 8

Zwei Arten von GaV Regel Einfache GaV Regeln: Quellspezifisch Lokale Anfrage adressiert nur eine Quelle Verknüpfung über Quellen hinweg übernimmt die Anfrageplanung Besser wartbar (Änderung einer Quelle kann nur wenige Sichten betreffen) Einfacher zu erweitern (bestehende Views nicht anfassen) Komplexe GaV Regeln: Quellübergreifend Lokale Anfrage ist eine Anfrage in einer Multidatenbanksprache Eine Sicht fasst alle Objekte einer globalen Relation zusammen Sicht film, schauspieler, Anfrageplanung übernimmt nur noch Verknüpfung zwischen verschiedenen Relationen, d.h., Joins in der globalen Anfrage Weniger robust, schwerer zu erweitern Änderung einer Quelle kann alle Sichten betreffen Klassenspezifische Konfliktlösung kann in den View eingebaut werden Ulf Leser: Informationsintegration, Wintersemester 2008/2009 9

Globale Integritätsconstraints Neuerfilm( Titel, Regie, Jahr, Genre); Regisseur( Name, Foto, Alter); IC: Jahr > 2000 CREATE VIEW NeuerFilm AS SELECT * FROM IMDB WHERE Jahr > 2000 UNION SELECT * FROM MyMovies WHERE Jahr > 2000 S1: IMDB( Titel, Regie, Jahr, Genre) S2: MyMovies( Titel, Regie, Jahr, Genre) IC auf globalem Schema in die Sichtdefinition aufnehmen Ausführung in der Quelle (push) oder im Mediator Gegenbeispiel? Ulf Leser: Informationsintegration, Wintersemester 2008/2009 10

GaV Beispiel 3 Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) S1: IMDB(Titel, Regie, Jahr, Genre) S2: RegieDB(Titel, Regie) S3: GenreDB(Titel, Jahr, Genre) S7: KinoDB(Titel, Kino, Zeit) SELECT F.Titel, P.Kino, F.Regie FROM Film F, Programm P WHERE F.Titel = P.Titel AND P.Zeit > 20:00 SELECT F.Titel, P.Kino, F.Regie FROM ( SELECT * FROM IMDB UNION SELECT R.Titel, R.Regie, G.Jahr, G.Genre FROM RegieDB R, GenreDB G WHERE R.Titel = G.Titel) AS F, ( SELECT * FROM KinoDB) AS P WHERE F.Titel = P.Titel AND P.Zeit > 20:00 Ulf Leser: Informationsintegration, Wintersemester 2008/2009 11

Direkte Übersetzung SELECT F.Titel, P.Kino FROM ( SELECT * FROM IMDB UNION SELECT R.Titel, R.Regie, FROM RegieDB R, GenreDB G WHERE R.Titel = G.Titel) AS F, ( SELECT * FROM KinoDB) AS P WHERE F.Titel = P.Titel AND P.Zeit > 20:00 π titel,kino σ P.Zeit>20:00 Titel Titel GenreDB RegieDB IMDB KinoDB Ulf Leser: Informationsintegration, Wintersemester 2008/2009 12

Alternative Join-Ausführung π titel,kino π titel,kino Titel σ P.Zeit>20:00 Titel Titel Titel σ P.Zeit>20:00 GenreDB RegieDB IMDB KinoDB GenreDB RegieDB IMDB KinoDB Ulf Leser: Informationsintegration, Wintersemester 2008/2009 13

Inhalt dieser Vorlesung Anfragekorrespondenzen Einführung Korrespondenztypen und -arten GaV erklärt Local as View Query Containment Semantische Korrektheit von Anfrageplänen Später Algorithmen zum Query Containment Answering Queries using Views GLaV Global and Local as View Ulf Leser: Informationsintegration, Wintersemester 2008/2009 14

Anfrageplan Gegeben Eine Anfrage q an das globale Schema Lokale Schemata Definition Gegeben eine globale Anfrage q. Ein Anfrageplan p für q ist eine Anfrage der Form q 1 q n so dass Jedes q i kann von genau einem Wrapper ausgeführt werden Jedes von p berechnete Tupel ist eine semantisch korrekte Antwort für q Bemerkungen Semantisch korrekt haben wir noch nicht definiert In der Regel gibt es viele Anfragepläne Die q i heißen Teilanfragen oder Teilpläne Ulf Leser: Informationsintegration, Wintersemester 2008/2009 15

Viele Anfragepläne Definition Gegeben eine globale Anfrage q. Sei p 1,, p n die Menge aller Anfragepläne für q. Dann ist das Ergebnis von q definiert als Bemerkungen result( q) = In der Informationsintegration sollte UNION Duplikate entfernen Problem der Ergebnisintegration Wie das Ergebnis berechnet wird, ist Sache der Anfrageoptimierung Pläne können sich in Teilanfragen überlappen Ergebnis von q hängt nur von den definierten Korrespondenzen ab U i= 1.. n result( p i ) Ulf Leser: Informationsintegration, Wintersemester 2008/2009 16

Anfragekorrespondenzen Anfrageplanung übersetzt zwischen verschiedenen Sprachen im selben Datenmodell Zielschema und Quellschemata Beziehungen zwischen den Sprachelementen sind Grundlage der semantischen Korrektheit von Plänen Beziehungen: Homonyme, Synonyme, Hyperonyme, etc. Sprachen: Wörter, Sätze, Texte Schemata: Attribute, Relationen, Anfragen Beziehungen werden durch Korrespondenzen ausgedrückt Ulf Leser: Informationsintegration, Wintersemester 2008/2009 17

Übersetzung The dog barked and went away Der Hund bellte und ging weg Strukturelle und semantische Heterogenität Last summer we went to greece spending a year s income Wir sind letzten Sommer nach Griechenland gefahren und haben ein Jahreseinkommen auf den Kopf gehauen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 18

Auf Schemaebene SELECT titel, regisseur FROM film titel SELECT titel, rolle FROM spielt WHERE rolle= Hauptrolle AND s_name= Hans Albers q 1 SELECT title, director FROM imdb.movie q 2 p = q 1 title q 2 SELECT title, role FROM imdb.acts WHERE role = main actor AND actor_name= Hans Albers Ulf Leser: Informationsintegration, Wintersemester 2008/2009 19

Viele Fragen Welche Attribute entsprechen welchen Attributen? Wie bricht man die globale Anfrage am besten auf? Für welche Teile der globalen Anfrage gibt es äquivalente Anfragen an Wrapper? Wie drückt man diese Korrespondenzen aus? Wie kann man dabei mit beschränkten Quellen umgehen? Ulf Leser: Informationsintegration, Wintersemester 2008/2009 20

Inhalt dieser Vorlesung Anfragekorrespondenzen Einführung Korrespondenztypen und -arten GaV erklärt Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 21

Korrespondenzarten Beziehungen zwischen Attributen Einfach zu finden: Schema Mapping Bottom-Up Beziehungen zwischen Relationen / Anfragen werden hergeleitet Das geht nicht immer eindeutig (später) Beziehungen zwischen Relationen Natürliche Ebene Planung wird zur Ersetzung von Relationennamen Reicht oft nicht, weil Relationen eines Schemas nicht 1:1 den Relationen eines anderen Schemas entsprechen Beziehungen zwischen Anfragen Subsumiert beide vorherigen Konzepte Sehr flexibel Schwierigere Anfrageplanung (LaV gleich) Ulf Leser: Informationsintegration, Wintersemester 2008/2009 22

Korrespondenztypen 1 Sei q 1 ein Sprachelement des globalen Schemas und q 2 ein Sprachelement eines lokalen Schemas Sprachelement = Anfrage/Relation/Attribut Exklusion: q 1 q 2 = Die Extensionen von q 1 und q 2 sind überlappungsfrei Das ist der Normalfall und wird angenommen, wenn keine Korrespondenz zwischen zwei Anfragen bekannt ist Inklusion: q 1 q 2 Die Extensionen von q 2 ist in der von q 1 enthalten In unserem Setting: Extension der Wrapperanfragen (q 2 ) ist in der Extension der globalen Anfrage (q 1 ) enthalten Besser denken: soll enthalten sein Beachte: q 2 wird nur einmal in einer Korrespondenz vorkommen, aber q 1 kann die Obermenge vieler Wrapperanfragen sein Ulf Leser: Informationsintegration, Wintersemester 2008/2009 23

Korrespondenztypen 2 Äquivalenz: q 1 q 2 Die Extensionen von q 1 und q 2 sind identisch Interpretation: q 2 ist die einzig mögliche Datenquelle von q 1 Es darf also keine weitere Regel der Art q i q 2 oder q i q 2 geben Oder damit wird ausgedrückt, dass q 1 q i Betrachten wir im folgenden nicht Überlappung: q 1 q 2 (q 1 q 2 ) ( q 1 q 2 ) Die Extensionen von q 1 und q 2 überschneiden sich, ohne das eine die andere enthält Damit sind manche Ergebnisse von q 2 nicht in der Extension von q 1 enthalten falsche Ergebnisse Diese Korrepondenzen nützen uns nichts Vorgehen: Finde eine Einschränkung filter von q 2 so, dass q 1 filter(q 2 ) Ulf Leser: Informationsintegration, Wintersemester 2008/2009 24

Korrespondenzen Definition Eine (Anfrage-)korrespondenz ist eine Regel der Art q 1 q 2 q 1 ist eine Anfrage an das globale Schema q 2 ist eine ausführbare Anfrage an das Exportschema eines Wrappers Bemerkung Eine Korrespondenz sagt etwas über die Extensionen von Anfragen aus Also über die Beziehungen von Tupelmengen, die durch Anfragen in unterschiedlichen Schemata berechnet werden Also ist das eine Aussage über die Semantik von Anfragen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 25

GaV und LaV Definition Eine Korrespondenz q 1 q 2 heißt GaV (Global-as-View), wenn q 1 (globales Schema) eine einzelne Relation ohne Selektionen oder Joins ist LaV (Local-as-View), wenn q 2 (Wrapperschema) eine einzelne Relation ohne Selektionen oder Joins ist Sonst heißt sie GLaV (Global-local-as-view) Bemerkungen Wir verwenden ab jetzt nur noch - Korrespondenzen Die nächste Zeit wird uns LaV beschäftigen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 26

Inhalt dieser Vorlesung Anfragekorrespondenzen Einführung Korrespondenztypen und -arten GaV erklärt Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 27

Global-as-View erklärt Eine GaV-Korrespondenz besteht also aus Einer Relation q 1 des globalen Schemas mit Projektionen Aber ohne Selektionen Einer ausführbaren Anfrage q 2 an ein Wrapperschema q 2 hat dasselbe Exportschema wie q 1 Beispiel π titel,regisseur ( film) π title,director ( imdb.movie) π titel,rolle,s_name (spielt) π title,role,actor_name (imdb.acts) Ulf Leser: Informationsintegration, Wintersemester 2008/2009 28

GaV Planung σ rolle,s_name (π titel,regisseur ( film) titel π titel,rolle,s_name (spielt)) π title,director ( imdb.movie) π title,role,actor_name (imdb.acts) p = σ rolle,s_name (q 1 title q 2 ) Ulf Leser: Informationsintegration, Wintersemester 2008/2009 29

Spezifischere Korrespondenzen Man könnte auch andere Regeln spezifizieren q 1 : π titel,regisseur ( film) π title,director ( imdb.movie) q 2 : π titel,rolle,s_name (spielt) σ role,actor_name ( π title,role,actor_name (imdb.acts)) Damit q: π titel,regisseur (film) titel σ rolle,s_name (π titel,rolle,s_name (spielt)) q: q 1 q 2 Vorteil Selektionen werden implizit (durch Regeldefinition) gepushed Nachteil Regel ist gut genau für q für andere Anfragen schlecht Wir brauchen exponentiell mehr Regeln Deklarativer Charakter von Korrespondenzen geht verloren Korrespondenzen: so generisch wie möglich Alles weitere der Anfrageoptimierung überlassen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 30

GaV Planung Relationen des globalen Schemas werden in Anfragen an Wrapper übersetzt Wir fordern meistens an einen Wrapper, aber das kann auch eine UNION von Anfragen an verschiede Wrapper sein Planung mit GaV Regeln: Gegeben q q in relationale Algebra übersetzen Alle Selektionen nach außen ziehen Damit werden alle Selektionen im Mediator ausgeführt Raum für Anfrageoptimierung Projektionen nach außen ziehen Dito - Anfrageoptimierung Alle Relationen in q durch entsprechende Anfragen aus GaV Regeln für die jeweilige Relation ersetzen Testen, ob der Plan ausführbar ist Was kann schief gehen? Alle Pläne: Alle möglichen Kombinationen aus Ersetzungen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 31

Zu allgemeine Wrapperkonzepte Wenn nun aber Global: luxusauto( ) Lokal: auto( ) Luxusautos sind Autos, aber nicht umgekehrt: luxusauto auto Können wir die Quelle also nicht verwenden? Korrespondenzen anders spezifizieren Lokal: auto(,preis, ) Damit: luxusauto σ preis>50000 ( auto(,preis, )) Wenn semantische Einschränkungen nicht durch Anfragen ausdrückbar sind, kann man die Quelle tatsächlich nicht sicher integrieren Siehe globale Integritätsconstraints bei GaV Ulf Leser: Informationsintegration, Wintersemester 2008/2009 32

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Notation: Datalog Local-as-View Korrespondenzen Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 33

Konjunktive Anfragen Wir betrachten nur konjunktive Anfragen Equi-joins und Bedingungen mit =,<,> zwischen Attribut und Wert Kein NOT, EXISTS, GROUP BY,, X>Y,... LaV Planung viel schwieriger für andere Anfrageklassen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 34

Kürzere Schreibweise Schreibweise: Datalog (Prolog) q(t,r,o) :- film(t,r,j),spielt(t,n,o),n= Hans Albers ; SELECT Klausel Regelkopf, Exported Variables FROM Klausel Relationen werden zu Prädikaten Attribute werden über Position statt Name adressiert WHERE Klausel Joins: gleiche Variablen an mehreren Stellen repräsentiert Bedingungen mit >,< werden explizit angegeben Gleichheitsbedingungen Attribut = Wert werden durch Konstante in Literal angegeben oder durch eigene Bedingung Ulf Leser: Informationsintegration, Wintersemester 2008/2009 35

SQL Datalog SELECT FROM WHERE Join q(t,r,o) :- film(t,r,j), spielt(t,n,o), N= Hans Albers, O= Hauptrolle ; Ulf Leser: Informationsintegration, Wintersemester 2008/2009 36

Begriffe Ulf Leser: Informationsintegration, Wintersemester 2008/2009 37

Beispiel q(t,r,o) :- film(t,r,j), spielt(t,n,o), N= Hans Albers, O= Hauptrolle ; q(t,r,o) :- film(t,r,_), spielt(u Hans Albers, Hauptrolle ), T=U; film, spielt,.. sind Prädikate Relationen des Schemas film( T,R,J), spielt(t,n,o) sind Literale Eine Anfrage kann ein Prädikat mehrmals enthalten - mehrere Literale desselben Prädikats Literale sind eindeutig in einer Anfrage, Prädikate nicht Variable, die nicht interessieren, kürzt man mit _ ab q ist sicher, wenn jede exportierte Variable im Rumpf vorkommt Ulf Leser: Informationsintegration, Wintersemester 2008/2009 38

Kein echtes Datalog Datalog kennt noch mehr Disjunktion und Vereinigung Andere Joins als Equi-Joins Rekursive Anfragen Extensional predicates: Prädikate, deren Extension in der Datenbank vorliegen Intensional predicates: Prädikate, die zur Laufzeit berechnet werden SQL: Views Verwendet ein intensionales Prädikat sich selber im Rumpf, wird dadurch eine rekursive Anfrage definiert Normales SQL: Verboten Rekursives SQL: Views mit Namen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 39

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Notation: Datalog Local-as-View Korrespondenzen Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 40

Warum Local-as-View? Andere Sichtweise Es gibt in der Welt eine Menge von Filmen, Schauspielern, Das globale Schema modelliert diese Welt Theoretisch steht damit die Extension fest Aber niemand kennt sie Informationsintegration versucht sie herzustellen Quellen speichern Ausschnitte der realen Welt Also Sichten auf die globale Extension Nur die können wir verwenden Film Globales Schema Schauspieler Quelle 2 Quelle 1 Quelle 3 Ulf Leser: Informationsintegration, Wintersemester 2008/2009 41

LaV Beispiel Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) S1: IMDB(Titel, Regie, Jahr, Genre) S2: MyMovies(Titel, Genre, Regie, Jahr) S3: RegieDB(Titel, Regie) S4: GenreDB(Titel, Jahr, Genre) CREATE VIEW S1 AS SELECT * FROM Film CREATE VIEW S2 AS SELECT Titel, Regie, Jahr, Genre FROM Film CREATE VIEW S3 AS SELECT F.Titel, F.Regie FROM Film F CREATE VIEW S4 AS SELECT F.Titel, F.Jahr, F.Genre FROM Film F Quelle: VL Data Integration, Alon Halevy, University of Washington, 2002 Ulf Leser: Informationsintegration, Wintersemester 2008/2009 42

Uninteressante lokale Attribute Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) CREATE VIEW S9 AS SELECT Titel, Jahr FROM Film S9: ActorDB(Titel, Schauspieler, Jahr) schauspieler gibt es im globalen Schema nicht Für diese Anwendung uninteressant Ulf Leser: Informationsintegration, Wintersemester 2008/2009 43

Assoziationen im globalen Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) CREATE VIEW S7 AS SELECT P.Kino, F.Genre FROM Film F, Programm P WHERE F.Titel = P.Titel S7: KinoDB(Kino, Genre) Assoziationen des globalen Schemas können in der Sicht dargestellt werden Ulf Leser: Informationsintegration, Wintersemester 2008/2009 44

Assoziationen im lokalen Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) CREATE VIEW S7Filme AS SELECT Titel, Jahr FROM Film CREATE VIEW S7Regie AS SELECT Regie FROM Film S9: Filme(Titel, Jahr, Ort, RegieID); Regie(ID, Regisseur); Assoziationen des lokalen Schemas können nicht abgebildet werden Ulf Leser: Informationsintegration, Wintersemester 2008/2009 45

Lokale Integritätsconstraints Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) CREATE VIEW S8 AS SELECT Titel, Regie, Genre FROM Film WHERE Jahr > 2000 S8: NeueFilme(Titel, Regie, Genre), Jahr>2000; Nebenbedingung auf der Quelle kann modelliert werden Wenn das Attribut im globalen Schema existiert IC müssen in der Quelle nicht explizit definiert sein Auch implizite Einschränkungen können in den View Ulf Leser: Informationsintegration, Wintersemester 2008/2009 46

Globale Integritätsconstraints Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) Jahr > 2000 CREATE VIEW S1 AS SELECT * FROM Film (WHERE Jahr> 2000)?? S1: IMDB(Titel, Regie, Jahr, Genre) Nebenbedingungen auf dem globalen Schema können wir nicht modellieren Das ging bei GaV Also hat beides Stärken und Schwächen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 47

Komplexere Beispiele Ulf Leser: Informationsintegration, Wintersemester 2008/2009 48

Anfragebearbeitung - Probleme Alle Filme kürzer als 100 Minuten spielfilme (filtern) kurzfilme (vollständig) us_spielfilm (filtern) Alle Filme, die länger als 60 Minuten sind spielfilme (filtern) us_spielfilm (filtern) Besetzungen von Hauptrollen in Filmen unter 100 Minuten spielfilme filmkritiken? spielfilme spielfilm_kritiken? spielfilme us_spielfilm? spielfilme kurzfilm_rollen? Ulf Leser: Informationsintegration, Wintersemester 2008/2009 49

Anders formuliert Globale Anfrage film(t,_,_,l), spielt(t,s,o,_), O= Hauptrolle, L<100; Plan 1 spielfilme filmkritiken Expandiert: film(t,y,r,l),l>79,y= Spielfilm, film(t,_,r,_),spielt(t,s,o,_),o = Hauptrolle, T=T Frage? Erzeugt film(t, Spielfilm,R,L),L>79, film(t,_,r,_),spielt(t,s, Hauptrolle,_); Nur richtige Antworten für film(t,_,_,l), spielt(t,s, Hauptrolle,_), L<100; Ulf Leser: Informationsintegration, Wintersemester 2008/2009 50

Anfrageplanung mit LaV Gegeben Ein globales Schema S Eine Anfrage q an S Eine Menge von Sichten v 1,,v n auf S Gesucht Alle Kombinationen von Sichten, die q beantworten Wir wissen aber nicht, wie wir q am besten zerlegen, so dass eine Teilquery immer einer Sichtdefinition entspricht In der Regel wird das auch nicht gelingen Planung ist viel schwieriger als bei GaV Answering queries using views Anderes Bild: Eine Datenbank und eine Reihe materialisierter Sichten Plötzlich: alle Relationen der Datenbank weg, nur die Views sind noch da Können wir eine Anfrage q nur mit den Views beantworten? Ulf Leser: Informationsintegration, Wintersemester 2008/2009 51

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 52

Zwei Teilprobleme Welche Kombinationen von Views (also Quellen) liefern semantisch korrekte Antworten auf eine globale Anfrage Anfrageplanung Answering Queries using Views Wann ist ein beliebiger Plan semantisch korrekt? Wir wissen nur, dass bestimmte Teilanfragen (Sichtdefinition) gegen das globale Schema extensional bestimmte Quellrelationen enthalten Durch die Korrespondenzen Wie kann man das auf beliebige Anfragen übertragen? Query Containment Zunächst arbeiten wir nur mit einem View Also: Wenn liefert ein View korrekte Ergebnisse für eine Query? Ulf Leser: Informationsintegration, Wintersemester 2008/2009 53

Query Containment Intuitiv wollen wir das folgende Ein View v liefert nur semantisch korrekte Anfragen auf eine globale Anfrage q, wenn seine Extension in der Extension von q enthalten ist Definition Sei S ein Datenbankschema, I eine Instanz von S und q 1, q 2 Anfragen gegen S. Sei q(i) das Ergebnis einer Anfrage q angewandt auf I. Dann ist q 1 enthalten in q 2, geschrieben q 1 q 2 gdw. q 1 (I) q 2 (I) für alle I Bemerkung Der wichtige Teil ist der letzte: für alle möglichen Instanzen von S Die können wir natürlich nicht alle ausprobieren Ulf Leser: Informationsintegration, Wintersemester 2008/2009 54

Äquivalenz Definition Sei S ein Datenbankschema, I eine Instanz von S und q 1, q 2 Anfragen gegen S. Sei q(i) das Ergebnis einer Anfrage q angewandt auf I. Dann ist q 1 äquivalent zu q 2, geschrieben q 1 q 2 gdw. q 1 (I) q 2 (I) und q 1 (I) q 2 (I) für alle I Bemerkung Wir beschäftigen uns nur mit enthaltenen Anfragen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 55

Einfache Beispiele film(t,y,r,l) film(t,y,r,l) film(t, Dokumentarfilm,R,L) film(t,y,r,l) film(t,y,r,l), L<100 film(t,y,r,l) film(t,y,r,l),spielt(t,s,o) film(t,y,r,l) film(t,y,r,l) spielt(t,s,o) film(t,_,_,_) spielt(t,_,_) Ulf Leser: Informationsintegration, Wintersemester 2008/2009 56

Beispiel Offensichtlich muss eine Sicht mindestens jedes Prädikat der Anfrage enthalten Außerdem müssen die richtigen Attribute vorhanden sein Welche Quellen kommen für spielt in Frage? Ulf Leser: Informationsintegration, Wintersemester 2008/2009 57

Beispiel Welche Quellen kommen für spielt in Frage? filmkritiken Einschränkung auf Hauptrolle macht Tupel nicht falsch us_spielfilm, kurzfilm_rollen Keine Kritiken spielfilm_kritiken Richtige Quelle Ulf Leser: Informationsintegration, Wintersemester 2008/2009 58

Schwierige Fälle Anfragen an Graphen Relation edge( X,Y) speichert Kanten von X nach Y Wir suchen Subgraphen Ist p in q enthalten oder umgedreht? A C Y X Y A X C D B Z D Z B Ulf Leser: Informationsintegration, Wintersemester 2008/2009 59

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 60

Semantische Korrektheit Wir können jetzt (endlich) definieren, wann ein Plan semantisch korrekt ist Aber wir können es noch nicht testen Definition Sei S ein globales Schema, q eine Anfrage gegen S, und p eine Verknüpfung von Views v 1,,v n gegen S, die als rechte Seite von LaV Korrespondenzen definiert sind. Dann ist p semantisch korrekt für q, gdw. p q Bemerkung Die Extension von q gibt es natürlich zum Anfragezeitpunkt nicht Wir verwenden nur Joins als Verknüpfung Ulf Leser: Informationsintegration, Wintersemester 2008/2009 61

Ergebnis einer globalen Anfrage Definition Sei S ein globales Schema, q eine Anfrage gegen S, und p 1,,p n alle semantisch korrekten Pläne für q. Dann ist das Ergebnis von q definiert als q U i=1... n p i Bemerkung Wir müssen alle semantisch korrekten Pläne finden Wie wir die ausführen, bleibt dem Optimierer überlassen Ulf Leser: Informationsintegration, Wintersemester 2008/2009 62

Verblüffende Effekte Eine Quelle für Graphkanten Eine Korrespondenz edge(a,b),edge(b,c) threewaypaths(a,b,c) Nehmen wir die folgende Extension einer Quelle an From (A) Via (B) To (C) 1 3 3 1 3 2 3 4 Nun führen wir darauf aus q: edge(a,b),edge(b,c) from via to 1 3 3 1 3 4 3 3 3 3 3 4 2 3 3 2 3 4 2 4 Ulf Leser: Informationsintegration, Wintersemester 2008/2009 63

Verblüffende Effekte Was ist nun unser Ergebnis? Die komplette Tabelle Wenn die Korrespondenz richtig ist Dann muss die Quelle unvollständig sein Wir können das im Mediator reparieren Wie kriegen wir das rechnerisch? Sei v die linke Seite der Korrespondenz, q die globale Query Dann ist v auf verschiedene Weisen in q enthalten Die werden wir auch alle berechnen Folge der spezifischen Weise, wie wir das Ergebnis einer globalen Anfrage definiert haben Und damit die Semantik der Anfragebearbeitung Ulf Leser: Informationsintegration, Wintersemester 2008/2009 64