Umgekehrt kann eine Datenbank-Instanz in eine konjunktive Anfrage umgewandelt werden: hasairport. ans. fly n 1 n 2 n 3 n 2 Bonn n 4.

Ähnliche Dokumente
FGIS SS Datenbanktheorie 1.2. Enthaltensein-Problem

Gruppen. Kapitel Operationen Definiton Gruppe, symmetrische Gruppen. Gruppen und Untergruppen, Lernziele 1. Erzeugendensysteme,

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

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Anmerkungen zu Mengen und Abbildungen

Einführung in die Theoretische Informatik

Einführung in die mathematische Logik

3. Übungszettel zur Vorlesung. Geometrische Gruppentheorie Musterlösung. Cora Welsch

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Abschnitt 3.2: Der Satz von Ehrenfeucht

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Semantik von Programmiersprachen SS 2017

Einführung in die Theoretische Informatik

KAPITEL 1: ENDLICHE KÖRPER 1 ALLGEMEINES 2 GLEICHUNGEN ÜBER EINEM ENDLICHEN KÖRPER

Kapitel 2. Endliche Körper und Anwendungen. 2.1 Körpererweiterungen

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Vollständige Induktion. Analysis I. Guofang Wang. Universität Freiburg

Ersetzbarkeitstheorem

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

1. Die freie Gruppe F [A]

Diskrete Mathematik für Informatiker Universität Leipzig WS 2007 / 08. Claus Diem

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

KAPITEL 5. Damit wird F n (B) selbst zu einer Booleschen Algebra und es gilt f(x) := f(x) 0(x) := 0 B 1(x) := 1 B

Grundlagen der Theoretischen Informatik

6.6 Normal- und Kompositionsreihen

n (als K 0 -Vektorraum) und insbesondere

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

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0.

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

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

Zur Zykelschreibweise von Permutationen

UNTERLAGEN ZUR CHARAKTERISIERUNG ENDLICH ERZEUGTER ABELSCHER GRUPPEN ENTWURF

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Grundlagen. A) Mengen

1 Angeordnete Körper. 1.1 Anordnungen und Positivbereiche

: das Bild von ) unter der Funktion ist gegeben durch

Grundbegriffe für dreiwertige Logik

Einschub: Erkennung durch Monoide

Logische und funktionale Programmierung

5. Äquivalenzrelationen

Das Halteproblem für Turingmaschinen

Universelles Koeffiziententheorem der Kohomologie. / Bild δn

Kapitel 1. Grundlagen

definieren eine Aussage A als einen Satz, der entweder wahr (w) oder falsch (f) (also insbesondere nicht beides zugleich) ist 1. Beispiel 1.1.

Mathematische Grundlagen der Computerlinguistik

3. Übungsblatt Lösungsvorschlag

Die mathematische Seite

Beispiel für simultane Kongruenz

Tableaukalkül für Aussagenlogik

5. Äquivalenzrelationen

Die Nerode-Relation und der Index einer Sprache L

Prädikatenlogiken. Mathematische Logik. Vorlesung 7. Alexander Bors. 6. & 27. April A. Bors Logik

Permutationsgruppen. 1 Zykelzerlegung und Signum. Jesko Hüttenhain. Winter 2013

D-MATH, D-PHYS, D-CHAB Analysis I HS 2017 Prof. Manfred Einsiedler. Lösung 2

Kapitel 6: Das quadratische Reziprozitätsgesetz

aus der Bedingung/Annahme A folgt ein Widerspruch ), so ist A falsch!

Automaten und Coinduktion

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Mathematische Grundlagen der Computerlinguistik

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Relativierte Berechnungen und die arithmetische Hierachie

Folglich besitzt die kanonische Faktorisierung von Permutationen der Ordnung 2 nur 2-Zykeln, also Transpositionen, als Elemente.

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

Das Postsche Korrespondenzproblem

Einführung in die mathematische Logik

Beispiel 27 (Beweis durch Widerspruch) Satz 28 3 ist irrational, d. h. Beweis: Widerspruchsannahme: 3 Q.

Institut für Analysis WiSe 2018/2019 Prof. Dr. Dirk Hundertmark Dr. Markus Lange. Analysis 1. Aufgabenzettel 4

4 Messbare Funktionen

1 Monomiale Ideale und monomiale Moduln

Chr.Nelius: Grundzüge der Algebra (WS2005/06) 1. (14.1) DEF: Ein kommutativer Ring (K, +, ) heißt ein Körper, wenn gilt: 1) 1 K 0 K 2) K = K \ {0 K }

Einführung in die Logik

Einführung in die Theoretische Informatik Tutorium IX

Kapitel 2: Multiplikative Funktionen. 3 Multiplikative Funktionen. Definition 2.1 (arithmetische Funktion, (vollständig) multiplikative Funktion)

a) Sei [G : B] = n und [B : A] = m. Seien weiter X G,B = {g 1,..., g n } vollständiges Repräsentantensystem der Linksnebenklassen von A in G.

8.2 Ring- und Körperadjunktion

Algorithmen zur Visualisierung von Graphen

Beispiel Gröbnerbasen-Berechnung

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Einführung in die mathematische Logik

3. Initiale Algebren. Beispiel: Nat0 sorts Nat opers z: Nat s: Nat Nat end

Prädikatenlogiken. Mathematische Logik. Vorlesung 8. Alexander Bors. 27. April., 4. & 11. Mai A. Bors Logik

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

WS 20013/14. Diskrete Strukturen

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

2. Symmetrische Gruppen

Übungsblatt 2 - Lösung

Kapitel 1. Grundlagen Mengen

Unentscheidbarkeitssätze der Logik

Aufgabe 1. (i) Lineare Algebra II Übungsbetrieb Blatt Σ

3.1 Gruppen, Untergruppen und Gruppen-Homomorphismen

Seminar: Algorithmisches in der Geometrie Ausarbeitung zu Vortrag 9. Triangulierungen im Cayley-Graph und Enden von kontextfreien Gruppen

Übungen zur Diskreten Mathematik I Blatt 6

Vorkurs Mathematik Abbildungen

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

Kapitel 1. Grundlagen

Transkript:

der Chase, jetzt formal... Datenbank-Instanzen 1 Wir fixieren drei unendliche, paarweise disjunkte Mengen, null und V. ist der zugrunde gelegte Domain. null = {n 1, n 2,...} ist die Menge der Null-Werte. Wir sprechen in diesem Zusammenhang von labelled nulls. V bezeichne die Menge der Variablen. 2 Eine Datenbank-Fakt ist ein R-Atom mit Argumenten aus null. 3 Eine Datenbankinstanz I ist eine (nicht notwendigerweise endliche) Menge von Datenbanken-Fakten. Umgekehrt kann eine Datenbank-Instanz in eine konjunktive Anfrage umgewandelt werden: ans n 1 fly n 1 n 2 n 3 n 2 Bonn n 4 hasairport n 1 n 2 Bonn ans(x ) fly(x,y,d 1 ), fly(y,bonn,d 2 ), hasairport(x ), hasairport(y ), hasairport(bonn) I = {fly(fft, B, 600), fly(fft, C,n 1 ), fly(n 2, C,n 1 ),...} n 1, n 2 sind Null-Werte (labelled nulls). Prof. Dr. Georg Lausen 6. Mai 2009 Seite 44 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 46 Konjunktive Anfragen als Datenbank-Instanz Den Rumpf body(x, y) einer konjunktiven Anfrage Q : ans(x) body(x, y) fassen wir als eine Datenbank-Instanz db(q) auf, wobei wir die Variablen durch Null-Werte ersetzen (durch eine injektive Abbildung). Das Ergebnis des Chase auf der Instanz db(q) bezeichnen wir weiterhin als Q Σ. ans(x,d) fly(bonn,x,d), fly(x,bonn,d), hasairport(x ), hasairport(bonn) db(q) : fly ans n 1 n 2 Bonn n 1 n 2 n 1 Bonn n 2 hasairport n 1 Bonn Der Chase-Algorithmus kann auf beliebigen endlichen (!) Datenbank-Instanzen angewendet werden, insbesondere auf db(q), wobei Q eine konjunktive Anfrage. Anwendbarkeit eines Chase-Schritts Sei α Σ und I eine endliche Datenbank-Instanz. Bezeichne α den Constraint der aus α hervorgeht indem man den -Quantor und die vorangestellte Liste der allquantifizierten Variablen streicht. Sei a ( null ). Das Tupel (α, a) heißt anwendbar auf I, falls I = α(a). Der Constraint α heißt anwendbar auf I falls es ein b ( null ) gibt, so dass (α, b) anwendbar auf I ist. Prof. Dr. Georg Lausen 6. Mai 2009 Seite 45 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 47

Definition: Homomorphismen Seien I, I Datenbanken-Instanzen. Ein Homomorphismus von I nach I ist eine Abbildung h : null V null mit für alle c gilt h(c) = c und für alle R(t 1,..., t n ) I gilt h(r(t 1,..., t n )) := R(h(t 1 ),..., h(t n )) I. Ein Homomorphismus wird in natürlicher Weise fortgesetzt auf ( null V ). I = {R(a, b)} Σ := { x 1, x 2 (R(x 1, x 2 ) y S(x 2, y)) } Unterschied zu Enthaltensein-Abbildungen? Prof. Dr. Georg Lausen 6. Mai 2009 Seite 48 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 50 Chase-Schritt: EGD Chase-Schritt: TGD Sei (α, a) anwendbar auf I, wobei α eine TGD ist. Die Liste der allquantifizierten Variablen in α sei x. Der Chase-Schritt I α,a J ist definiert wie folgt. Sei h ein Homomorphismus mit h(x) = a. Für jede existentiell quantifizierte Variable y in α wähle einen neuen Null-Wert n y null und definiere h(y) := n y. Setze J := I h(head(α)). Was gilt nun in J? Sei (α, a) anwendbar auf I, wobei α eine EGD ist. Seien x 1, x 2 die beiden Variablen, welche in head(α) vorkommen. Sei h ein Homomorphismus mit h(x) = a. Wenn h(x 1 ), h(x 2 ), dann ist der Chase-Schritt undefiniert, d.h. der Chase schlägt fehl. Ansonsten ist der Chase-Schritt I α,a J definiert wie folgt. Definiere einen neuen Homomorphismus h, der sich von h höchstens an den Stellen x 1, x 2 unterscheidet. Falls h(x 1) dann h (x 1) := h (x 2) := h(x 1). Falls h(x 1) / dann h (x 2) := h (x 1) := h(x 2). Setze J := h (I). Was gilt nun in J? Prof. Dr. Georg Lausen 6. Mai 2009 Seite 49 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 51

I = {R(n 1, n 2 ), R(n 1, n 3 )} Σ := { x 1, x 2, x 3 (R(x 1, x 2 ) R(x 1, x 3 ) x 2 = x 3 )} Das Ergebnis eines Chase-Schritts hängt davon ab ob n 1, n 2, n 3 Null-Werte sind, oder nicht. Sei n ein Null-Wert. I = {R(a, b), R(a, n)} Σ := { x 1, x 2 (R(x 1, x 2 ) y S(x 2, y)), x 1, x 2, x 3 (R(x 1, x 2 ) R(x 1, x 3 ) x 2 = x 3 )} Welche Chase-Sequenzen sind möglich? Welche Eigenschaften haben verschiedene Chase-Ergebnisse gemeinsam? Prof. Dr. Georg Lausen 6. Mai 2009 Seite 52 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 54 Chase-Sequenzen Eine Chase-Sequenz ist eine (nicht-notwendigerweise endliche) Folge von α 0,a 0 α 1,a 1 Chase-Schritten I 0 I1 I2..., wobei wir keinerlei Annahme darüber treffen in welcher Reihenfolge Constraints angewendet werden. Falls eine solche Sequenz endlich ist und kein weiterer Chase-Schritt mehr anwendbar ist, dann sagen wir dass die Sequenz terminiert. Achtung: unterschiedliche Reihenfolgen der Constraint-Anwendung führen zu unterschiedlichen Chase-Resultaten. Sei J die letzte Datenbank-Instanz in einer terminierenden Chase-Sequenz ausgehend von der Instanz I. Es gilt J = Σ. Es gilt J = I. Universelle Eigenschaft Sei J die letzte Datenbank-Instanz in einer terminierenden Chase-Sequenz ausgehend von der Instanz I. Falls K eine Datenbankinstanz ist mit K = I Σ dann gibt es einen Homomorphismus h von J nach K. Deshalb bezeichnen wir J als universelle Lösung. Prof. Dr. Georg Lausen 6. Mai 2009 Seite 53 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 55

Folgerung Für je zwei Chase-Ergenisse J, J gibt es einen Homomorphismus von J nach J und einen Homomorphismus von J nach J. Dieser Punkt erlaubt es uns von dem Chase-Ergebnis I Σ zu sprechen, d.h. ein Chase-Ergebnis ist eindeutig bis auf Homomorphie, was für alle bisher bekannten Anwendungen ausreicht. Mit anderen Worten: jede Anwendungsaufgabe kann mit jedem beliebigen Chase-Resultat gelöst werden. Beweis des Lemmas: Induktion über die Anzahl der Chase-Schritte: Falls keine Chase-Schritte gemacht werden ist die Behauptung klar. α,a Wir skizzieren den Fall eines Chase-Schritts J i J i+1 für den Fall, dass eine TGD angewendet wird. Gemäß Induktionsvoraussetzung gibt es einen Homomorphismus h i von J i nach I mit h i h. Sei α = x(ϕ(x) yψ(x, y)). Seien n die Null-Werte, welche in diesem Schritt neu eingeführt werden, d.h. J i+1 = ψ(a, n). Es gilt J i = ϕ(a), also I Σ = ϕ(h(a)). Wir wissen, dass I = Σ gilt, demnach gibt es b, so dass I = ψ(h(a), b). Wir setzen h i+1 gleich h i auf allen Werten aus J i und setzen außerdem h i+1 (n) := b. Man rechnet nach, dass h i+1 ein Homomorphismus von J i+1 nach I ist. Für den Fall eines Chase-Schritts mit Hilfe einer EGD, setzen wir h i+1 = h i. Prof. Dr. Georg Lausen 6. Mai 2009 Seite 56 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 58 Unentscheidbarkeit der Chase-Terminierung Eine andere Formulierung... Seien Q und Q konjunktive Anfragen und existiere Q Σ. Dann gilt: Q Σ Q genau dann wenn Q Σ Q. Q Σ Q genau dann wenn Q Σ Q Σ. Beweis der zweiten Aussage mit folgendem Lemma (Anfragen werden als Datenbank-Instanz betrachtet). Lemma Sei I = Σ und h ein Homomorphismus von J nach I. Falls I Σ endlich ist, dann kann h zu einem Homomorphismus von J Σ nach I erweitert werden. Sei Σ eine Menge von Tuple-generating und Equality-generating Dependencies. Es ist im Allgemeinen unentscheidbar ob der Chase mit Σ auf einer fixen Instanz I terminiert. = Problematisch in der Praxis Prof. Dr. Georg Lausen 6. Mai 2009 Seite 57 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 59

Hinreichende Terminierungsbedingung für den Chase Acyclicity Lösungsansatz Hinreichende, statisch überprüfbare Bedingungen über der Constraintmenge, die Chase-Terminierung auf allen Instanzen garantieren. Hinreichende Terminierungsbedingungen für den Chase Es wurden verschiedene solcher Bedingungen entwickelt, z.b. Acyclicity (wird in der Vorlesung behandelt) Weak Acyclicity (wird auf Übungsblatt 3 behandelt) Stratification... = Diese Bedingungen erlauben es, den Chase-Algorithmus in vielen praxisrelevanten Szenarien anzuwenden Definition Sei Σ eine Menge von Tuple-generating und Equality-generating Dependencies. Σ heißt azyklisch genau dann wenn der Relationsgraph rel(σ) keinen Zyklus enthält. Sei Σ eine azyklische Menge von Tupel-generating und Equality-generating Dependencies. Dann terminiert der Chase-Algorithmus mit Σ für jede Datenbankinstanz. Intuition: Wenn der Relationsgraph keine Zyklen besitzt können Constraints nie zyklisch feuern. Prof. Dr. Georg Lausen 6. Mai 2009 Seite 60 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 62 Acyclicity Acyclicity Definition Sei Σ eine Menge von Tuple-generating und Equality-generating Dependencies. Konstruiere den Relationsgraphen rel(σ) = (V, E) wie folgt. Für jede Tuple-generating Dependency ϕ tgd Σ ϕ tgd := x(r 1 (x) R m (x) ys 1 (x, y) S n (x, y)) erweitere V um die Menge aller Relationsbezeichner in ϕ tgd, d.h. setze V := V {R 1,..., R n, S 1,..., S m } und erweitere E um alle Kanten R i S j für alle 1 i m, 1 j n, d.h. setze E := E {(R i, S j ) 1 i m, 1 j n}. Anmerkung: Equality-generating Dependencies spielen bei der Konstruktion des Relationsgraphen keine Rolle. Betrachte die Constraintmenge Σ 1 := {α 1 } mit α 1 := x 1, x 2, y fly(x 1,x 2,y) hasairport(x 1 ) hasairport(x 2 ). Der Relationsgraph rel(σ 1 ) = (V 1, E 1 ) ist definiert als V 1 := { fly, hasairport }, E 1 := { (fly,hasairport) }. Offensichtlich enthält rel(σ 1 ) keinen Zyklus. Gemäß vorigem terminiert der Chase mit Σ 1 für jede Datenbankinstanz. Prof. Dr. Georg Lausen 6. Mai 2009 Seite 61 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 63

Acyclicity Anfrageminimierung mittels Chase Betrachte die Constraintmenge Σ 2 := {α 2 } mit α 2 := x 1, x 2, y rail(x 1,x 2,y) rail(x 2,x 1,y). Der Relationsgraph rel(σ 2 ) = (V 2, E 2 ) ist definiert als V 2 := { rail }, E 2 := { (rail,rail) }. rel(σ 2 ) enthält einen Zyklus = keine Terminierungsgarantien ableitbar. Man kann sich leicht klarmachen, dass der Chase mit Σ 2 dennoch immer terminiert. Dies zeigt, dass Acyclicity nur eine hinreichende Bedingung ist. Komplexere hinreichende Bedingungen notwendig um hier Chase Terminierung abzuleiten, siehe z.b. Weak Acyclicity auf Übungsblatt 3. Algorithmus zur Berechnung minimaler Σ-äquivalenter Anfragen Eingabe: Q, Σ 1 Berechne Q Σ (falls existent). 2 Betrachte alle Teilanfragen Q Q Σ bottom-up, d.h. erst Anfragen mit einem Atom, dann Anfragen mit zwei Atomen... 3 Überprüfe jeweils, ob Q Σ Q Σ. Falls ja, so ist Q ( Σ Q Σ Σ Q) eine minimale äquivalente Anfrage zu Q unter Σ. 4 Betrachte ggf. noch ausstehende Teilanfragen gleicher Größe, um weitere minimale Σ-äquivalente Anfragen zu finden. Beachte: Es können mehrere minimiale Anfragen existieren, i.a. sogar exponentiell viele. Prof. Dr. Georg Lausen 6. Mai 2009 Seite 64 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 66 Anfrageminimierung mittels Chase Sei Σ eine Menge von Tuple-generating und Equality-generating Dependencies und Q eine Konjunktive Anfrage. Wenn Q Σ existiert, dann ist jede minimale Anfrage Q Σ Q eine Teilanfrage von Q Σ. gilt für jede Teilanfrage Q Q Σ : Q Σ Q Σ Q Σ Q Σ. Beweis der zweiten Behauptung Umformen der rechten Seite gemäß dem auf Folie 43 ergibt die Äquivalenz Q Σ Q Σ Q Σ Q Σ. Diese Äquivalenz gilt per Definition von Σ genau dann wenn Q Σ Σ Q gilt. Aus der Annahme Q Q Σ folgt aber direkt Q Σ Q, was Q Σ Σ Q impliziert. Anfrageminimierung mittels Chase Betrachten Sie die Constraintmenge Σ = {α 1, α 2 } mit α 1 : x 1, x 2, d (fly(x 1,x 2,d) hasairport(x 1 ) hasairport(x 2 )) α 2 : x 1, x 2, d (fly(x 1,x 2,d) fly(x 2,x 1,d)) und die Anfrage Q : ans(x ) fly(bonn,x,y ), hasairport(x ). Nach Chase mit α 1 und α 2 erhalten wir Q Σ : ans(x ) fly(bonn,x,d), fly(x,bonn,d), hasairport(x ), hasairport(bonn) Wir betrachten nun die Teilanfragen von Q Σ bottom-up und stellen fest, dass für Q : ans(x ) fly(bonn,x,d) Q : ans(x ) fly(x,bonn,d) die Beziehungen Q Σ Q Σ und Q Σ Q Σ gelten. Folglich sind Q und Q minimale Σ-äquivalente Anfragen zu Q. Prof. Dr. Georg Lausen 6. Mai 2009 Seite 65 Prof. Dr. Georg Lausen 6. Mai 2009 Seite 67