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

Ähnliche Dokumente
Konjunktive Anfragen (I) Konjunktive Anfragen (I) Regelbasierte Konjunktive Anfragen Präzise. Regelbasierte Konjunktive Anfragen Informell

Vorlesung Logik und Datenbanken

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

Konjunktive Anfragen II

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.

Vorlesung Einführung in die Datenbanktheorie

Konjunktive Anfragen II

Kapitel 2: Grundlagen von Anfragesprachen

Das Relationale Modell

Abschnitt 3.2: Der Satz von Ehrenfeucht

Einführung in die Datenbanktheorie

Anfragesprachen mit Rekursion Datalog

Kapitel 3: Grundlagen von Anfragesprachen

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

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

Normalform. 2.1 Äquivalenz und Folgerung. 2.2 Die pränexe Normalform

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

Die Prädikatenlogik erster Stufe: Syntax und Semantik

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

Syntax der Prädikatenlogik: Variablen, Terme. Formeln. Freie und gebundene Variablen, Aussagen. Aufgabe

Humboldt-Universität zu Berlin Einführung ins Thema Organisatorisches Das Relationale Modell

Kap. 3 Relationenmodell mit relationaler Algebra

Anfragesprachen mit Rekursion Datalog

Das Relationale Modell. Das Relationale Modell. Datenmodell. Das Relationale Modell

Allgemeingültige Aussagen

Mengen. Welche dieser Mengen sind paarweise gleich, ungleich? Begründung!

Spezifikation in Datalog:

f(1, 1) = 1, f(x, y) = 0 sonst üblicherweise Konjunktion, manchmal auch

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

Grundlagen von Datenbanken SS 2010

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Chapter 4. Relationenalgebra. Lecture Datenbanken Pierre Fierz. Berner Fachhochschule Technik und Informatik.

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

Abschnitt 3: Mathematische Grundlagen

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

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.

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

Das Relationale Modell

Kapitel 3. Ein adäquater Kalkül der Prädikatenlogik. Teil 2. Deduktionstheorem und Rückführung des Vollständigkeitssatzes auf das Erfüllbarkeitslemma

Prädikatenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Normalformen und Grenzen der Prädikatenlogik 1. Stufe

Relationenkalkül CALC nat, CALC adom und CALC di. Relationenkalkül. Motivation: Bisher kennengelernte Anfragesprachen. Die Logik erster Stufe FO[R]

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

SS Juli Übungen zur Vorlesung Logik Blatt 11

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

mehrwertige Abhängigkeiten

Kapitel 3: Ehrenfeucht-Fraïssé Spiele

B Grundbegriffe zu Mengen und Abbildungen

Skriptbausteine zur Vorlesung Maßtheorie

Logik Vorlesung 10: Herbrand-Theorie

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Logik Vorlesung 10: Herbrand-Theorie

Abschnitt 3: Mathematische Grundlagen

Aggregatfunktionen in der Relationenalgebra?

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

Abschnitt 3: Mathematische Grundlagen

Query Languages (QL) Relationale Abfragesprachen/Relational

Logik für Informatiker

1.1 Grundbegriffe. Logik und Diskrete Strukturen (Sommer 2018) Prof. Dr. Ulrich Hertrampf

Indexmengen. Definition. n n n. i=1 A i := A 1... A n

THEORETISCHE INFORMATIK UND LOGIK

Terme. Dann ist auch f(t 1. Terme. Dann ist P (t 1

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

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

Logik Vorlesung 3: Äquivalenz und Normalformen

Grundlagen von Datenbanken

Einführung in die Programmierung

Der relationale Tupel-Kalkül

Aufgabe - Fortsetzung

Grundlagen der Programmierung (Vorlesung 7)

Mathematische Grundlagen I Logik und Algebra

Logische Äquivalenz. Definition Beispiel 2.23

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Satz 1.18 (Kompaktheitssatz der Aussagenlogik)

Logik für Informatiker

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kapitel 2: Mengenlehre

3.4 Die relationale Algebra

Signatur einer prädikatenlogische Sprache

Vorlesung 3: Logik und Mengenlehre

Vorlesung Diskrete Strukturen Abbildungen

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

Logik erster Stufe FO

Einführung in die Theoretische Informatik

Mächtigkeit von WHILE-Programmen

Logic in a Nutshell. Christian Liguda

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Beweisen mit Semantischen Tableaux

f ist sowohl injektiv als auch surjektiv.

Logik Vorlesung 9: Normalformen

Syntax der Aussagenlogik

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

Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik

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

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Universität Heidelberg 12. April 2018 Institut für Informatik Klaus Ambos-Spies Nadine Losert. 2. Klausur zur Vorlesung Mathematische Logik

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

Transkript:

Vorlesung Datenbanktheorie Vorlesung vom Mittwoch, 26. April 2006 Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Letzte Vorlesung: regelbasierte konjunktive Anfragen Tableau-Anfragen Anfragen des konjunktiven Kalküls Äquivalenz dieser drei Anfragesprachen Heute: Konjunktive Anfragen mit =, regelbasierte konjunktive Programme SPC-Algebra, SPJR-Algebra Äquivalenz von SPC-Algebra, SPJR-Algebra und konjunktiven Anfragen NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 67 Einige Erweiterungen der Anfragesprachen 1) Test auf Gleichheit von Variablen zulassen 2) Hintereinanderausführung Komposition) mehrerer Anfrage zulassen Zu 1): Beispiel-Anfrage 6): Welche je 2) Schauspieler haben schon in Filmen gespielt, in denen der jeweils andere Regie geführt hat? ausdrücken durch Ansy 1, y 2 ) Filmex 1, y 1, z 1 ), Filmex 2, y 2, z 2 ), y 1 =z 2, y 2 =z 1 aber auch, äquivalent, durch Ansy 1, y 2 ) Filmex 1, y 1, y 2 ), Filmex 2, y 2, y 1 ) NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 68 Regelbasierte konjunktive Anfragen mit = Prinzipiell: Im Rumpf von Regeln auch Atome der Form x=y und x=c zulassen, für beliebige Variablen x, y var und Konstante c dom. regelbasierte konjunktive Anfragen mit = Konjunktiver Kalkül mit = Aber Vorsicht: Die Regel Q := Ansx, y) Rx), y=z ausgewertet in einer Datenbank I mit IR) = {a}, liefert als Ergebnis Q I) = { a, d : d dom} = {a} dom Da dom unendlich viele Elemente hat, ist Q I) also eine unendliche Relation ; per Definition siehe Folie 21), sind als Relationen aber nur endliche Mengen erlaubt. Daher syntaktische Einschränkung aus bereichsbeschränkte Anfragen, um zu garantieren, dass das Ergebnis einer Anfrage stets eine endliche Relation ist... NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 69

Bereichsbeschränkte konjunktive Anfragen mit = Präzise: Jede Variable x, die im Rumpf der Regel vorkommt, muss auch in einem im Rumpf der Regel stehenden Atom der Form Ru) oder x=c, für ein c dom, vorkommen oder es muss eine Kette von Gleichheits-Atomen der Form x=y 1, y 1 =y 2,...,y j =z und ein Atom der Form z=c für eine Konstante c dom geben oder ein Atom der Form Ru) im Rumpf der Regel geben, so dass die Variable z im freien Tupel u vorkommt. bereichsbeschränkte regelbasierte konjunktive Anfragen mit = Analog wird die Klasse CQ = aller bereichsbeschränkten Formeln des konjunktiven Kalküls mit = definiert. Beobachtung 2.15 Jede CQ = -Formel ist entweder unerfüllbar oder äquivalent zu einer CQ-Formel. Details siehe Übung.) Beispiel für eine CQ = -Anfrage, die nicht erfüllbar ist: { x : Rx) x=a x=b} wobei a und b zwei verschiedene Elemente aus dom sind. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 70 Regelbasierte konjunktive Programme Definition 2.16 Sei R ein Datenbankschema. Ein regelbasiertes konjunktives Programm über R mit oder ohne = ) hat die Form S 1 u 1 ) Rumpf 1 S 2 u 2 ) Rumpf 2... S m u m ) Rumpf m wobei m 1, S 1,..,S m sind paarweise verschiedene Relations-Namen aus relname \ R und für jedes i {1,..,m} gilt: Q i := S i u i ) Rumpf i ist eine regelbasierte konjunktive Anfrage über R {S j : 1 j < i} ) mit oder ohne = ). Die Relations-Namen aus R, die im Programm vorkommen, heißen extensionale Prädikate edb-prädikate). Die Relations-Namen S 1,..,S m heißen intensionale Prädikate idb-prädikate). NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 72 Einige Erweiterungen der Anfragesprachen 1) Test auf Gleichheit von Variablen zulassen 2) Hintereinanderausführung Komposition) mehrerer Anfrage zulassen Zu 2): Wende Anfrage auf das Resultat einer oder mehrerer Anfragen an)... NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 71 Semantik regelbasierter konjunktiver Programme Ausgewertet über einer Datenbank I instr) beschreibt obiges Programm P der vorigen Folie die Relationen PS 1 ) I),..., PS m ) I), die induktiv für alle i {1,..,m} folgendermaßen definiert sind: PS i ) I) := Q i J i 1 ) wobei J i 1 die Erweiterung der Datenbank I um die Relationen JS j ) := PS j ) I), für alle j mit 1 j < i ist. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 73

Äquivalenz von Regeln und Programmen Beobachtung 2.17 Für jedes regelbasierte konjunktive Programm P über einem Relationsschema R mit oder ohne = ) und jedes idb-prädikat S von P gibt es eine regelbasierte konjunktive Anfrage Q mit = ) über R, so dass für alle I instr). Q I) = PS) I) Beispiel: Sei R = {Q, R}. Betrachte folgendes regelbasierte konjunktive Programm P: S 1 x, z) Qx, y), Ry, z, w) S 2 x, y, z) S 1 x, w), Rw, y, v), S 1 v, z) Die von P durch S 2 definierte Anfrage ist äquivalent zu S 2 x, y, z) x=x, w=z, Qx, y ), Ry, z, w ), Rw, y, v), v=x, z=z, Qx, y ), Ry, z, w ) NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 74 Algebraische Anfragen Informell Beispiel-Anfrage: 4) Welche Kinos Name & Adresse) spielen einen Film mit George Clooney? 2.1 2.2 2.3 Auswertungskomplexität NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 75 SPC-Algebra bzw. SPJR-Algebra Zur Erinnerung: I q R = qi) Als Anfrage in der SPJR-Algebra: π Kino,Adresse σ Schauspieler = `Filme Programm Orte George Clooney Als Anfrage in der SPC-Algebra: π 7,8 σ 4=7`σ1=5`σ3 = George Clooney `Filme Programm Orte Mathematik: Algebraische Struktur = Grundmenge + Operationen Hier: Operationen auf endlichen) Relationen Speziell: Projektion, Selektion, Cartesisches Produkt bzw. Join und Umbenennung NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 76 NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 77

Unbenannte Perspektive: Die SPC-Algebra 1/4) Operationen: Selektion σ, Projektion π, Cartesisches Produkt Unbenannte Perspektive: Die SPC-Algebra 2/4) Operationen: Selektion σ, Projektion π, Cartesisches Produkt Selektion: Zwei Varianten: Operator σ j=a, für eine Konstante a dom und eine natürliche Zahl j 1. Dieser Operator kann angewendet werden auf Relationen I der Stelligkeit j und liefert als Ausgabe die folgende Teilmenge der Relation I: σ j=a I) := {t I : in der j-ten Komponente von t steht ein a} Operator σ j=k, für zwei natürliche Zahlen j, k 1. Dieser Operator kann angewendet werden auf Relationen I der Stelligkeit maxj, k) und liefert als Ausgabe die folgende Teilmenge der Relation I: { } in der j-ten Komponente von t steht derselbe Eintrag σ j=k I) := t I : wie in der k-ten Komponente von t Projektion: Operator π j1,..,j k, für nicht notwendigerweise paarweise verschiedene) natürliche Zahlen j 1,..,j k 1 und k 0). Dieser Operator kann angewendet werden auf Relationen I der Stelligkeit max{j 1,..,j k } und liefert als Ausgabe die folgende Relation der Stelligkeit k: π j1,..,j k I) := { tj 1 ),...,tj k ) : t I } Projektion ist eine vertikale Operation: sie wählt einzelne Tabellen-Spalten aus und arrangiert sie in möglicherweise anderer Reihenfolge Selektion ist eine horizontale Operation: sie wählt einzelne Tabellen-Zeilen aus. j=a und j=k werden Selektionsbedingungen genannt. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 78 Unbenannte Perspektive: Die SPC-Algebra 3/4) Operationen: Selektion σ, Projektion π, Cartesisches Produkt Cartesisches Produkt: Operator Dieser Operator kann angewendet werden auf Relationen I und J beliebiger Stelligkeiten m und n und liefert als Ausgabe die folgende Relation der Stelligkeit m+n: { } I J := t1),..,tm), s1),..,sn) : t I und s J Wir benutzen den Operator manchmal auch für einzelne Tupel: Sind t und s Tupel der Stelligkeiten m und n, so schreiben wir t s, um das Tupel t1),..,tm), s1),..,sn) zu bezeichnen. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 80 NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 79 Unbenannte Perspektive: Die SPC-Algebra 4/4) Definition 2.18 Sei R ein Datenbankschema. Die Klasse der Anfragen der SPC-Algebra über R kurz: SPC[R]) ist induktiv wie folgt definiert: Für alle Relations-Namen R R ist R eine SPC[R]-Anfrage der Stelligkeit arityr). Für alle Konstanten c dom ist { c } eine SPC[R]-Anfrage der Stelligkeit 1. Ist Q eine SPC[R]-Anfrage der Stelligkeit m, sind j, k natürliche Zahlen aus {1,.., m} und ist a dom eine Konstante, so sind auch σ j=a Q) und σ j=k Q) SPC[R]-Anfragen der Stelligkeit m. Ist Q eine SPC[R]-Anfrage der Stelligkeit m, ist k 0 und sind j 1,.., j k natürliche Zahlen aus {1,.., m}, so ist π j1,..,j k Q) eine SPC[R]-Anfrage der Stelligkeit k. Sind Q und P zwei SPC[R]-Anfragen der Stelligkeiten m und n, so ist Q P eine SPC[R]-Anfrage der Stelligkeit m+n. Die Semantik Q von SPC[R]-Anfragen Q ist induktiv auf die offensichtliche Art definiert. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 81

Verallgemeinerung des Selektions-Operators Eine Normalform für SPC-Anfragen Sei R ein Relationsschema. Eine positive konjunktive Selektionsbedingung ist eine Formel F der Form γ 1 γ n wobei n 1 und jedes γ i eine Selektionsbedingung der Form j i =a i oder j i =k i für natürliche Zahlen j i, k i 1 und Konstanten a i dom. Der Selektionsoperator σ F hat dieselbe Wirkung wie die Hintereinanderausführung der Selektionsoperatoren σ γi für alle i {1,..,n}. Definition 2.19 Eine SPC[R]-Anfrage ist in Normalform, falls sie von der Form π j1,..,j k { c 1 } { c m } σ F R1 R l ) ) ist, für k, m,l 0, paarweise verschiedene Elemente j 1,..,j k, so dass {1,..,m} {j 1,..,j k }, Konstanten c 1,..,c m dom, R 1,..,R l R und F eine positive konjunktive Selektionsbedingung. Proposition 2.20 Für jede SPC[R]-Anfrage Q gibt es eine SPC[R]-Anfrage Q in Normalform, die dieselbe Anfragefunktion definiert. Beweis: Übung. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 82 Benannte Perspektive: Die SPJR-Algebra 1/7) Operationen: Selektion σ, Projektion π, Join, Umbenennung Renaming) δ NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 83 Benannte Perspektive: Die SPJR-Algebra 2/7) Operationen: Selektion σ, Projektion π, Join, Umbenennung Renaming) δ Attribut-Namen an Stelle von Spaltennummern! Selektion: Zwei Varianten: Operator σ A=a, für eine Konstante a dom und einen Attribut-Namen A. Dieser Operator kann angewendet werden auf R-Relationen I mit A sortr) und liefert als Ausgabe die folgende Teilmenge der Relation I: σ A=a I) := { t I : ta) = a } Operator σ A=B, für zwei Attribut-Namen A und B. Dieser Operator kann angewendet werden auf R-Relationen I mit A, B sortr) und liefert als Ausgabe die folgende Teilmenge der Relation I: σ A=B I) := { t I : ta) = tb) } Projektion: Operator π A1,..,A k, für paarweise verschiedene Attribut-Namen A 1,..,A k und k 0). Dieser Operator kann angewendet werden auf R-Relationen I mit sortr) {A 1,..,A k } und liefert als Ausgabe die folgende Relation der Sorte {A 1,..,A k }: π A1,..,A k I) := { A 1 : ta 1 ),..., A k : ta k ) : t I } A=a und A=B werden Selektionsbedingungen genannt. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 84 NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 85

Benannte Perspektive: Die SPJR-Algebra 3/7) Operationen: Selektion σ, Projektion π, Join, Umbenennung Renaming) δ An Stelle des Cartesischen Produkts: Natürlicher Join Beispiel: Wenn I und J zwei Relationen mit disjunkten Attributmengen d.h. Spaltenbezeichnungen) sind, so bilde einfach das herkömmliche Cartesische Produkt. I J = I J A B 1 a 2 b 3 c C D E e f g h i j A B C D E 1 a e f g 1 a h i j 2 b e f g 2 b h i j 3 c e f g 3 c h i j Frage: Was soll passieren, wenn I und J gemeinsame Attribute haben? Antwort: Zueinander passende Tupel werden verschmolzen. Beispiel: I J = I J A B 1 a 2 b 3 c B C D a f g a i j c l m A B C D 1 a f g 1 a i j 3 c l m NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 86 Benannte Perspektive: Die SPJR-Algebra 5/7) Operationen: Selektion σ, Projektion π, Join, Umbenennung Renaming) δ Umbenennung Renaming): Operator δ f, für eine Umbenennungsfunktion f, d.h. eine bijektive Funktion f : U att, für eine beliebige endliche Menge U von Attribut-Namen. Dieser Operator kann angewendet werden auf R-Relationen I, für die gilt: U sortr) und sortr) \ U ) fu) = und liefert die folgende Relation der Sorte fu) sortr) \ U ) : δ f I) := { Tupel t : ex t I so dass f.a. A U gilt t A) = tfa)) und f.a. A sortr) \ U gilt t A) = ta) Oft schreiben wir A 1 A k B 1 B k um die Umbenennungsfunktion f mit Definitionsbereich U = {A 1,.., A k } und Werten fa i ) = B i, für alle i {1,.., k}, zu bezeichnen. } Benannte Perspektive: Die SPJR-Algebra 4/7) Operationen: Selektion σ, Projektion π, Join, Umbenennung Renaming) δ Natürlicher Join: Operator Dieser Operator kann angewendet werden eine R-Relation I und eine S-Relation J beliebiger Sorten und liefert als Ausgabe die folgende Relation der Sorte Σ := sortr) sorts): { I J := Tupel t der Sorte Σ : es gibt Tupel t I und t J} so dass t sortr) = t und t sorts) = t Wir benutzen den Operator manchmal auch für einzelne Tupel: Sind t und t Tupel der Sorten sortr) und sorts), so schreiben wir t t, um das Tupel t der Sorte sortr) sorts) mit t sortr) = t und t sorts) = t zu bezeichnen bzw. den Wert undefiniert, falls es kein solches Tupel gibt, d.h. falls t sortr) sorts) t sortr) sorts) ). NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 87 Benannte Perspektive: Die SPJR-Algebra 6/7) Definition 2.21 Sei R ein Datenbankschema. Die Klasse der Anfragen der SPJR-Algebra über R kurz: SPJR[R]) ist induktiv wie folgt definiert: Für alle Relations-Namen R R ist R eine SPJR[R]-Anfrage der Sorte sortr). Für alle Konstanten c dom und alle Attribut-Namen A att ist { A : c } eine SPJR[R]-Anfrage der Sorte {C}. Ist Q eine SPJR[R]-Anfrage der Sorte Σ, sind A, B Σ und ist a dom eine Konstante, so sind auch σ A=a Q) und σ A=B Q) SPJR[R]-Anfragen der Sorte Σ. Ist Q eine SPJR[R]-Anfrage der Sorte Σ, ist k 0 und sind A 1,.., A k paarweise verschiedene Elemente aus Σ, so ist π A1,..,A k Q) eine SPJR[R]-Anfrage der Sorte {A 1,.., A k }. Sind Q und P zwei SPJR[R]-Anfragen der Sorten Σ und Π, so ist Q P eine SPJR[R]-Anfrage der Sorte Σ Π. Ist Q eine SPJR[R]-Anfrage der Sorte Σ und ist f : Σ att eine Umbenennungsfunktion, so ist δ f Q) eine SPJR[R]-Anfrage der Sorte fσ). NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 88 NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 89

Benannte Perspektive: Die SPJR-Algebra 7/7) Die Semantik Q von SPJR[R]-Anfragen Q ist induktiv auf die offensichtliche Art definiert. Wie bei der SPC-Algebra lassen wir wieder eine Verallgemeinerung des Selektions-Operators zu: Eine positive konjunktive Selektionsbedingung ist eine Formel F der Form γ 1 γ n wobei n 1 und jedes γ i eine Selektionsbedingung der Form A i =a i oder A i =B i für Attribut-Namen A i, B i und Konstanten a i dom. Der Selektionsoperator σ F hat dieselbe Wirkung wie die Hintereinanderausführung der Selektionsoperatoren σ γi für alle i {1,..,n}. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 90 Nicht-Erfüllbare Anfragen Bemerkung: Sowohl in der SPC-Algebra als auch in der SPJR-Algebra lassen sich unerfüllbare Anfragen ausdrücken. Beispiel: Die Anfrage Q := σ 3= George Clooney σ 3= Wolfgang Völz Filme ) ) wählt in einer Datenbank vom Schema KINO genau diejenigen Tupel t = a, b, c) aus der Filme-Relation aus, für deren dritte Komponente c gilt: c = George Clooney und c = Wolfgang Völz. Solche Tupel kann es aber nicht geben! Für jede Datenbank I vom Schema KINO gilt also: Q I) =. Somit ist die Anfrage Q nicht erfüllbar. Eine Normalform für SPJR-Anfragen Sei R ein Relationsschema. Definition 2.22 Eine SPJR[R]-Anfrage ist in Normalform, falls sie von der Form π B1,..,B k { A 1 : c 1 } { A m : c m } σ F δf1 R 1 ) δ fl R l ) )) ist, für k, m,l 0, B 1,..,B k, A 1,..,A m att so dass {A 1,..,A m } {B 1,..,B k } und die A 1,..,A m paarweise verschieden, c 1,..,c m dom, R 1,..,R l R, eine positive konjunktive Selektionsbedingung F und Umbenennungsfunktionen f 1,..,f l, so dass die Sorten von δ f1 R 1 ),..., δ fl R l ) paarweise disjunkt sind und keins der A 1,..,A m als Attribut von einem der δ fj R j ) vorkommt. Proposition 2.23 Für jede SPJR[R]-Anfrage Q gibt es eine SPJR[R]-Anfrage Q in Normalform, die dieselbe Anfragefunktion definiert. Beweis: Übung. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 91 Äquivalenz der Ausdrucksstärke der SPC-Algebra und der SPJR-Algebra Lemma 2.24 Die SPC-Algebra und die SPJR-Algebra können genau dieselben Anfragen ausdrücken. Es gilt sogar: Jede Anfrage aus einer dieser Anfragesprachen kann in polynomieller Zeit in eine äquivalente Anfrage der anderen Anfragesprache übersetzt werden. Beweis: siehe Tafel. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 92 NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 93

Äquivalenz des deskriptiven und des algebraischen Ansatzes Theorem 2.25 Äquivalenz konjunktiver Anfragesprachen) Die folgenden Anfragesprachen können genau dieselben erfüllbaren Anfragefunktionen ausdrücken: a) die Klasse der regelbasierten konjunktiven Anfragen b) die Klasse der Tableau-Anfragen c) die Klasse der Anfragen des konjunktiven Kalküls d) die Anfragen der SPC-Algebra e) die Anfragen der SPJR-Algebra. Es gilt sogar: Jede Anfrage aus einer dieser Anfragesprachen kann in polynomieller Zeit in äquivalente Anfragen der anderen Anfragesprachen übersetzt werden. Beweis: siehe Tafel. NICOLE SCHWEIKARDT HU BERLIN VORLESUNG DATENBANKTHEORIE SOSE 2006 MI 26.04.06 94