Informationsintegration

Ähnliche Dokumente
Informationsintegration

Informationsintegration

Informationsintegration Global-as-View: GaV Felix Naumann

Informationsintegration Global-as-View: GaV Felix Naumann

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

Informationsintegration Local-as-View: LaV Felix Naumann

Modellierung von Datenquellen

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

Lösung - Übungsblatt 2

Informationsintegration Local-as-View: LaV Felix Naumann

Informationsintegration

Kapitel 5: Anfrageverarbeitung. Multidatenbanksprachen am Beispiel von SchemaSQL

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

Teil 1: Deduktive Datenbanken Gerd Stumme Christoph Schmitz

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

Integration, Migration und Evolution

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

Informationsintegration Beispiel

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

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

Vorlesung Datenbanken I Zwischenklausur

Deklarative Informationsextraktion

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

II Heterogenität und Architekturen

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

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

Spezifikation in Datalog:

Schemamerging und -mapping

II Einführung Informationsintegration

Aggregatfunktionen in der Relationenalgebra?

Informationsintegration

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

Die Sprache QUEL. Beispiel für QUEL-Anfrage. Weitere Datenbanksprachen. Anfragen in QUEL. Welche Lieferanten liefern von Weiß bestellte Waren?

Wir haben folgende Ausprägung der Relation Studenten:

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

Vorlesung Logik und Datenbanken

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

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

Kap. 5 Erweiterung der Relationenalgebra für Deduktive Datenbanken

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

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

Data Warehousing und Data Mining

Einführung in die Logik (Vorkurs)

Data Warehousing und Data Mining

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

mehrwertige Abhängigkeiten

Logische und funktionale Programmierung

SchemaSQL Eine Multidatenbank Sprache. Volodymyr Biryuk

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

Data Warehousing und Data Mining

Kapitel 3: Grundlagen von Anfragesprachen

Komplexitätstheorie Datenbanken und Deskriptive Komplexität

Query Languages (QL) Relationale Abfragesprachen/Relational

Kapitel 2: Ein abstraktes Geo-Datenmodell

Kapitel 2: Ein abstraktes Geo-Datenmodell

Vorlesung Informationssysteme

Informationsintegration

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

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

Informationsintegration

Relationale Algebra. Thomas Heimrich. Rel. Algebra. Grundlagen. Beispielrelationen. rel. Algebra. Definition der rel. Algebra.

Logik Vorlesung 5: Grundlagen Resolution

Einführung in die Informatik II

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

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

Informationsintegration. Ulf Leser Sebastian Wandelt

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

GROUP BY, HAVING und Sichten

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

Logisches und funktionales Programmieren

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

Das Relationale Modell

Wiederholung VU Datenmodellierung

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Datenbanktheorie. Teil A: Einleitung 1: Grundbegriffe. Sommersemester Thomas Schwentick. Version von: 4. April 2012 (11:50)

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Grundlagen von Datenbanken

dbis Praktikum DBS I SQL Teil 2

Semesterklausur Datenbanksysteme 1 SS 2015

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler))

Geoinformation Abbildung auf Tabellen

Kapitel 2: Grundlagen von Anfragesprachen

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Wiederholung VU Datenmodellierung

Grundlagen von Datenbanken

Ausgangspunkt. Datenintegration. Ziel. Konflikte. Architekturen. Transparenz

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Abschnitt 3: Mathematische Grundlagen

Konjunktive Anfragen II

Teil VIII. Weitere Datenbanksprachen

2. Ein abstraktes Geo-Datenmodell

Transkript:

Informationsintegration Local-as-View Anfrageplanung Ulf Leser

Inhalt dieser Vorlesung Anfragekorrespondenzen Formale Definition 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 2

Anfrageplan revisited 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 mit Hilfe der Quellen 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 3

Anfrageergebnis Definition Gegeben eine globale Anfrage q. Sei p 1,, p n die Menge aller (semantisch korrekter) Anfragepläne für q. Dann ist das Ergebnis von q definiert als Bemerkungen result( q) = i= 1.. n In der Informationsintegration sollte UNION Duplikate entfernen Problem der Ergebnisintegration result( Wie das Ergebnis berechnet wird, ist Sache der Anfrageoptimierung Pläne können sich in Teilanfragen überlappen p i ) Ulf Leser: Informationsintegration 4

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. Bei echten Sprachen zwischen: Wörter, Sätze, Texte Bei Schemata: Attribute, Relationen, Anfragen Beziehungen werden durch Korrespondenzen ausgedrückt Ulf Leser: Informationsintegration 5

Ü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 6

Auf Schemaebene q 1 SELECT titel, regisseur FROM film SELECT title, director FROM imdb.movie titel SELECT titel, rolle FROM spielt WHERE rolle= Hauptrolle AND s_name= Hans Albers 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 7

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 8

Inhalt dieser Vorlesung Anfragekorrespondenzen Korrespondenztypen und -arten GaV erklärt Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration 9

Drei Korrespondenzarten Beziehungen zwischen Attributen Eher einfach zu finden Reicht nicht zur Anfrageplanung Beziehungen zwischen Relationen Natürliche Ebene Anfrageplanung wird zur Ersetzung von Relationennamen Aber Relationen eines Schemas entsprechen meist nicht 1:1 den Relationen eines anderen Schemas Beziehungen zwischen Anfragen Subsumiert beide vorherigen Konzepte, sehr flexibel Schwierigere Anfrageplanung Ulf Leser: Informationsintegration 10

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 = Extensionen von q 1 und q 2 sind überlappungsfrei Das ist der Normalfall und wird angenommen, wenn keine Korrespondenz zwischen zwei Anfragen bekannt ist Ulf Leser: Informationsintegration 11

Korrespondenztypen 2 Sei q 1 ein Sprachelement des globalen Schemas und q 2 ein Sprachelement eines lokalen Schemas Inklusion: q 1 q 2 Extension 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: soll enthalten sein Beachte: q 1 kann in vielen Korrespondenzen vorkommen Wenn es viele Quellen gibt, die zu q 1 beitragen können Ulf Leser: Informationsintegration 12

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 Betrachten wir im folgenden nicht weiter Ü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 Korrespondenzen nützen uns nichts Vorgehen: Finde eine Einschränkung filter von q 2 so, dass q 1 filter(q 2 ) Ulf Leser: Informationsintegration 13

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 Aussage über die Extensionen von Anfragen aus Also über die Beziehungen von Tupelmengen, die durch Anfragen in unterschiedlichen Schemata berechnet werden Ist also eine Aussage über die (formale) Semantik von Anfragen Ulf Leser: Informationsintegration 14

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 Ulf Leser: Informationsintegration 15

Inhalt dieser Vorlesung Anfragekorrespondenzen Korrespondenztypen und -arten GaV erklärt Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration 16

Global-as-View erklärt Eine GaV-Korrespondenz besteht also aus Einer Relation q 1 des globalen Schemas Query q1 mit Projektion, aber ohne Selektionen oder Joins 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 17

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 18

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 Ziel: Generische Korrespondenzen, den Rest macht die Anfrageplanung Ulf Leser: Informationsintegration 19

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Notation: Datalog Local-as-View Korrespondenzen Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration 20

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 21

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: dieselbe Variable an mehreren Stellen Bedingungen mit >,< werden explizit angegeben Gleichheitsbedingungen Attribut = Wert werden durch Konstante in Literal angegeben oder durch eigene Bedingung Ulf Leser: Informationsintegration 22

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 23

Begriffe Ulf Leser: Informationsintegration 24

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

Kein echtes Datalog 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 26

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Notation: Datalog Local-as-View Korrespondenzen Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration 27

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 globale Extension fest Aber niemand kennt sie Informationsintegration versucht sie herzustellen Quellen speichern Ausschnitte der realen Welt Sichten auf die globale Extension Nur die können wir verwenden Film Globales Schema Schauspieler Quelle 2 Quelle 1 Quelle 3 Ulf Leser: Informationsintegration 28

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 29

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 Wird im View projeziert Ulf Leser: Informationsintegration 30

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 31

Assoziationen im lokalen Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) CREATE VIEW S9.Filme AS SELECT Titel, Jahr FROM Film CREATE VIEW S9.Regie 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 32

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; Integritätsconstraint 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 33

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) ICs auf dem globalen Schema können nicht modelliert werden Das ging aber bei GaV Ulf Leser: Informationsintegration 34

Komplexere Beispiele Ulf Leser: Informationsintegration 35

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 36

Anders formuliert Globale Anfrage q :- 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 q? Ulf Leser: Informationsintegration 37

Anfrageplanung mit LaV Gegeben: Globales Schema S, Anfrage q an S, Menge von Sichten v 1,,v n auf S Gesucht: Alle Kombinationen von v i, die q beantworten Wir wissen aber nicht, wie wir q am besten zerlegen, so dass eine Teilquery immer einer Sichtdefinition entspricht Planung ist schwieriger als bei GaV Answering queries using views Anderes Bild: Eine DB und eine Menge materialisierter Sichten Plötzlich: alle Relationen der DB weg, nur die Sichten sind noch da Können wir eine Anfrage q nur mit den Sichten beantworten? Ulf Leser: Informationsintegration 38

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration 39

Zwei Teilprobleme Welche Kombinationen von Views (also Quellen) liefern semantisch korrekte Antworten auf eine globale Anfrage Wann ist ein beliebiger Plan semantisch korrekt? Wir wissen nur, dass bestimmte Teilanfragen gegen das globale Schema extensional bestimmte Quellrelationen enthalten sollen 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 40

Query Containment Intuition: Ein View v liefert nur semantisch korrekte Anfragen auf eine globale Anfrage q, wenn die Extension von v 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 Ulf Leser: Informationsintegration 41

Ä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 42

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 43

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 44

Beispiel filmkritiken Einschränkung auf Hauptrolle macht Tupel nicht falsch us_spielfilm, kurzfilm_rollen Keine Kritiken spielfilm_kritiken Richtige Quelle Ulf Leser: Informationsintegration 45

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 46

Inhalt dieser Vorlesung Anfragekorrespondenzen Local as View Query Containment Semantische Korrektheit von Anfrageplänen Ulf Leser: Informationsintegration 47

Semantische Korrektheit Wir können jetzt definieren, wann ein Plan semantisch korrekt ist (aber das noch nicht testen) Definition Sei S ein globales Schema, q eine Anfrage gegen S, und p ein Join 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 zum Anfragezeitpunkt nicht Erinnerung: Das komplette Ergebnis verlangt Beachtung aller semantisch korrekter Pläne Ulf Leser: Informationsintegration 48

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 49

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 Ergibt sich aus unserer Semantik der Anfrage Ulf Leser: Informationsintegration 50