Kapitel 2: Grundlagen von Anfragesprachen

Ähnliche Dokumente
1. Einführung Seite 1. Kapitel 1: Einführung

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken?

Datenbanken. Gliederung. weitere Informationen. empfohlene begleitende Literatur. nehmen Sie aktiv an den Übungsgruppen teil!

D A T E N B A N K E N grundlegende Begriffe

2. Übungsblatt: Algebra

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Grundlagen von Datenbanken

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Relationenkalkül. Prof. Dr. T. Kudraß 1

Grundlagen von Datenbanken

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

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

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

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

Rückblick: Relationales Modell

Vorlesung Logik und Datenbanken

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

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

Query Languages (QL) Relationale Abfragesprachen/Relational

Grundlagen der Logik

Das Relationale Modell

Grundlagen von Datenbanken SS 2010

Motivation Anford. Anfrage- Kalküle Bereichskalkül. Sichere Anfragen Beispiele. Ausdrucksfähigkeit. Tupelkalkül. Motivation Anford.

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

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

Datenbanksysteme 2009

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

Kapitel DB:V (Fortsetzung)

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

Kapitel 3: Relationale Algebra

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

Kapitel DB:V (Fortsetzung)

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

7. Prädikatenlogik. Aussagenlogik hat wünschenswerte Eigenschaften wie Korrektheit, Vollständigkeit, Entscheidbarkeit.

9. Weitere Datenbanksprachen

Logic in a Nutshell. Christian Liguda

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 14.

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

Einführung in die mathematische Logik

Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik

Kapitel 1. Aussagenlogik

Unvollständigkeit der Arithmetik

FGIS SS Datenbanktheorie 1.2. Enthaltensein-Problem

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

Aggregatfunktionen in der Relationenalgebra?

Technische Universität München. Ferienkurs Lineare Algebra 1. Mengenlehre, Aussagen, Relationen und Funktionen. 21. März 2011.

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Normalformen der Prädikatenlogik

Datenbanksysteme SS 2007

Kap. 3 Relationenmodell mit relationaler Algebra

Namen von Objekten des Diskursbereichs (z. B. Substantive des natürlichsprachlichen Satzes)

Zusammenfassung des Stoffes zur Vorlesung Formale Systeme

Vorlesung 3: Logik und Mengenlehre

Datenbanksysteme SS 2007

Einführung in Datenbanken

Metrische äußere Maße, Borel-Maße

Vorlesung Datenbanksysteme vom

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Nichtklassische Logiken

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

Grundlagen: Datenbanken

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

Kapitel 1.2. Aussagenlogik: Semantik. Mathematische Logik (WS 2011/12) Kapitel 1.2: Aussagenlogik: Semantik 1 / 57

Prädikatenlogik. Einführende Beispiele Geschwister x y ( u v (Eltern(u, v, x) Eltern(u, v, y) Geschwister(x, y)))

Beachte: Mit n = 0 sind auch Konstanten Terme.

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax

9 Auswertung von Anfrageoperatoren 9.1 Selektion

1 Prädikatenlogik. 1.1 Signaturen und Strukturen

Prädikatenlogik. Quantoren. Quantoren. Quantoren. Quantoren erlauben Aussagen über Mengen von Objekten des Diskursbereichs, für die ein Prädikat gilt

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

Grundbegriffe aus Logik und Mengenlehre. Prädikatenlogik

6. Formaler Datenbankentwurf 6.1. Definitionen

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Relationaler Tupelkalkül Datenbanken I (Systemorientierte Informatik IV) Sommersemester Syntax des relationalen Tupelkalküls

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

Logik für Informatiker

Kapitel 1.1. Aussagenlogik: Syntax. Mathematische Logik (WS 2011/12) Kapitel 1.1: Aussagenlogik: Syntax 1/ 1

Deklarative Semantik

Mathematik für Informatiker I Mitschrift zur Vorlesung vom

Aufgaben zu Kapitel 0

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

Spezifikation in Datalog:

Teil VIII Grundlagen von Anfragen: Algebra & Kalkül

Prädikate sind Funktionen. Prädikatenlogik. Quantoren. n stellige Prädikate. n stellige Prädikate:

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

2.5 Relationale Algebra

Logische und funktionale Programmierung

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Einführung in die Theoretische Informatik

Was bisher geschah: klassische Aussagenlogik

Ersetzbarkeitstheorem

Was bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 =

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

SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010

Grundlagen des relationalen Modells

Kapitel 5: Der SQL-Standard

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

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Transkript:

2. Grundlagen von Anfragesprachen Seite 1 Kapitel 2: Grundlagen von Anfragesprachen Sprachparadigmen Relationenalgebra Relationenkalkül später SQL

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 2 2.1 Relationenalgebra Basisoperatoren Attribute aus Relationen herausstreichen: Projektion. Tupel aus Relationen auswählen: Selektion. Relationen miteinander verknüpfen: Verbund. Relationen wie Mengen verarbeiten: Vereinigung, Differenz.

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 3 Projektion Student MatrNr Name Adresse Semester 1223 Hans Eifrig Seeweg 20 2 3434 Lisa Lustig Bergstraße 11 4 1234 Maria Gut Am Bächle 1 2 w MatrNr Student Name 1223 Hans Eifrig 3434 Lisa Lustig 1234 Maria Gut

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 4 Projektion eines Tupels Sei R(X ) ein Relationsschema, wobei X = {A 1,..., A k }. Sei Y eine Attributmenge, wobei Y X. Sei µ Tup(X ) ein Tupel über X. Der Ausdruck µ[y ] heißt Projektion des Tupels µ auf Y. Es gilt: µ[y ] Tup(Y ), wobei µ[y ](A) = µ(a), A Y.

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 5 Projektion einer Relation Sei r Tup(X ) eine Relation und Y X. Der Ausdruck π[y ]r heißt Projektion der Relation r auf Y. Es gilt: π[y ]r = {µ Tup(Y ) µ r, so dass µ = µ [Y ]}. Beispiel r = A B C a b c a a c c b d π[a, C](r) =

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 6 Selektion Kurs KursNr Institut Name Beschreibung K010 DBIS Datenbanken Grundlagen von Datenbanken K011 DBIS Informationssysteme Grundlagen von Informationssystemen K100 MST Mikrosystemtechnik Grundlagen der Mikrosystemtechnik w Kurs KursNr Institut Name Beschreibung K100 MST Mikrosystemtechnik Grundlagen der Mikrosystemtechnik

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 7 Selektionsbedingung Seien A, B X, a dom(a). Eine (atomare) Selektionsbedingung α (bezüglich X ) ist ein Ausdruck der Form A θ B, bzw. A θ a, bzw. a θ A. Ein Tupel µ Tup(X ) erfüllt eine Selektionsbedingung α, wenn gerade µ(a) θ µ(b), bzw. µ(a) θ a, bzw. a θ µ(a). Atomare Selektionsbedingungen können mittels,,, (, ) zu Formeln verallgemeinert werden. Beispiel X = {A, B, C}. µ 1 = (A 2, B 2, C 1), µ 2 = (A 2, B 3, C 2) α 1 = (A = B), α 2 = ((B > 1) (C > 1)) Welche Tupel erfüllen welche Selektionsbedingungen?

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 8 Selektion Sei r Tup(X ) eine Relation und α eine Selektionsbedingung zu X. Der Ausdruck σ[α]r heißt Selektion der Relation r bezüglich α. Es gilt: σ[α]r = {µ Tup(X ) µ r µ erfüllt α}. Beispiel r = A B C a b c d a f c b d σ[b = b](r) =

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 9 Vereinigung und Differenz Seien X, Y Attributmengen, wobei X = Y und seien weiter r Tup(X ), s Tup(Y ) zwei entsprechende Relationen. r s = {µ Tup(X ) µ r µ s}. r s = {µ Tup(X ) µ r, wobei µ s}. Beispiel r = A B C a b c d a f c b d s = A B C b g a d a f r s = r = A B C a b c d a f c b d s = A B C b g a d a f r s =

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 10 Verbund MatrNr Student Name 1223 Hans Eifrig 3434 Lisa Lustig 1234 Maria Gut MatrNr Belegung KursNr 1223 K010 1234 K010 KursNr K010 K011 K100 Kurs Name Datenbanken Informationssysteme Mikrosystemtechnik {z } w Student MatrNr Name KursNr Name 1223 Hans Eifrig K010 Datenbanken 1234 Maria Gut K010 Datenbanken

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 11 Verbund Seien X, Y Attributmengen; XY sei im Folgenden eine Kurzschreibweise für X Y. Seien weiter r Tup(X ), s Tup(Y ) zugehörige Relationen. Der (natürliche) Verbund von r und s ist dann definiert: r s = {µ Tup(XY ) µ[x ] r µ[y ] s}. Beispiel r = A B C 1 2 3 4 5 6 7 8 6 s = C D 3 1 6 2 4 5 r s =

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 12 Verbund fortgesetzt Seien X i, 1 i n Formate. Sei X 1 X 2 = r 1 r 2 = r 1 r 2. n i=1 r i = {µ Tup( n i=1 X i) µ[x i ] r i, 1 i n}.

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 13 Umbenennung Seien X = {A 1,..., A k }, Y = {B 1,..., B k } Formate. Sei δ eine umkehrbar eindeutige Abbildung von X nach Y, wobei dom(a) = dom(δ(a)). Gilt δ(a) = B, so schreiben wir A B. Sei r Tup(X ) eine Relation zu X. Die Umbenennung δ[x, Y ] bezüglich r ist wie folgt: δ[x, Y ]r = {µ Tup(Y ) µ r, so dass µ (A i ) = µ(δ(a i )), 1 i k} Beispiel X = {A, B, C}, Y = {D, E, C} und δ = {A D, B E, C C}. r = A B C a b c d a f c b d δ[x, Y ]r =

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 14 Basisoperatoren Selektion, Projektion, Vereinigung, Differenz, Verbund und Umbenennung sind die Basisoperatoren der Relationenalgebra. Die Anwendung dieser Operatoren auf Relationen liefert als Ergebnis wiederum eine Relation. Die zulässigen Ausdrücke der Relationenalgebra können ausgehend von den Basisoperatoren induktiv definiert werden. Wir können andere nützliche Operatoren definiern.

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 15 weitere Operatoren Seien X i, 1 i n, Formate und seien r i Tup(X i ), 1 i n, Relationen. Durchschnitt. Sei X 1 = X 2. r 1 r 2 = θ-verbund. Sei X 1 X 2 = und sei α eine beliebige Selektionsbedingung über X 1 X 2. r α s = σ[α](r s). Enthält α ausschließlich Gleichheitsvergleiche, dann redet man von einem Equi-Verbund.

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 16 Division Seien X 1, X 2 Formate, X 2 X 1, Z = X 1 X 2 und weiter r 2. r 1 r 2 = {µ Tup(Z) {µ} r 2 r 1 } = π[z]r 1 π[z]( r 1 ). Beispiel r 1 = A B C D a b c d a b e f b c e f e d c d e d e f a b d d r 2 = C c e D d f r 1 r 2 =

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 17 Beispiel Kurs(KursNr, Institut, Name, Beschreibung) Belegung(MatrNr, KursNr, Semester, Note) π[matrnr](belegung π[kursnr]kurs) Algebra als Anfragesprache Ausdrücke über Relationsbezeichnern eines Datenbankschemas. Es können nicht alle berechenbaren Transformationen über den Instanzen zweier Datenbankschemata mittels der Algebra ausgedrückt werden. Das bekannteste Beispiel für diese eingeschränkte Mächtigkeit ist das Problem, zu einer beliebigen binären Relation die transitive Hülle zu berechnen.

2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra Seite 18 Äquivalenz Zwei Ausdrücke der Algebra Q, Q heißen äquivalent, Q Q, genau dann, wenn für jede Instanz I der Datenbank gilt: I(Q) = I(Q ). Beispiele Sei attr(α) die in einer Selektionsbedingung α verwendete Menge von Attributen und seien R, S, T... Relationsbezeichner mit Formaten X, Y, Z. Z Y X = π[z](π[y ]R) attr(α) Y X = π[y ](σ[α]r) R R X = Y = R S attr(α) X, attr(α) Y = = σ[α](r S)

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 19 2.2 Relationenkalkül Syntax Die Formeln des Relationenkalküls (R-Formeln) werden aus Konstanten, Variablen, Relationsbezeichnern, Junktoren,,, Quantoren, und Hilfszeichen (, ),, gebildet. Sei R ein Relationsbezeichner der Stelligkeit k. Seien weiter a 1,..., a k Konstanten oder Variablen. R(a 1,..., a k ) ist eine (atomare) R-Formel. Eine Selektionsbedingung α ist von der Form X θy, oder X θa, oder aθx, wobei X, Y Variablen, a eine Konstante und θ {=,,, <,, >} ein Vergleichsoperator. α ist eine (atomare) R-Formel. Sei F eine R-Formel. F ist eine R-Formel.

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 20 Sei X eine Variable und F eine R-Formel, die die Variable X enthält, jedoch keinen Ausdruck der Form X, bzw. X. X heißt in diesem Fall frei in der R-Formel F und anderenfalls gebunden in F. X F ist eine ( -quantifizierte) R-Formel. X F ist eine ( -quantifizierte) R-Formel. F ist der Wirkungsbereich des -, bzw. -Quantors. Seien F und G R-Formeln und sei V F, bzw. V G die Menge der in F, bzw. G vorhandenen Variablen, wobei die Variablen in V F V G sowohl in F als auch in G frei. Die Konjunktion (F G) ist eine R-Formel. Die Disjunktion (F G) ist eine R-Formel.

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 21 Für Konjunktion und Disjunktion gilt das Assoziativgesetz; überflüssige Klammerungen lassen wir im Folgenden weg. Eine Anfrage Q über einem Datenbank-Schema R im Relationenkalkül, kurz Kalkülanfrage, hat die Form {(a 1,..., a n ) F }, wobei F eine R-Formel zu R und a 1,..., a n Variablen und Konstanten. Die Menge der Variablen unter den a i muss hierbei gerade die Menge der freien Variablen in F sein. Soll ein Format {A 1,..., A n } für die Menge der Antworten definiert werden, so schreiben wir {(a 1 : A 1,..., a n : A n ) F }.

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 22 Semantik: atomare Kalkülanfragen Sei F eine R-Formel mit Variablenmenge V F. Eine Variablenbelegung ν zu F ist eine Funktion über V F : ν : V F dom. Wir erweitern ν zusätzlich um die Identität für Konstanten, d.h. für eine beliebige Konstante a gilt ν(a) = a. Betrachte atomare Kalkülanfragen über einem Relationsschema R(A 1,..., A n ) der Form Q = {(a 1..., a n ) R(a 1,..., a n )}. Sei r eine Instanz zu R und sei F = R(a 1,..., a n ). Die Antwort zu Q bezüglich r, Q(r), ist definiert zu: Q(r) = {(ν(a 1 ),..., ν(a n )) ν eine Variablenbelegung zu V F so, dass (ν(a 1 ),..., ν(a n )) r}

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 23 Beispiele Seien Relationsschemata R(A, B) und S(B, C) gegeben. Seien r, s hierzu betrachtete Instanzen. π[a]σ[b = 5]R π[a]r σ[a = B]R R S R δ[b A, C B]S R δ[b A, C B]S Sei T (B) ein Relationsschema und gelte t = π[b]s. R T

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 24 Semantik Sei Q = {(a 1,..., a n ) F } eine beliebige Kalkülanfrage, wobei a 1,..., a n Variablen und Konstanten. Die Antwort zu Q bezüglich einer gegebenen Instanz I ist Q(I) wie folgt: Q(I) = {(ν(a 1 ),..., ν(a n )) ν eine Variablenbelegung zu V F so, dass F unter ν wahr bezüglich I}. Beispiel Seien R(A, B), S(C, D) Relationsschemata mit Instanzen r, s. Sei Q = {(X : A, Y : B, V : C, W : D) R(X, Y ) S(V, W ) Y > V } eine Anfrage. r = A B 1 2 2 2 2 1 s = C D 1 1 1 2 3 1 Q =

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 25 Wertebereichsunabhängigkeit Sei Q := {(a 1,..., a n ) F }. Sei I eine Instanz zu R und adom diejenige Menge, die gerade alle Konstanten in Q und alle Konstanten aus I enthält. adom ist der aktive Wertebereich von Q; adom ist endlich. Q, bzw. F, heißen wertebereichsunabhängig, wenn für jede beliebige Menge D adom gilt: Q(I, adom) = Q(I, D).

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 26 Beispiel: nicht wertebereichsunabhängige Anfragen Sei R(A) ein Relationsschema und Q eine Anfrage der Form wobei I(R) = {1}. {X R(X )}, Seien R(A, B) und S(B, C) Relationsschemata. Sei Q eine Anfrage der Form {(X, Z) Y (R(X, Y ) S(Y, Z))}, wobei I(R) = {(1, 1)}, bzw. I(S) =.

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 27 Sicherheit Ist eine R-Formel F sicher, dann ist sie auch wertebereichsunabhängig. F enthält keine -Quantoren. Wenn F 1 F 2 Teilformel von F, dann müssen F 1 und F 2 dieselben freien Variablen besitzen. Eine Teilformel G einer Formel F heißt maximal konjunktiv, wenn F keine konjunktive Teilformel der Form H G oder G H enthält. Sei F 1 F m, m 1, eine maximal konjunktive Teilformel von F. Alle freien Variablen X müssen begrenzt sein im folgenden Sinn (1 j m): Falls X in einer Formel Fj frei ist, wobei F j weder ein Vergleichsausdruck noch negiert ist, dann ist X begrenzt. Falls Fj die Form X = a oder a = X hat und a ist eine Konstante, dann ist X begrenzt. Falls Fj die Form X = Y oder Y = X hat und Y ist begrenzt, dann ist auch X begrenzt.

2. Grundlagen von Anfragesprachen 2.2. Relationenkalül Seite 28 Beispiele {(X, Y ) X = Y R(X, Y )} ist nicht sicher {(X, Y ) X = Y R(X, Y )} ist sicher {(X, Y, Z) R(X, Y, Z) (S(X, Y ) T (Y, Z))} ist nicht sicher, jedoch in der äquivalenten Schreibweise R(X, Y, Z) Die Formel (Division!) {X Y (S(Y ) R(X, Y ))} ist äquivalent zu {X Y ( )} Beide Formulierungen sind nicht sicher, jedoch die äquivalente Formulierung ist sicher. {X }