Informationsintegration

Größe: px
Ab Seite anzeigen:

Download "Informationsintegration"

Transkript

1 Informationsintegration Übersicht Anfrageplanung Global-as-View Ulf Leser

2 Inhalt dieser Vorlesung Das Problem Anfrageplanung: Übersicht Global-as-View Modellierung GaV und Integritätsconstraints Implementierung Ulf Leser: Informationsintegration 2

3 Das Problem Was steckt hinter diesen Pfeilen? Anwendung 1 Anwendung 2 Externes Schema 1... Externes Schema N Föderiertes Schema Mediator Wrapper Wrapper Wrapper Quelle 1 Quelle 2 Quelle 3 Exportschema Komponentenschema Lokales internes Schema Exportschema Komponentenschema Lokales internes Schema Ulf Leser: Informationsintegration 3

4 Abstrakter Bei enger Kopplung 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 4

5 Korrespondenzen Korrespondenz: Spezifikation semantisch äquivalenter Teile in Quellschema und globalem Schema Regel mit zwei Teilen Erster Teil: Teile im Quelle Zweiter Teil: Teile im Zielschema Dazwischen: Datentransformation und Restrukturierung Kann unterschiedliche Mechanismen benutzen Global-as-View, Local-as-View, Wir wollen deklarative Korrespondenzen Woher? Manuell spezifizieren (Semi-)automatisch finden: Schema Matching (später) Ulf Leser: Informationsintegration 5

6 Zwei Richtungen Virtuelle Integration: Anfragen übersetzen Gegeben Anfrage an Zielschema Finde semantisch äquivalente Sequenz von Anfragen an Quellschemata Materialisierte Integration: Daten transformieren Gegeben Quellschemata mit Daten Finde semantisch äquivalente Darstellung der Daten im Zielschema Beide Richtungen sind ähnlich, aber nicht identisch Wir konzentrieren uns auf die erste Richtung Ulf Leser: Informationsintegration 6

7 Weiteres Vorgehen Erst konkret, dann abstrakter Übersicht Anfragebearbeitung Global as View und View Unfolding Anfragekorrespondenzen und semantische Korrektheit Local as View und Query Containment Anfrageoptimierung Umgang mit beschränkten Quellen Ulf Leser: Informationsintegration 7

8 Inhalt dieser Vorlesung Das Problem Anfrageplanung: Übersicht Global-as-View Modellierung GaV und Integritätsconstraints Implementierung Ulf Leser: Informationsintegration 8

9 Anfragebearbeitung Globales Schema Korrespondenzen Lokale Exportschemata Aufgabe 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 9

10 Anfragebearbeitung Schritt 1: Anfrageplanung (in den nächsten Stunden) Welche Quellen können / sollen / müssen benutzt werden? Welche Teile der Anfrage sollen wohin geschickt werden? Schritt 2: Anfrageübersetzung Aus der Sprache der globalen Schema in die Sprache der Quellen Schritt 3: Anfrageoptimierung Wer führt was wann aus (Pushen, Reihenfolge)? Wer kann was ausführen (Kompensation)? Schritt 4: Anfrageausführung Monitoring, Puffern, Cachen, Re-Optimieren Schritt 5: Ergebnisintegration Duplikaterkennung und Konfliktauflösung Ulf Leser: Informationsintegration 10

11 Schritt 1 & 2 Anfrageplanung Anfrageübersetzung Eingabe: Benutzeranfrage und Anfragekorrespondenzen Aufgabe: Berechnet Anfragepläne. Ein Anfrageplan ist eine Menge von logischen Anfragen an Datenquellen, in der Regel verknüpft durch Join-Prädikate. Jeder Plan muss ausführbar sein und nur semantisch korrekte Ergebnisse berechnen. Sollten mehrere Anfragepläne existieren, ist es auch Aufgabe der Anfrageplanung zu entscheiden, welche davon ausgeführt werden sollen. Ergebnis: Ein oder mehrere Anfragepläne Eingabe: Ein Anfrageplan Aufgabe: Ein Anfrageplan besteht aus Teilanfragen, die jeweils genau eine Datenquelle adressieren. Diese Teilanfragen sind syntaktisch auf die Integrationsschicht zugeschnitten. Die Anfrageübersetzung muss jede Teilanfrage in einen unmittelbar von der betreffenden Datenquelle ausführbaren Befehl übersetzen. Ergebnis: Ein übersetzter Anfrageplan Ulf Leser: Informationsintegration 11

12 Schritt 3 & 4 Anfrageoptimierung Anfrageausführung Eingabe: Ein übersetzter Anfrageplan Aufgabe: Anfragepläne bestehen aus Teilanfragen, für die noch nicht feststeht, in welcher Reihenfolge sie berechnet und wo in ihnen enthaltene oder sie verbindende Anfrageprädikate ausgeführt werden. Die Festlegung dieser Punkte ist die Aufgabe der Anfrageoptimierung, deren Ergebnis ein (physischer) Ausführungsplan ist. Ergebnis: Ein Ausführungsplan Eingabe: Ein Ausführungsplan Aufgabe: Ein Ausführungsplan kann unmittelbar ausgeführt werden, muss aber in seiner Ausführung überwacht werden, da Netzwerkverbindungen oftmals unzuverlässig sind. Außerdem müssen Prädikate der Benutzeranfrage, deren Ausführung nicht an eine Datenquelle delegiert wurden, im Integrationssystem ausgeführt werden. Ergebnis: Eine Menge von Ergebnistupeln Ulf Leser: Informationsintegration 12

13 Schritt 5 Ergebnisintegration Eingabe: Pro Ausführungsplan eine Menge von Ergebnistupeln Aufgabe: Die Ergebnisse der einzelnen Ausführungspläne sind oftmals redundant oder uneinheitlich. Während der Ergebnisintegration werden die einzelnen Ergebnisse zu einem Gesamtergebnis integriert, was insbesondere Duplikaterkennung und Auflösen von Widersprüchen in den Daten erfordert. Ergebnis: Das Ergebnis der Benutzeranfrage Ulf Leser: Informationsintegration 13

14 Beispiel Filmwelt Vereinfachende Annahmen Quellen bestehen nur aus einer (Export-)Relation Keine Datenmodellheterogenität Nehmen wir jetzt immer an Keine strukturelle oder schematische Heterogenität Nehmen wir ganz selten an Keine semantische Heterogenität Gleiche Namen = gleiche Konzepte Nehmen wir manchmal an Ulf Leser: Informationsintegration 14

15 Beispiel Globales Schema Datenquellen Ulf Leser: Informationsintegration 15

16 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 16

17 Vier Anfragepläne Jeder Plan = 2 Teilpläne Teilpläne sind quellspezifisch Wer führt Joins zwischen Teilplänen aus? System kann auswählen Alle Pläne: teuer,vollständig Schnellster Plan Plan mit dem größten Ergebnis Ulf Leser: Informationsintegration 17

18 Fragen Kann man nicht imdb.movie imdb.acts gemeinsam betrachten? Doch aber wir nehmen (noch) Quelle = eine Relation an Später (GaV) Warum sollte man imdb.movie und fd.spielt zusammen in einem Plan benutzen? Weil Quellen unvollständig und fehlerhaft sind Daher können Kombination neue korrekte Tupeln produzieren Annahme: Gleiche Werte in den Joinattributen Hier: Filmnamen, Schauspielernamen Ulf Leser: Informationsintegration 18

19 Beispiel imdb.movie Vögel, Hitchcock Münchhausen, von Baky fd.film Vögel, Hitchcock Münchhausen, Bürger imdb.acts Vögel, Kelly, Hauptrolle Münchhausen, Bendow, Nebenrolle fd.spielt Vögel, Kelly, Hauptrolle Münchhausen, Albers, Hauptrolle Movie acts - film spielt Münchhausen, Bürger, Hauptrolle movie spielt Münchhausen, van Baky, Hauptrolle film acts - Ulf Leser: Informationsintegration 19

20 Anfrageübersetzung Jeder Teilplan kann an eine Quelle geschickt werden Übersetzung der Schemaelementnamen Übersetzung SQL Anfrage in Web-Service, HTTP, XQuery, Übersetzung von Konstanten in einer Query Was heißt Hauptrolle in der imdb? SELECT titel, rolle FROM spielt WHERE schauspieler_name= Hans Albers AND rolle= Hauptrolle SELECT title, role FROM imdb.acts WHERE actor_name= Hans Albers AND role= main role ; SELECT titel, rolle FROM fd.spielt WHERE s _name= Hans Albers AND rolle= Hauptrolle Ulf Leser: Informationsintegration 20

21 Anfrageoptimierung Lokale Optimierung: Jeder Plan einzeln Globale Optimierung: Gesamtmenge aller Pläne (später) Fragen Optimale Reihenfolge der Ausführung der Teilpläne? Möglicherweise parallele Ausführung? Bedingungen pushen oder lokal ausführen? TP1: SELECT title, director FROM imdb.movie; TP2: SELECT title, role FROM imdb.acts WHERE actor_name= Hans Albers AND role= main role ; Ulf Leser: Informationsintegration 21

22 Einige Möglichkeiten TP1: SELECT title, director FROM imdb.movie; TP1, dann TP2, dann Join im Mediator Benötigt Download aller Filme der IMDB Vermutlich teuer TP1 und TP2 parallel Ergebnis von TP1 ist für TP2 unerheblich Immer noch teuer Erst TP2, dann TP1 umschreiben, Join im Mediator Pushen der Tupel aus TP2 an TP1 (WHERE TITLE in ( )) Keine Parallelisierung ganzer Anfragen mehr möglich Aber Pipelining Kleinere Zwischenergebnisse, vermutlich schneller TP2: SELECT title, role FROM imdb.acts WHERE actor_name= Hans Albers AND role= main role ; Ulf Leser: Informationsintegration 22

23 Anfrageausführung Jeder der vier Pläne wurde optimiert und übersetzt Teilpläne müssen ausgeführt werden Anfrage abschicken, Ergebnis abwarten, lokal puffern Time-Outs überwachen Müssen alle Teilpläne ausgeführt werden? Wenn wir P1-P4 betrachten und keine Joinbedingungen pushen können Ergibt 8 Teilpläne - aber nur 4 verschiedene Teilpläne Optimierungspotential Fehlende Operationen im Mediator ausführen Nicht-pushbare Selektionen Joins zwischen Quellen Ulf Leser: Informationsintegration 23

24 Ergebnisintegration Jeder Plan liefert eine Menge korrekter Ergebnisse Trotzdem kann es Probleme geben Duplikate: Objekte sind in mehreren Quellen vorhanden Konflikte: Objekte sind mehrmals mit widersprüchlichen Angaben vorhanden imdb.movie Vögel, Hitchcock Münchhausen, von Baky fd.film Vögel, Hitchcock Münchhausen, Bürger imdb.acts Vögel, Kelly, Hauptrolle Münchhausen, Bendow, Nebenrolle fd.spielt Vögel, Kelly, Hauptrolle Münchhausen, Albers, Hauptrolle UNION UNION - Münchhausen, Bürger, Hauptrolle Münchhausen, von Baky, Hauptrolle - Ulf Leser: Informationsintegration 24

25 Inhalt dieser Vorlesung Das Problem Anfrageplanung: Übersicht Global-as-View Modellierung GaV und Integritätsconstraints Implementierung Ulf Leser: Informationsintegration 25

26 Modellierung von Datenquellen Relationales Modell Kernidee: Modellierung strukturell heterogener Quellen in Bezug auf ein globales Schema als Views (Sichten) Sichten verknüpfen Relationen miteinander Sichten sind hier definiert auf Relationen eines Schemas (mehrerer Schemata) und produzieren eine Relation des anderen Schemas Ulf Leser: Informationsintegration 26

27 Global as View / Local as View Global as View (GaV) Relationen des globalen Schemata werden als Sichten auf die lokalen Schemata der Quellen ausgedrückt Local as View (LaV) Relationen der Schemata der Quellen werden als Sichten auf das globale Schema ausgedrückt Ulf Leser: Informationsintegration 27

28 Global as View 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 28

29 Zwei Arten von GaV Regel Einfache GaV Regeln: Quellspezifisch Verknüpfung über Quellen hinweg übernimmt die Anfrageplanung Besser wartbar, denn Änderung einer Quelle betrifft wenige, klar definierte Sichten Einfacher zu erweitern mit neuen Quellen, denn bestehende Views müssen nicht angefasst werden Komplexe GaV Regeln: Quellübergreifend Sicht ist eine Anfrage in einer Multidatenbanksprache Sicht fasst alle Objekte einer globalen Relation zusammen Anfrageplanung übernimmt nur noch Verknüpfung zwischen verschiedenen Relationen, d.h., Joins in der globalen Anfrage Weniger robust, schwerer zu erweitern Relationenspezifische Konfliktlösung kann in Sicht definiert werden Ulf Leser: Informationsintegration 29

30 Im Folgenden In den folgenden Beispielen verwenden wir komplexe GaV Regeln Alle Aussagen gelten aber auch für einfache GaV Regeln Der eine View würde durch so viele Views wie Quellen ersetzt werden Die UNION im komplexen View wird durch den Anfrageplaner erzeugt Ulf Leser: Informationsintegration 30

31 Fehlende Attribute, Umbenennung, Film( Titel, Name, Jahr NUM(2), Genre) Regisseur( Name, Foto, Alter) Umbenennung Granularität S5: MDB( Titel, Regie, Jahr DATE) S6: MovDB( Titel, Regie, Genre) CREATE VIEW Film (Titel, Name, Jahr, Genre) AS SELECT Titel, lastname(regie), SQL.year(Jahr), NULL AS Genre FROM MDB UNION SELECT Titel, Regie, NULL AS Jahr, Genre FROM MovDB Andere Namen, fehlende Attribute, unterschiedliche Granularität, unterschiedliche Datentypen etc. relativ problemlos Fehlendes Attribut Datentyp Ulf Leser: Informationsintegration 31

32 Strukturelle Heterogenität Aufsplittung Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) S7: FilmRegie( Titel, Name, Jahr) S7: Genre (Titel, Genre CREATE VIEW Film AS SELECT Titel, Name, Jahr, Genre FROM FilmRegie, genre WHERE filmregie.titel=genre.titel Zunächst kein Problem Aber Heterogenität in der Kardinalität film-genre Ist 1:1 im globalen Schema, 1:n in S7 Führt zu mehreren Tupeln für einen Film im globalen Schema Problem oder nicht Ulf Leser: Informationsintegration 32

33 Strukturelle Heterogenität Verschmelzung Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) S7: FilmRegie( Titel, DirFoto) CREATE VIEW Film AS SELECT Titel, NULL, NULL, Null FROM FilmRegie CREATE VIEW Regisseur AS SELECT NULL, DirFoto, NULL FROM FilmRegie Problem: Assoziationen werden getrennt Tritt nur auf, wenn Attribute verschiedener globaler Relationen in einer lokalen Relation liegen und der verbindende Key/FK nicht existiert Möglichkeit: Künstlichen Schlüssel erzeugen Ulf Leser: Informationsintegration 33

34 Vorschau: Local as View (LaV) Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) S7: FilmRegie( Titel, DirFoto) CREATE VIEW S7 AS SELECT F.Titel, R.Foto FROM Film, Regisseur WHERE F.Name = R.name Umgekehrte Betrachtung Assoziationen bleiben erhalten name wird zwar nie instantiiert Aber man weiß, dass es einen verbindenden Namen gibt Damit kann man auch Anfragen planen Ulf Leser: Informationsintegration 34

35 Inhalt dieser Vorlesung Das Problem Anfrageplanung: Übersicht Global-as-View Modellierung GaV und Integritätsconstraints Implementierung Ulf Leser: Informationsintegration 35

36 Integritätsconstraints Schränken Wertebereiche ein, schließen Werte aus, schließen Kombinationen von Werten aus,... Dienen zur näheren Bestimmung der Intension einer Relation teure_autos(auto, preis), preis> golfclub_mitglieder( name, alter), alter>55 film( title, type), type {spielfilm, doku, kurzfilm} Sind für korrekte Integration wichtig Ulf Leser: Informationsintegration 36

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

38 Probleme mit globalen IC Neuerfilm( Titel, Regie, Jahr, Genre); Regisseur( Name, Foto, Alter); IC: Jahr > 2000 CREATE VIEW NeuerFilm AS SELECT * FROM IMDB WHERE Jahr > 2000 UNION SELECT Titel, Regie, NULL, NULL FROM MyOldOrNewMovies WHERE?? S1: IMDB( Titel, Regie, Jahr, Genre) S2: MyOldOrNewMovies( Titel, Regie) Quelle gibt keine Jahr-Informationen IC auf globalem Schema kann nicht überprüft werden Quelle kann nicht garantiert korrekt integriert werden Ulf Leser: Informationsintegration 38

39 Lokale Integritätsconstraints Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) S8: NeueFilme( Titel, Regie, Genre) IC: Jahr > 2000 CREATE VIEW Film AS SELECT Titel, Regie, NULL, Genre FROM NeueFilme IC in Quelle ist nicht im View ausgedrückt Warum ist das schlecht? SELECT * FROM film WHERE jahr < 1950 Ulf Leser: Informationsintegration 39

40 Viele Quellen, lokale IC Zu Hause ansehen Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) CREATE VIEW Film AS SELECT * FROM AlleFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM AlleFilmeBöse UNION SELECT * FROM NeueFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM NeueFilmeBöse UNION SELECT Titel, Regie, 2012, Genre FROM AktuelleFilme 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) (Hintergrundwissen: Jahr > 2000) S5: AktuelleFilme(Titel, Regie, Genre) (Hintergrundwissen : Jahr = 2012) Ulf Leser: Informationsintegration 40

41 Auswirkungen 1 Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) Anfrage: SELECT * FROM Film CREATE VIEW Film AS SELECT * FROM AlleFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM AlleFilmeBöse UNION SELECT * FROM NeueFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM NeueFilmeBöse UNION SELECT Titel, Regie, 2004, Genre FROM AktuelleFilme Ulf Leser: Informationsintegration 41

42 Auswirkungen 2 Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) CREATE VIEW Film AS SELECT * FROM AlleFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM AlleFilmeBöse UNION SELECT * FROM NeueFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM NeueFilmeBöse UNION SELECT Titel, Regie, 2012, Genre FROM AktuelleFilme Anfrage: SELECT * FROM Film WHERE Jahr > 2001 Trägt voll zum Ergebnis bei Trägt nicht zum Ergebnis bei (NULL > 2001) Trägt voll zum Ergebnis bei Trägt nicht zum Ergebnis bei (leider) Trägt voll zum Ergebnis bei Ulf Leser: Informationsintegration 42

43 Auswirkungen 3 Film( Titel, Name, Jahr, Genre) Regisseur( Name, Foto, Alter) CREATE VIEW Film AS SELECT * FROM AlleFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM AlleFilmeBöse UNION SELECT * FROM NeueFilmeNett UNION SELECT Titel, Regie, NULL, Genre FROM NeueFilmeBöse UNION SELECT Titel, Regie, 2012, Genre FROM AktuelleFilme Anfrage: SELECT * FROM Film WHERE Jahr < 1950 Trägt voll zum Ergebnis bei Trägt nicht zum Ergebnis bei Trägt nicht zum Ergebnis bei (2000 > 1950) Trägt nicht zum Ergebnis bei Trägt nicht zum Ergebnis bei Ulf Leser: Informationsintegration 43

44 Fazit Integritätsconstraints im globalen Schema Verhindern die Integration von Quellen, wenn die Bedingung nicht durch eine Anfrage an die Quelle geprüft werden kann Integritätsconstraints in lokalen Schemata Können in globaler Sicht modelliert werden, wenn Nur exportierte Attribute betroffen sind (zur Optimierung) Nur nicht exportierte Attribute betroffen sind, die im globalen Schema vorhanden sind und die Form attribute = const haben (als konstante Spalten) Können ignoriert werden, wenn sie Attribute betreffen, die im globalen Schema nicht enthalten sind Ulf Leser: Informationsintegration 44

45 Inhalt dieser Vorlesung Das Problem Anfrageplanung: Übersicht Global-as-View Modellierung GaV und Integritätsconstraints Implementierung / Anfragebearbeitung Ulf Leser: Informationsintegration 45

46 Anfragebearbeitung GaV Gegeben: Anfrage an globales Schema Gesucht: Alle Tupel, die die Anfragebedingungen erfüllen und in mindestens einer Quelle vorhanden sind Idee: Ersetze jede Relation der Anfrage durch ihre Sicht Sichtentfaltung, View Expansion, Query Unfolding Ergibt geschachtelte Anfrage Ulf Leser: Informationsintegration 46

47 GaV Beispiel 1 Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) S1: IMDB(Titel, Regie, Jahr, Genre) S2: RegieDB(Titel, Regie) S3: GenreDB(Titel, Jahr, Genre) SELECT * FROM Film SELECT * FROM ( SELECT * FROM IMDB UNION SELECT R.Titel, R.Regie, G.Jahr, G.Genre FROM RegieDB R, GenreDB G WHERE R.Titel = G.Titel) Generiert nicht alle möglichen Tupel Entscheidung über gewünschte Tupeln ist in der Sichtdefinition festgelegt Bei einfachen GaV Regeln trifft diese Entscheidung der Planer Ulf Leser: Informationsintegration 47

48 GaV Beispiel 2 Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) SELECT F.Titel, P.Kino, F.Regie FROM Film F, Programm P WHERE F.Titel = P.Titel AND P.Zeit > 20:00 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 ( 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 48

49 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 49

50 Predicate-Pushdown π titel,kino π titel,kino σ P.Zeit>20:00 Titel Titel σ P.Zeit>20:00 Titel Titel GenreDB RegieDB IMDB KinoDB GenreDB RegieDB IMDB KinoDB Ulf Leser: Informationsintegration 50

51 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 51

52 Strukturelle Heterogenität Film(Titel, Regie, Jahr, Genre) Programm(Kino, Titel, Zeit) S5: MDB(Titel, Zeit, Regie) S6: MovDB(Kino, Genre, Titel) CREATE VIEW Film AS SELECT MDB.Titel, Regie, NULL, Genre FROM MDB, MovDB WHERE MDB.Titel = MovDB.Titel CREATE VIEW Programm AS SELECT Kino, MDB.Titel, Zeit FROM MovDB, MDB WHERE MDB.Titel = MovDB.Titel SELECT F.Titel, P.Kino FROM Film F, Programm P WHERE F.Titel = P.Titel AND P.Zeit > 20:00 SELECT F.Titel, F.Jahr FROM ( SELECT Titel, Regie, NULL, Genre FROM MDB, MovDB WHERE MDB.Titel = MovDB.Titel ) AS F, ( SELECT Kino, Titel, Zeit FROM MovDB, MDB WHERE MDB.Titel = MovDB.Titel ) AS P WHERE F.Titel = P.Titel AND P.Zeit > 20:00 Ulf Leser: Informationsintegration 52

53 Direkte Übersetzung SELECT F.Titel, F.Kino FROM ( SELECT Titel, Regie, NULL, Genre FROM MDB, MovDB WHERE MDB.Titel = MovDB.Titel ) AS F, ( SELECT Kino, Titel, Zeit FROM MovDB, MDB WHERE MDB.Titel = MovDB.Titel ) AS P WHERE F.Titel = P.Titel AND P.Zeit > 20:00 π titel,kino σ P.Zeit>20:00 Titel Titel Titel MDB MovDB Ulf Leser: Informationsintegration 53

54 Entschachteln π titel,kino π titel,kino σ P.Zeit>20:00 Titel Titel σ P.Zeit>20:00 Titel Titel MDB MovDB MDB MovDB Ulf Leser: Informationsintegration 54

55 Projektionen pushen π titel,kino Titel Titel σ P.Zeit>20:00 π titel π titel,kino σ P.Zeit>20:00 MDB MovDB MDB MovDB Ulf Leser: Informationsintegration 55

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

Datenintegration & Datenherkunft Global-as-View (GaV) und Local-as-View (LaV) Datenintegration & Datenherkunft Global-as-View (GaV) und Local-as-View (LaV) Wintersemester 2010/11 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme, Universität Tübingen

Mehr

Kapitel 5: Anfrageverarbeitung. Multidatenbanksprachen am Beispiel von SchemaSQL

Kapitel 5: Anfrageverarbeitung. Multidatenbanksprachen am Beispiel von SchemaSQL Datenintegration Datenintegration Kapitel 5: Anfrageverarbeitung Andreas Thor Sommersemester 2008 Universität Leipzig Institut für Informatik http://dbs.uni-leipzig.de 1 Inhalt Multidatenbanksprachen am

Mehr

Integration, Migration und Evolution

Integration, Migration und Evolution 14. Mai 2013 Programm für heute 1 2 Quelle Das Material zu diesem Kapitel stammt aus der Vorlesung Datenintegration & Datenherkunft der Universität Tübingen gehalten von Melanie Herschel im WS 2010/11.

Mehr

Informationsintegration Local-as-View: LaV. 15.6.2012 Felix Naumann

Informationsintegration Local-as-View: LaV. 15.6.2012 Felix Naumann Informationsintegration Local-as-View: LaV 15.6.2012 Felix Naumann Überblick 2 Motivation Korrespondenzen Übersicht Anfrageplanung Global as View (GaV) Local as View (LaV) Modellierung Anwendungen Anfragebearbeitung

Mehr

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung

Mehr

Informationsintegration

Informationsintegration Informationsintegration Grundlegende Architekturen Ulf Leser Inhalt diese Vorlesung Klassifikation verteilter, autonomer, heterogener Systeme Weitere Klassifikationskriterien Schichtenaufbau integrierter

Mehr

Kapitel 10: Relationale Anfragebearbeitung

Kapitel 10: Relationale Anfragebearbeitung Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:

Mehr

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

Schema Mapping. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Schema Mapping / 23 Dr. Armin Roth arminroth.de 25.04.2013 Dr. Armin Roth (arminroth.de) II Schema Mapping 25.04.2013 1 / 23 Agenda 1 Wiederholung: Schema Matching / Integration 2 Schema Mapping Definitionen Beispiel Algorithmus

Mehr

Ausgangspunkt. Datenintegration. Ziel. Konflikte. Architekturen. Transparenz

Ausgangspunkt. Datenintegration. Ziel. Konflikte. Architekturen. Transparenz Ausgangspunkt Datenintegration Web Informationssysteme Wintersemester 2002/2003 Donald Kossmann Daten liegen in verschiedenen Datenquellen (Extremfall: jede URL eigene Datenquelle) Mietautos bei www.hertz.com

Mehr

Indexstrukturen in SQL

Indexstrukturen in SQL Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

Query Languages (QL) Relationale Abfragesprachen/Relational Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell

Mehr

Anfrageoptimierung Logische Optimierung

Anfrageoptimierung Logische Optimierung Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13 Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer

Mehr

Informationsintegration

Informationsintegration Informationsintegration Anfrageplanung mit beschränkten Quellen Ulf Leser Inhalt dieser Vorlesung Gebundene und freie Variablen Anfrageplanung Verfeinerungen Ulf Leser: Informationsintegration 2 Beschränkte

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

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

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar 2009 Dr. A. Huhn, M. Endres, T. Preisinger Datenbanksysteme I Semesterklausur Hinweise: Die Bearbeitungszeit

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken Grundlagen der Datenbanksysteme, WS 2012/13 29. Oktober 2012 Seite 1 1. Einführung 1.1. Datenbanken Willkommen! Studierenden-Datenbank

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

1. Einführung Seite 1. Kapitel 1: Einführung

1. Einführung Seite 1. Kapitel 1: Einführung 1. Einführung Seite 1 Kapitel 1: Einführung 1. Einführung Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine Adresse ist Seeweg 20. Er ist im zweiten Semester. Lisa

Mehr

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

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

Kapitel 3: Eigenschaften von Integrationssystemen. Einordnung von Integrationssystemen bzgl. Kriterien zur Beschreibung von Integrationssystemen

Kapitel 3: Eigenschaften von Integrationssystemen. Einordnung von Integrationssystemen bzgl. Kriterien zur Beschreibung von Integrationssystemen Datenintegration Datenintegration Kapitel 3: Eigenschaften von Integrationssystemen Andreas Thor Sommersemester 2008 Universität Leipzig Institut für Informatik http://dbs.uni-leipzig.de 1 Inhalt Einordnung

Mehr

Informationsintegration

Informationsintegration Informationsintegration Architekturen Vergleichskriterien für integrierte Systeme Ulf Leser Wissensmanagement in der Bioinformatik Übersicht Technische Heterogenität Technische Realisierung des Datenzugriffs

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

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

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 Kapitel 7 Normalformen und DB-Entwurf Kap. 7.1 Normalformen Theorie Funktionale Abhängigkeit: f X Y f als Relation, d.h. Menge von Paaren {(x,y)} x: Definitions-Stelle, y: Funktionswert f ist Funktion

Mehr

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten Seminararbeit vorgelegt von: Gutachter: Studienbereich: Christian Lechner Dr. Georg Moser Informatik Datum: 6. Juni 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung in Datenbanken 1 1.1 Motivation....................................

Mehr

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

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

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

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries SQL 2 Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Fortgeschrittene SQL-Konstrukte groupby having union / intersect / except Aggregatfunktionen revisited Subqueries Korrelierte

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

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

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler)) 3. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 Hinweis: Wir schlagen vor, die Aufgaben in der Reihenfolge

Mehr

Abschluss Einblick und Ausblick

Abschluss Einblick und Ausblick Abschluss Einblick und Ausblick Prof. Dr. T. Kudraß 1 Benutzer Komponenten eines DBMS (Überblick) I/O-Prozessor Output-Generierung Parser für selbst. oder eingebettete Kommandos Precompiler Autorisierungs-Kontrolle

Mehr

Kap. 3 Relationenmodell mit relationaler Algebra

Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,

Mehr

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof Alfons Kemper, PhD Blatt Nr 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@intumde) http://www-dbintumde/teaching/ws56/grundlagen/

Mehr

Aggregatfunktionen in der Relationenalgebra?

Aggregatfunktionen in der Relationenalgebra? Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in

Mehr

Datenintegration & Datenherkunft Architekturen

Datenintegration & Datenherkunft Architekturen Datenintegration & Datenherkunft Architekturen Wintersemester 2010/11 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme, Universität Tübingen 1 Kapitel 4 Architekturen Überblick

Mehr

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

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Nächste Sitzung: 17./20. November 2003 Die Dokumentation zu DB2 steht online zur Verfügung. Eine lokale Installation der Dokumentation findet sich unter der Adresse http://salz.is.informatik.uni-duisburg.de/db2doc/de_de/index.htm.

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

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

Aufgabenblatt 4 SQL. Vorbereitungen für das Aufgabenblatt: IMDB in DB2 laden Aufgabenblatt 4 SQL Abgabetermin: Dienstag, 07.06.11 Zur Prüfungszulassung muss ein Aufgabenblatt mit mind. 25% der Punkte bewertet werden und alle weiteren Aufgabenblätter mit mindestens 50% der Punkte.

Mehr

Aufgabe 1: Integrität

Aufgabe 1: Integrität Aufgabe 1: Integrität Gegeben sei das folgende Schema: Personal: (PNR, Name, Gehalt, Abt, Vorges) a) Geben Sie das CREATE TABLE Statement an, um die Tabelle Personal zu erzeugen. Folgende Integritätsbedingungen

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

4. Übungszettel (Musterlösung)

4. Übungszettel (Musterlösung) 4. Übungszettel (Musterlösung) Einführung in Datenbanksysteme Datenbanken für die Bioinformatik Heinz Schweppe, Jürgen Broß, Katharina Hahn Hinweise: Auf dem Server esel verfügbar, wird die TerraDB sowohl

Mehr

3. Grundlagen relationaler Datenbanksysteme

3. Grundlagen relationaler Datenbanksysteme 3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen

Mehr

5. Übungsblatt (Testatwoche: Mai 2010)

5. Übungsblatt (Testatwoche: Mai 2010) 5. Übungsblatt (Testatwoche: 18. - 20. Mai 2010) Einführung in Datenbanksysteme Datenbanken für die Bioinformatik Heinz Schweppe, Katharina Hahn Aufgabe 1 (Kardinalitäten von Ergebnisrelationen) 6 Punkte

Mehr

Data Cubes PG Wissensmangement Seminarphase

Data Cubes PG Wissensmangement Seminarphase PG 402 - Wissensmangement Seminarphase 23.10.2001-25.10.2001 Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund Übersicht 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit

Mehr

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'

Mehr

2.5 Relationale Algebra

2.5 Relationale Algebra 2.5 Relationale Algebra 2.5.1 Überblick Codd-vollständige relationale Sprachen Relationale Algebra Abfragen werden durch exakte Angabe der auf den Relationen durchzuführenden Operationen formuliert Relationenkalküle

Mehr

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

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname  Age Gruppe Schmidt Hans Meisel Amelie Seminar 1 SQL Abfragen DML Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro 21 331 1235 Meisel Amelie meisel@cs.ro 22 331 1236 Krause Julia krause@cs.ro 21 332 1237 Rasch

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem. Themenblock: Erstellung eines Cube Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Praktikum: Data Warehousing und Data Mining Idee Speicherung der Daten in Form von Tabellen

Mehr

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12 Universität Augsburg, Institut für Informatik WS 2007/2008 Prof Dr W Kießling 18 Jan 2008 Dr A Huhn, M Endres, T Preisinger Übungsblatt 12 Datenbanksysteme I Hinweis: Das vorliegende Übungsblatt besteht

Mehr

Informationsintegration

Informationsintegration Informationsintegration Schemaintegration Ulf Leser Wissensmanagement in der Bioinformatik Richtung Schemaintegration versus Anfragebearbeitung FDBS Schema integration Data source Data source Data source

Mehr

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8 Prof. Dr. Wilhelm Schäfer Paderborn, 8. Dezember 2014 Christian Brenner Tristan Wittgen Besprechung der Aufgaben: 15. - 18. Dezember 2014 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung

Mehr

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis

Mehr

Microsoft Access Abfragen. Verknüpfung von Tabellen

Microsoft Access Abfragen. Verknüpfung von Tabellen Microsoft Access Abfragen. Verknüpfung von Tabellen Welche Bestellungen hat Kunde... aufgegeben? Welche Kunden im Staat USA haben Waren im Wert von mindestens... bestellt? Welche Waren wurden nicht bestellt?

Mehr

30. Juni 2006 - Technische Universität Kaiserslautern. Paul R. Schilling

30. Juni 2006 - Technische Universität Kaiserslautern. Paul R. Schilling 30. Juni 2006 - Technische Universität Kaiserslautern Paul R. Schilling ! " #$% & '( ( ) *+, - '. / 0 1 2("$ DATEN SIND ALLGEGENWÄRTIG Bill Inmon, father of data warehousing Unternehmen In einer vollkommenen

Mehr

Informationsintegration

Informationsintegration Informationsintegration Einführung Ulf Leser Wissensmanagement in der Bioinformatik Informationsintegration Anfrage Integriertes Informationssystem Oracle, DB2 Anwendung Dateisystem Web Service HTML Form

Mehr

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE B 22.06.2012 Matrikelnr. Familienname

Mehr

Das Relationale Modell

Das Relationale Modell Kapitel 3 Das Relationale Modell 1 / 50 Generelle Anmerkungen Wurde in den Siebzigern von E.F.Codd entwickelt (er bekam den Turing Award dafür) Im Moment das am weitesten verbreitete Datenmodell Hat die

Mehr

Begrenzte Freigabe privater Daten

Begrenzte Freigabe privater Daten Begrenzte Freigabe privater Daten Matthias Kirschner Einführung Architektur Semantisches Modell Query Modifikation Fazit 29.9.2005 Szenario DBTabelle mit Seminarteilnehmern Mnr Name Thema Note email 1001

Mehr

dbis Praktikum DBS I SQL Teil 2

dbis Praktikum DBS I SQL Teil 2 SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken

Mehr

FachPraktikum 1590 Erweiterbare Datenbanksysteme. Aufgaben Phase 1

FachPraktikum 1590 Erweiterbare Datenbanksysteme. Aufgaben Phase 1 FachPraktikum 1590 Erweiterbare Datenbanksysteme Aufgaben Phase 1 Wintersemester 2004/2005 Ralf Hartmut Güting, Dirk Ansorge, Thomas Behr, Markus Spiekermann Praktische Informatik IV, Fernuniversität Hagen

Mehr

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung 2. Übung zur Datenhaltung EER & Relationenmodell Agenda Institut für Programmstrukturen und Datenorganisation (IPD) Kurze Nachbesprechung zum ersten Übungsblatt (Relationale

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

Datenbanksysteme I Aufgabenblatt 4: SQL

Datenbanksysteme I Aufgabenblatt 4: SQL Hinweise: Datenbanksysteme I Aufgabenblatt 4: SQL Abgabetermin: Montag, 08.01.07, 13:30 (vor der Vorlesung) Format: Auf Papier im Fach Datenbanksysteme I im Foyer oder per E-Mail an dbs1@hpi.uni-potsdam.de

Mehr

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN: Lothar Piepmeyer Grundkurs Datenbanksysteme Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42354-1

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 1 Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine

Mehr

Klausur zur Vorlesung Datenbanksysteme I

Klausur zur Vorlesung Datenbanksysteme I Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe

Mehr

Geoinformation Abbildung auf Tabellen

Geoinformation Abbildung auf Tabellen Folie 1 von 32 Geoinformation Abbildung auf Tabellen Folie 2 von 32 Abbildung auf Tabellen Übersicht Motivation des relationalen Datenmodells Von Objekten zu Tabellen Abbildung von Objekten Schlüssel Abbildung

Mehr

Datenintegration. Kapitel 0: Organisatorisches. Dr. Anika Groß Sommersemester 2016

Datenintegration. Kapitel 0: Organisatorisches. Dr. Anika Groß Sommersemester 2016 Datenintegration Datenintegration Kapitel 0: Organisatorisches Dr. Anika Groß Sommersemester 2016 Universität Leipzig Institut für Informatik http://dbs.uni-leipzig.de 1 Organisatorisches Termin: donnerstags,

Mehr

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Uwe Ligges Informatik LS 8 22.04.2010 1 von 26 Gliederung 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 11.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 6: SQL und Verschachtelte Anfragen Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch Aus den

Mehr

XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN. 4. Übung SQL/XML

XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN. 4. Übung SQL/XML XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN 4. Übung SQL/XML Agenda 2 XML zum Abbilden von DB-Inhalten Motivation Abbildungsvorschriften Vollständige Abbildung mithilfe von XML-Schema Beispiel Laender

Mehr

Datenbanken. Geografische Koordinaten können in folgender Form als komplexes Attribut modelliert werden:

Datenbanken. Geografische Koordinaten können in folgender Form als komplexes Attribut modelliert werden: 11. ufgabenblatt 1. ufgabe Geografische Koordinaten können in folgender Form als komplexes ttribut modelliert werden: create type geokoord as object (laengengrad number, breitengrad number); / Dieses komplexe

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

Informationsintegration Einführung

Informationsintegration Einführung Informationsintegration Einführung 17.4.2007 Felix Naumann Integrierte Informationssysteme 2 Anfrage Integriertes Informationssystem Oracle, DB2 Anwendung Dateisystem Web Service HTML Form Integriertes

Mehr

Überblick Felix Naumann. Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen

Überblick Felix Naumann. Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen Datenbanksysteme I Zugriffskontrolle (kleiner Einschub) 18.1.2007 Felix Naumann Überblick 2 Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen

Mehr

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

Komplexität. Matthias Sax. 9. Juli Humboldt-Universität zu Berlin. Institut für Informatik Komplexität Matthias Sax Humboldt-Universität zu Berlin Institut für Informatik 9. Juli 2007 Matthias Sax Komplexität 1 / 21 1 Problemstellung 2 Polynomiale Fälle Ungleichheit Anfragen in der Logik der

Mehr

1 Referentielle Aktionen

1 Referentielle Aktionen 1 Referentielle Aktionen Betrachten Sie das folgende Datenbankschema: Person(Vorname, Nachname, DOB, Wohnort, Lieblingsfilm Film.IMDb-ID, Videothek Videothek.VID) Film(IMDb-ID, Titel, (ProduzentVN, ProduzentNN)

Mehr

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Veranstaltung Pr.-Nr.: Datenmodellierung. Veronika Waue WS 07/08. Phasenschema der Datenbankentwicklung (grob) Informationsanalyse

Veranstaltung Pr.-Nr.: Datenmodellierung. Veronika Waue WS 07/08. Phasenschema der Datenbankentwicklung (grob) Informationsanalyse Veranstaltung Pr.-Nr.: 101023 Datenmodellierung Veronika Waue WS 07/08 Phasenschema der Datenbankentwicklung (grob) Informationsanalyse Konzeptualisierung und Visualisierung (z.b. mittels ERD) (Normalisiertes)

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Wir haben folgende Ausprägung der Relation Studenten:

Wir haben folgende Ausprägung der Relation Studenten: Übungen Aufgabe Wir haben folgende Ausprägung der Relation Studenten: SID Name Email Age Note 2833 Jones jones@scs.ubbcluj.ro 9 9 2877 Smith smith@scs.ubbcluj.ro 2 8 2976 Jones jones@math.ubbcluj.ro 2

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

Konzeptueller Entwurf

Konzeptueller Entwurf Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen

Mehr

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

Schema Mapping. Armin Roth 25.04.2013. arminroth.de. Armin Roth (arminroth.de) II Schema Mapping 25.04.2013 1 / 23 Schema Mapping Armin Roth arminroth.de 25.04.2013 Armin Roth (arminroth.de) II Schema Mapping 25.04.2013 1 / 23 Agenda 1 Wiederholung: Schema Mapping 2 Logische Mappings 3 Erzeugung der Anfragen Armin

Mehr

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt r. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Objektorientierte Analyse (OOA) OOA-Pattern

Objektorientierte Analyse (OOA) OOA-Pattern OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance

Mehr