44
Informationsintegra tion Local-as-View: LaV 22.11.2005 Felix Naumann

Informationsintegration Local-as-View: LaV

  • Upload
    tavia

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

Informationsintegration Local-as-View: LaV. 22.11.2005 Felix Naumann. Überblick. Global as View (GaV) Modellierung Anfragebearbeitung Local as View (LaV) Modellierung Anwendungen Ausblick: Anfragebearbeitung Global Local as View (GLAV) Vergleich. Wrapper 3. Wrapper 1. Wrapper 2. - PowerPoint PPT Presentation

Citation preview

Page 1: Informationsintegration Local-as-View: LaV

InformationsintegrationLocal-as-View: LaV

22.11.2005

Felix Naumann

Page 2: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 2

Überblick

Global as View (GaV) Modellierung Anfragebearbeitung

Local as View (LaV) Modellierung Anwendungen Ausblick: Anfragebearbeitung

Global Local as View (GLAV) Vergleich

Page 3: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 3

WdH.: Das Problem

Föderiertes Schema

Externes Schema 1

Externes Schema N...

Komponenten-schema

Komponenten-schema

Lokales internes Schema

Lokales internes Schema

...

...

Exportschema Exportschema

Wie drückt man diesen Übergang aus?

Quelle 1 Quelle 2 Quelle 3

Mediator

Anwendung 1 Anwendung 2

Wrapper 2

Wrapper 3Wrapper 1

Wie drückt man die Funktionalität des Wrappers aus?

Page 4: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 4

WdH.: Das Problem Zwei heterogene Schemata

Quellschema: Hier sind die Daten. Zielschema: Hiergegen wird die Anfrage gestellt.

Teilproblem 1 Beziehungen zwischen Schemata spezifizieren Mappings

Teilproblem 2 Daten von der Quelle zum Ziel transformieren Transformationsanfragen

Teilproblem 3 Wie mache ich dies alles automatisch? -> VL 22-24 (Schema Mapping & Schema Matching)

Page 5: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 5

WdH.: Modellierung von Datenquellen

Kernidee Modellierung strukturell heterogener Quellen in Bezug auf

ein globales Schema als Views (Sichten) Relationales Modell

Allgemein: Eine Sicht verknüpft mehrere Relationen und produziert

eine Relation. Sichten zur Verknüpfung von Schemata

Sicht definiert auf Relationen eines Schemas und produziert eine Relation des anderen Schemas

Jetzt: Unterscheidung lokales und globales Schema

Page 6: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 6

WdH.: Global as View / Local as View

Global as View Relationen des globalen

Schemas werden als Sichten auf die lokalen Schemas der Quellen ausgedrückt.

Local as View Relationen der Schemas der

Quellen werden als Sichten auf das globale Schema ausgedrückt.

Page 7: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 7

WdH.: Global as View (GaV) – Beispiel

Globales Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit)

S1: IMDB(Titel, Regie, Jahr, Genre)S2: MyMovies(Titel, Regie, Jahr, Genre)S3: RegieDB(Titel, Regie)S4: GenreDB(Titel, Jahr, Genre)

CREATE VIEW Film ASSELECT * FROM IMDB

UNIONSELECT * FROM MyMovies

UNIONSELECT RegieDB.Titel, RegieDB.Regie, GenreDB.Jahr, GenreDB.GenreFROM RegieDB, GenreDBWHERE RegieDB.Titel = GenreDB.Titel

Quelle: VL „Data Integration“, Alon Halevy, University of Washington, 2002

Typisches Merk-mal bei GaV

Join über mehrere Quellen

(Anfragebearbeitung!)

Page 8: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 8

WdH.: GaV – Beispiel

SELECT F.Titel, P.KinoFROM Film F, Programm PWHERE F.Titel = P.TitelAND P.Zeit > 20:00

SELECT F.Titel, P.Kino 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 PWHERE F.Titel = P.TitelAND P.Zeit > 20:00

S1: IMDB(Titel, Regie, Jahr, Genre)S2: RegieDB(Titel, Regie)S3: GenreDB(Titel, Jahr, Genre)S7: KinoDB(Titel, Kino, Genre, Zeit)

Page 9: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 9

WdH.: GaV - Schachtelung

Schachtelung i.d.R. Belassen bei entfernten Quellen i.d.R. Auflösung bei materialisierten Sichten

SELECT F.Titel, P.Kino 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 PWHERE F.Titel = P.TitelAND P.Zeit > 20:00

SELECT F.Titel, P.Kino FROM IMDB F, KinoDB PWHERE F.Titel = P.TitelAND P.Zeit > 20:00

UNION

SELECT F1.Titel, P1.Jino FROM RegieDB F1, GenreDB F2, KinoDB PWHERE F1.Titel = F1.TitelWHERE F1.Titel = P1.TitelAND P1.Zeit > 20:00

Page 10: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 10

Überblick

Global as View (GaV) Modellierung Anfragebearbeitung

Local as View (LaV) Modellierung Anwendungen Ausblick: Anfragebearbeitung

Global Local as View (GLAV) Vergleich

Page 11: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 11

Local as View (LaV) – Beispiel

Globales Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit)

S1: IMDB(Titel, Regie, Jahr, Genre)S2: MyMovies(Titel, Regie, Jahr, Genre)S3: RegieDB(Titel, Regie)S4: GenreDB(Titel, Jahr, Genre)

CREATE VIEW S1 ASSELECT * FROM Film

CREATE VIEW S2 ASSELECT * FROM Film

CREATE VIEW S3 ASSELECT Film.Titel, Film.RegieFROM Film

CREATE VIEW S4 ASSELECT Film.Titel, Film.Jahr,

Film.GenreFROM Film

Quelle: VL „Data Integration“, Alon Halevy, University of Washington, 2002

Page 12: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 12

Local as View (LaV) – Beispiel

Globales Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit)

S9: ActorDB(Titel, Schauspieler, Jahr)

CREATE VIEW S9 ASSELECT Titel, NULL, JahrFROM Film

„Verpasste Chance“

Page 13: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 13

Local as View (LaV) – Beispiel

Globales Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit)

S7: KinoDB(Kino, Genre)

CREATE VIEW S7 ASSELECT Programm.Kino, Film.GenreFROM Film, ProgrammWHERE Film.Titel = Programm.Titel

Assoziationen des globalenSchemas können in derSicht hergestellt werden.

Page 14: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 14

Local as View (LaV) – Beispiel

Globales Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit)

S9: Filme(Titel, Jahr, Ort, RegieID) Regie(ID, Regisseur)

CREATE VIEW S7Filme ASSELECT Titel, Jahr, NULL, NULLFROM Film

CREATE VIEW S7Regie ASSELECT NULL, RegieFROM Film

Assoziationen des lokalenSchemas können nicht abgebildet werden.

Später: Erzeugung neuer IDs (VL Schema Mapping)

Page 15: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 15

Local as View (LaV) – Beispiel

Globales Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit)

S8: NeueFilme(Titel, Regie, Genre)(Nebenbedingung: Jahr > 2000)

CREATE VIEW S8 ASSELECT Titel, Regie, GenreFROM FilmWHERE Jahr > 2000

Bekannte Nebenbedingung auf der Quelle kann modelliert werden.

Page 16: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 16

Local as View (LaV) – Beispiel

Globales Schema NeuerFilm(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) Nebenbedingung: Jahr > 2000

S1: IMDB(Titel, Regie, Jahr, Genre)S2: MyMovies(Titel, Regie, Jahr, Genre)

CREATE VIEW S1 ASSELECT * FROM NeuerFilm(WHERE Jahr> 2000)

CREATE VIEW S2 ASSELECT * FROM NeuerFilm(WHERE Jahr> 2000)

Page 17: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 17

Local as View (LaV) – lokale Nebenbedingungen

Globales Schema Film(Titel, Regie, Jahr, Genre)

CREATE VIEW S1 ASSELECT * FROM Film

CREATE VIEW S2 ASSELECT Titel, Regie, Genre FROM Film

CREATE VIEW S3 ASSELECT * FROM Film(WHERE Jahr > 2000)

CREATE VIEW S4 ASSELECT Titel, Regie, Genre FROM Film(WHERE Jahr > 2000)

CREATE VIEW S5 ASSELECT Titel, Regie, Genre FROM Film(WHERE Jahr = 2004)

S1: AlleFilmeNett(Titel, Regie, Jahr, Genre)S2: AlleFilmeBöse(Titel, Regie, Genre)S3: NeueFilmeNett(Titel, Regie, Jahr, Genre)

(Nebenbedingung: Jahr > 2000)S4: NeueFilmeBöse(Titel, Regie, Genre)

(Nebenbedingung: Jahr > 2000)S5: AktuelleFilme(Titel, Regie, Genre)

(Nebenbedingung: Jahr = 2004)

Modellierung jeweils nur für Optimierung

Page 18: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 18

Local as View (LaV) – globale Nebenbedingungen

CREATE VIEW AlleFilmeNett ASSELECT * FROM NeuerFilm(WHERE JAHR > 2000)

[CREATE VIEW AlleFilmeBöse ASSELECT Titel, Regie, Genre FROM NeuerFilm]

Problem:Bekannte Nebenbedingung auf dem globalen Schema kannnicht modelliert werden.

Frage:Ist das schlimm?

Globales Schema NeuerFilm(Titel, Regie, Jahr, Genre)Nebenbedingung: Jahr > 2000

oder NeuerFilm(Titel, Regie, Genre)Nebenbedingung: Jahr > 2000

S1: AlleFilmeNett(Titel, Regie, Jahr, Genre)S2: AlleFilmeBöse(Titel, Regie, Genre)

Page 19: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 19

Überblick

Global as View (GaV) Modellierung Anfragebearbeitung

Local as View (LaV) Modellierung Anwendungen Ausblick: Anfragebearbeitung

Global Local as View (GLAV) Vergleich

Page 20: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 20

Problem Anfrageverarbeitung

Globales Schema Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit)

S1: IMDB(Titel, Regie, Jahr, Genre)S2: RegieDB(Titel, Regie)S3: GenreDB(Titel, Jahr, Genre)

GaVCREATE VIEW Film ASSELECT * FROM IMDB

UNIONSELECT R.Titel, R.Regie, G.Jahr, G.GenreFROM RegieDB R, GenreDB GWHERE R.Titel = G.Titel

LaVCREATE VIEW S1 ASSELECT * FROM Film

CREATE VIEW S2 ASSELECT Film.Titel, Film.RegieFROM Film

CREATE VIEW S3 ASSELECT Film.Titel, Film.Jahr,

Film.GenreFROM Film

Page 21: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 21

Anfragebearbeitung – LaV Gegeben:

Anfrage an globales Schema Insbesondere: Auf Relationen des globalen Schemas

Für jede lokale Relation genau eine Sicht auf globales Schema Gesucht:

Alle Tupel, die die Anfragebedingungen erfüllen Aber: Daten sind in lokalen Quellen gespeichert.

Idee: Anfrageumschreibung durch Einbeziehung der Sichten Kombiniere geschickt die einzelnen Sichten zu einer Anfrage, so dass

deren Ergebnis einen Teil der Anfrage (oder die ganze Anfrage) beantworten.

Gesamtergebnis ist dann die UNION der Ergebnisse mehrerer Anfrageumschreibungen

Page 22: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 22

LaV - Anfragebearbeitung

ABBILDUNG MIT SYSTEM-ÜBERBLICK WER MACHT WANN WAS

Page 23: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 23

LaV – Anwendungen

Anfrageoptimierung Materialisierte Sichten auf Datenbankschema

Datawarehouse Design Materialisierte Sichten auf Warehouse-Schema

Semantisches Caching Materialisierte Daten beim Client

Datenintegration Datenquellen als Sichten auf globales (Mediator)

Schema

Page 24: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 24

LaV Anwendung: Anfrageoptimierung Materialisierte Sichten

(materialized views, MV) auf Datenbankschema MQT: Materialized Query Table AST: Advanced Summary Table

Welche Sichten helfen bei der Beantwortung einer Datenbankanfrage durch Vorberechnung von Prädikaten?

Probleme: Es ist nicht immer besser eine

MV zu verwenden (Indizes!). Aktualisierung von MVs

Write auf MV Write auf Basisrelation

R1 R2 R3 R4 R5

MV1σ(A=10)

MV2⋈

MV4⋃

MV3⋈|

Optimierer:Query Answering Using Views

Q1: R1

Q3: R3

Q2: R1, A=10

Q4: R1 ⋈ R2

Q5: R4

Q6: R1 ⋈ R2 ⋈ R3

Page 25: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 25

LaV Anwendung: Datawarehouse Design

Materialisierte Sichten auf Warehouse-Schema Gegeben eine query workload

Query workload = Menge von Anfragen mit Häufigkeiten

Welche Sichten sollte ich materialisieren? Um alle Anfragen der Workload zu beantworten

Allgemeiner: Gegeben eine query workload, welche Sichten sollte ich

materialisieren um die workload optimal zu beantworten. Idee: Alle Kombinationen prüfen (AST Wizard)

Frage: Warum ist dieses Problem eigentlich ganz einfach?

Page 26: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 26

LaV Anwendung: Semantisches Caching

In verteilten DBMS Materialisierte Daten beim Client Gegeben eine Anfrage

Welche Daten im Cache kann ich zur Beantwortung verwenden?

Welche Daten muss ich neu anfragen?

Auch: Welche Sichten sollte ich vorberechnen?

Page 27: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 27

LaV Anwendung: Datenintegration

Datenquellen als Sichten auf globales (Mediator) Schema

Fragen: Wie kann ich Antworten auf eine Anfrage an das

globale Schema nur mittels der Sichten beantworten? Unterschied zu Anfrageoptimierung: Keine

Basistabellen verfügbar. Kann ich die Anfrage vollständig (extensional)

beantworten?

Page 28: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 28

Überblick

Global as View (GaV) Modellierung Anfragebearbeitung

Local as View (LaV) Modellierung Anwendungen Ausblick: Anfragebearbeitung

Global Local as View (GLAV) Vergleich

Page 29: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 29

LaV – BeispielAusschnitt Globales Schema Lehrt(prof,kurs_id, sem, eval, univ) Kurs(kurs_id, titel, univ)

Quelle 1: Alle Datenbankveranstalt. CREATE VIEW DB-kurs AS SELECT K.titel, L.prof, K.kurs_id, K.univ FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND L.univ = K.univ AND K.titel LIKE „%_Datenbanken“

Quelle 2: Alle Humboldtvorlesungen CREATE VIEW Hum-VL AS SELECT K.titel, L.prof, K.kurs_id, K.univ FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND K.univ = „Humboldt“ AND L.univ = „Humboldt“ AND K.titel LIKE „%VL_%“

Globale Anfrage SELECT prof FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND K.titel LIKE „%_Datenbanken“ AND L.univ = „Humboldt“

Umgeschriebene Anfrage SELECT prof FROM DB-kurs D WHERE D.univ = „Humboldt“

Frage: Warum nicht Quelle 2 einbeziehen?

Page 30: Informationsintegration Local-as-View: LaV

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

LaV – BeispielAusschnitt Globales Schema Lehrt(prof,kurs_id, sem, eval, univ) Kurs(kurs_id, titel, univ)

Quelle 1: Alle Datenbankveranstalt. CREATE VIEW DB-kurs AS SELECT K.titel, L.prof, K.kurs_id, K.univ FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND L.univ = K.univ AND K.titel LIKE „%_Datenbanken“

Quelle 2: Alle Humboldtvorlesungen CREATE VIEW Hum-VL AS SELECT K.titel, L.prof, K.kurs_id, K.univ FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND K.univ = „Humboldt“ AND L.univ = „Humboldt“ AND K.titel LIKE „%VL_%“

Globale Anfrage SELECT titel, kurs_id FROM Kurs K WHERE L.univ = „Humboldt“

Umgeschriebene Anfrage SELECT titel, kurs_id FROM DB-kurs D WHERE D.univ = „Humboldt“ UNION SELECT titel, kurs_id FROM Hum-VL

Frage: Warum hier doch

Quelle 2 einbeziehen?

Page 31: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 31

LaV – Beispiel Vergleich

Globale Anfrage SELECT titel, kurs_id FROM Kurs K WHERE L.univ = „Humboldt“

Umgeschriebene Anfrage SELECT titel, kurs_id FROM DB-kurs D WHERE D.univ = „Humboldt“ UNION SELECT titel, kurs_id FROM Hum-VL

Globale Anfrage SELECT prof FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND K.titel = „VL_Datenbanken“ AND L.univ = „Humboldt“

Umgeschriebene Anfrage SELECT prof FROM DB-kurs D WHERE D.univ = „Humboldt“

Vollständige Antwort

MaximaleAntwort

Frage:Was fehlt?

Page 32: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 32

LaV – Anfragebearbeitung

Gegeben: Anfrage Q und Sichten V1, ..., Vn

Gesucht: Umgeschriebene Anfrage Q‘, die bei Optimierung: äquivalent ist (Q = Q‘). bei Integration: maximal enthalten ist.

D.h. Q Q‘ und es existiert kein Q‘‘ mit Q Q‘‘ Q‘ wobei Q‘‘ Q‘.

Problem: Wie definiert und testet man Äquivalenz und

maximal containment?

Page 33: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 33

LaV – Beispiele

Quelle 2: CREATE VIEW Hum-VL AS SELECT K.titel, L.prof, K.kurs_id, K.univ FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND K.univ = „Humboldt“ AND L.univ = „Humboldt“ AND K.titel LIKE „%VL_%“

Quelle 3: CREATE VIEW Hum-Kurse AS SELECT K.titel, L.prof, K.kurs_id, K.univ FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND K.univ = „Humboldt“ AND L.univ = „Humboldt“

???

Page 34: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 34

LaV – Beispiele

Quelle 4: CREATE VIEW Kurse1 AS SELECT K.titel, K.kurs_id FROM Kurs K AND K.univ = „Humboldt“ AND K.titel LIKE „%VL_%“

Quelle 5: CREATE VIEW Kurse2 AS SELECT K.titel, K.univ FROM Kurs K AND K.univ = „Humboldt“ AND K.titel LIKE „%VL_%“

Quelle 5: CREATE VIEW Kurse3 AS SELECT K.titel, K.kurs_id FROM Kurs K AND K.univ = „Humboldt“

Quelle 6: CREATE VIEW Kurse4 AS SELECT K.titel FROM Kurs K AND K.univ = „Humboldt“

Page 35: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 35

LaV – Beispiele

Prüfung von containment durch Prüfung aller möglichen Datenbanken? Zu complex!

Prüfung von containment durch Existenz eines containment mapping. NP-vollständig in |Q|+|Q‘|

nach [CM77] Mehrere Algorithmen

Mehr in VL 19

Quelle 5: CREATE VIEW Kurse2 AS SELECT K.titel, K.univ FROM Kurs K AND K.univ = „Humboldt“

Quelle 3: CREATE VIEW Hum-Kurse AS SELECT K.titel, K.univ FROM Lehrt L, Kurs K WHERE L.kurs_id = K.kurs_id AND K.univ = „Humboldt“ AND L.univ = „Humboldt“

Page 36: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 36

CWA / OWA Closed World Assumption (CWA)

Vereinigung aller Daten der Datenquellen entspricht der Menge aller relevanten Daten.

Beispiele: Data Warehouse (und traditionelle DBMS) Open World Assumption (OWA)

Vereinigung aller Daten der Datenquellen ist eine Teilmenge aller relevanten Daten.

Probleme Inhalt der globalen Relation nicht fest

Anfrageergebnisse können sich ändern Definition der Vollständigkeit der Ergebnisse

Welchen Anteil an der world hat das Ergebnis? Negation in Anfragen

Page 37: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 37

CWA / OWA – Beispiel Relation R(A,B) View 1

CREATE VIEW V1 ASSELECT A FROM R

Extension: a View 2

CREATE VIEW V2 ASSELECT B FROM R

Extension: b Anfrage: SELECT * FROM R

CWA: (a,b) muss in der Extension von R sein. OWA: (a,b) muss nicht in der Extension von R sein.

R = (a,b) R = (a,b)oder

R = (a,x)(y,b)o.ä.

Page 38: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 38

Überblick

Global as View (GaV) Modellierung Anfragebearbeitung

Local as View (LaV) Modellierung Anwendungen Ausblick: Anfragebearbeitung

Global Local as View (GLAV) Vergleich

Page 39: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 39

Global-Local-as-View (GLAV)

Kombination GaV und LaV GaV:

Globale Relation = Sicht auf lokale Relationen (Globale Relation Sicht auf lokale Relationen)

LaV: Sicht auf globale Relationen = lokale Relation Sicht auf globale Relationen lokale Relation

GLaV: Sicht auf globale Relationen = Sicht auf lokale Relationen Sicht auf globale Relationen Sicht auf lokale Relationen

Auch „BaV“: Both-as-View

Page 40: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 40

Überblick

Global as View (GaV) Modellierung Anfragebearbeitung

Local as View (LaV) Modellierung Anwendungen Ausblick: Anfragebearbeitung

Global Local as View (GLAV) Vergleich

Page 41: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 41

Vergleich GaV / LaV Modellierung

GaV Jede globale Relation definiert als Sicht auf eine oder mehr

Relationen aus einer oder mehr Quellen. Meist UNION über mehrere Quellen Nebenbedingungen auf lokalen Quellen können nicht

modelliert werden. LaV

Globale Relationen werden durch mehrere Sichten definiert.

Definition oft nur in Kombination mit anderen globalen Relationen

Nebenbedingungen auf globale Relationen können nicht definiert werden.

Page 42: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 42

Vergleich GaV / LaV Anfragebearbeitung

GaV: Anfrageumschreibung: Einfaches View unfolding Eine große, umgeschriebene Anfrage Interessante Optimierungsprobleme

LaV Anfrageumschreibung: Answering queries using views UNION über viele mögliche umgeschriebene Anfragen Mehrere Algorithmen Viele Anwendungen Noch interessantere Optimierungsprobleme

Flexibilität GaV: Views setzen Relationen mehrerer Quellen in Beziehung LaV: Jede View bezieht sich nur auf eine Quelle

Page 43: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 43

Literatur

Gute Zusammenfassung für LaV und weiterführende Literatur: [Levy01] Alon Y. Halevy: Answering queries using views: A

survey, in VLDB Journal 10: 270-294, 2001.

Eher theoretisch [Ull00] Jeffrey D. Ullman: Information Integration Using

Logical Views. TCS 2000: 189-210 [Hull97] Managing Semantic Heterogeneity in Databases:

A Theoretical Perspective. Richard Hull. PODS 1997 tutorial

Page 44: Informationsintegration Local-as-View: LaV

22.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 44

LaV – Beispiel

Globales Schema Prof(name, bereich) Kurs(kurs_id, titel, univ) Lehrt(prof,kurs_id, sem, eval, univ) Eingeschrieben(stud, kurs_id, sem) Vertiefung(stud, fach) Arbeitet(prof, fach) Betreut(prof, stud)

Prof

fach

stud

name

Kurs

name name

bereich

lehrteval

sem

Betreut

Eingeschrieben

sem

VertiefungArbeitet

titel kurs_id