7. Grundlagen von Anfragen. Einführung. Kriterien für Anfragesprachen. Einführung II

Größe: px
Ab Seite anzeigen:

Download "7. Grundlagen von Anfragen. Einführung. Kriterien für Anfragesprachen. Einführung II"

Transkript

1 7. Grundlagen von Anfragen Einführung Kriterien für Anfragesprachen Anfragealgebren Anfrage-Kalküle Änderungsoperationen bisher Relationenschemata mit Basisrelationen, die in der Datenbank gespeichert sind jetzt abgeleitete Relationenschemata mit virtuellen Relationen, die aus den Basisrelationen berechnet werden (Basisrelationen bleiben unverändert) VL Datenbanken I 7 1 VL Datenbanken I 7 2 Einführung II Kriterien für Anfragesprachen Anfrage: Folge von Operationen, die aus den Basisrelationen eine Ergebnisrelation berechnet Ergebnisrelation interaktiv auf dem Bildschirm anzeigen, per Programm weiterverarbeiten ( Einbettung ) Sicht: Folge von Operationen, die unter einem Sichtnamen langfristig abgespeichert wird und unter diesem Namen wieder aufgerufen werden kann; ergibt eine Sichtrelation Snapshot: Ergebnisrelation einer Anfrage, die unter einem Snapshot-Namen abgelegt wird, aber nie ein zweites Mal (mit geänderten Basisrelationen) berechnet wird (etwa Jahresbilanzen) Ad-Hoc-Formulierung: Der Benutzer soll eine Anfrage formulieren können, ohne ein vollständiges Programm schreiben zu müssen. Deskriptivität: Der Benutzer soll formulieren Was will ich haben? und nicht Wie komme ich an das, was ich haben will?. Mengenorientiertheit: Jede Operation soll auf Mengen von Daten gleichzeitig arbeiten, nicht navigierend nur auf einzelnen Elementen (one-tuple-at-a-time). Abgeschlossenheit: Das Ergebnis ist wieder eine Relation und kann wieder als Eingabe für die nächste Anfrage verwendet werden. VL Datenbanken I 7 3 VL Datenbanken I 7 4

2 Kriterien für Anfragesprachen II Kriterien für Anfragesprachen III Adäquatheit: Alle Konstrukte des zugrundeliegenden Datenmodells werden unterstützt. Orthogonalität: Sprachkonstrukte sind in ähnlichen Situationen auch ähnlich anwendbar. Optimierbarkeit: Die Sprache besteht aus wenigen Operationen, für die es Optimierungsregeln gibt. Effizienz: Jede Operation ist effizient ausführbar (im Relationenmodell hat jede Operation eine Komplexität O(n 2 ), n Anzahl der Tupel einer Relation). Sicherheit: Keine Anfrage, die syntaktisch korrekt ist, darf in eine Endlosschleife geraten oder ein unendliches Ergebnis liefern. Eingeschränktheit: (folgt aus Sicherheit, Optimierbarkeit, Effizienz) Die Anfragesprache darf keine komplette Programmiersprache sein. Vollständigkeit: Die Sprache muß mindestens die Anfragen einer Standardsprache (wie etwa die in diesem Kapitel einzuführende Relationenalgebra oder den sicheren Relationenkalkül) ausdrücken können. VL Datenbanken I 7 5 VL Datenbanken I 7 6 Anfragealgebren Relationenalgebra Mathematik: Algebra definiert durch Wertebereich und auf diesem definierte Operatoren für Datenbankanfragen: Inhalte der Datenbank sind Werte, und Operatoren definieren Funktionen zum Berechnen von Anfrageergebnissen Relationenalgebra NF 2 -Algebra Andere Algebra-Erweiterungen Spalten ausblenden: Projektion, Zeichen π; in [... ]: welche Spalten behalten; in (... ): auf welche Relation anwenden Zeilen heraussuchen: Selektion, Zeichen σ; in [... ]: unter welchen Bedingungen; in (... ): auf welche Relation anwenden Tabellen verknüpfen: Verbund (Join), Zeichen ; Tupel über gleichbenannten Spalten und Werten aneinanderhängen Tabellen vereinigen: Vereinigung, Zeichen ; Tupel aus beiden Relationen sammeln, doppelte herauswerfen VL Datenbanken I 7 7 VL Datenbanken I 7 8

3 Relationenalgebra II Laufendes Beispiel Tabellen voneinander abziehen: Differenz, Zeichen ; Tupel aus der ersten Relation herausnehmen, falls sie auch in der zweiten Relation vorkommen Spalten umbenennen: Umbenennung, Zeichen β; einen Attributnamen in einen anderen umbenennen (wichtig für und, ) Ausleih Invnr Name 4711 Meyer 1201 Schulz 0007 Müller 4712 Meyer Buch Invnr Titel ISBN Autor 0007 Dr. No James Bond 1201 Objektbanken Heuer 4711 Datenbanken Vossen 4712 Datenbanken Ullman 4717 Pascal Wirth VL Datenbanken I 7 9 VL Datenbanken I 7 10 Projektion Projektion II Syntax π [attributmenge] (relation) Semantik π X (r) := {t(x) t r} für r(r) und X R Attributmenge in R. Beispiel 1: Projektion auf ein Attribut π [Name] (Ausleih) ergibt als Ergebnisrelation Name Meyer Schulz Müller Doppelte Ergebnistupel eliminiert VL Datenbanken I 7 11 VL Datenbanken I 7 12

4 Projektion III Projektion IV Beispiel 2: Projektion auf Attributmenge π [Invnr, ISBN] (Buch) ergibt Invnr ISBN einfache Optimierungsregel: bei vielen Projektionen hintereinander reicht die zuletzt ausgeführte auch allein π [Invnr] (π [Invnr, ISBN] (Buch)) ergibt optimiert π [Invnr] (Buch) VL Datenbanken I 7 13 VL Datenbanken I 7 14 Selektion Selektionsbedingungen Syntax Semantik σ [bedingung] (relation) σ F (r) := {t t r F (t) = true} F Konstanten-Selektion Attribut θ Konstante boolesches Prädikat θ ist = oder, bei linear geordneten Wertebereichen auch, <, oder > F Attribut-Selektion Attribut1 θ Attribut2 F logische Verknüpfung mehrerer Konstanten- oder Attribut-Selektionen mit, oder VL Datenbanken I 7 15 VL Datenbanken I 7 16

5 Selektion II Selektion III Beispiel ergibt σ [Name N ] (Ausleih) Invnr Name 4711 Meyer 0007 Müller 4712 Meyer einfache Optimierungsregeln Selektionen lassen sich in der Reihenfolge beliebig vertauschen Manchmal lassen sich Projektion und Selektion vertauschen; Voraussetzung: Selektionsattribute kommen in Projektionsliste vor VL Datenbanken I 7 17 VL Datenbanken I 7 18 Verbund Verbund: Beispiel Syntax des (natürlichen) Verbundes (engl.: natural join) Semantik Relation1 Relation2 r 1 r 2 := {t t(r 1 R 2 ) [ i {1, 2} t i r i : t i = t(r i )]} Verbund verknüpft Tabellen über gleichbenannten Spalten bei gleichen Attributwerten Ausleih Buch ergibt Name Invnr Titel ISBN Autor Müller 0007 Mr. No James Bond Schulz 1201 Objektbanken Heuer Meyer 4711 Datenbanken Vossen Meyer 4712 Datenbanken Ullman nicht ausgeliehenes Pascal-Buch verschwindet: Tupel, die keinen Partner finden (dangling tuples), werden eliminiert später: outer join, der dangling tuples übernimmt VL Datenbanken I 7 19 VL Datenbanken I 7 20

6 Verbund II Eigenschaften Verbund π [Autor] (Buch) π [Invnr] (Ausleih) Autor Invnr James Bond 4711 James Bond 1201 James Bond 0007 James Bond 4712 Heuer 4711 Heuer 1201 Heuer 0007 Heuer 4712 Vossen entartet zu kartesischem Produkt aus R 1 R 2 = {} folgt r 1 r 2 = r 1 r 2 Projektion nicht inverse Operation zu Verbund: π R1 (r 1 r 2 ) r 1 Verbund nicht die inverse Operation zu zwei Projektionen (nur bei Verbundtreue) Verbund kommutativ: r 1 r 2 = r 2 r 1 Verbund assoziativ: (r 1 r 2 ) r 3 = r 1 (r 2 r 3 ) Daher erlaubt: p i=1 r i VL Datenbanken I 7 21 VL Datenbanken I 7 22 Mengenoperationen und Umbenennung Mengenoperationen: Vereiningung Buch1 Autor1 James Bond Heuer Vossen Ullman Wirth Buch2 Autor2 Witt Vossen Silberschatz Meier Wirth Umbenennung β [neu alt] (relation) ändert Attributnamen von alt in neu β [Autor1 Autor2] (Buch2) Durch Umbenennung nun Vereinigung, Differenz und Durchschnitt möglich relation1 relation2 Beispiel: Buch1 β [Autor1 Autor2] (Buch2) Autor1 James Bond Heuer Vossen Ullman Wirth Witt Silberschatz Meier VL Datenbanken I 7 23 VL Datenbanken I 7 24

7 Mengenoperationen: Differenz Mengenoperationen: Durchschnitt relation1 relation2 Beispiel: Buch1 β [Autor1 Autor2] (Buch2) Autor1 James Bond Heuer Ullman relation1 relation2 Beispiel: Buch1 β [Autor1 Autor2] (Buch2) Autor1 Vossen Wirth VL Datenbanken I 7 25 VL Datenbanken I 7 26 Mengenoperationen, Umbenennung I Mengenoperationen, Umbenennung II Umbenennung ermöglicht Verbunde, wo bisher kartesische Produkte ausgeführt wurden (unterschiedliche Attribute werden gleich benannt), kartesische Produkte, wo bisher Verbunde ausgeführt wurden (gleiche Attribute werden unterschiedlich genannt), Mengenoperationen Formal für r 1 (R) und r 2 (R) Umbenennung β B A (r) := {t t r : t (R A) = t(r A) t (B) = t(a)} Vereinigung r 1 r 2 := {t t r 1 t r 2 } Durchschnitt r 1 r 2 := {t t r 1 t r 2 } Differenz r 1 r 2 := {t t r 1 t r 2 } Durchschnitt wegen r 1 r 2 = r 1 (r 1 r 2 ) überflüssig VL Datenbanken I 7 27 VL Datenbanken I 7 28

8 Unabhängigkeit und Vollständigkeit Problem: Quantoren Minimale Relationenalgebra: Ω = π, σ,, β, und unabhängig: kein Operator kann weggelassen werden ohne Vollständigkeit zu verlieren andere unabhängige Menge: und β durch ersetzen Relationale Vollständigkeit: jede andere Menge von Operationen genauso mächtig wie Ω Strenge relationale Vollständigkeit: zu jedem Ausdruck mit Operatoren aus Ω gibt es einen Ausdruck auch mit der anderen Menge von Operationen Allquantor in Relationenalgebra ausdrücken, obwohl in Selektionsbedingungen nicht erlaubt Division (kann aus Ω hergeleitet werden) r 1 (R 1 ) und r 2 (R 2 ) gegeben mit R 2 R 1, R = R 1 R 2. Dann ist r (R ) = {t t 2 r 2 t 1 r 1 : t 1 (R ) = t t 1 (R 2 ) = t 2 } = r 1 r 2 Division von r 1 durch r 2 r 1 r 2 = π R (r 1 ) π R ((π R (r 1 ) r 2 ) r 1 ) VL Datenbanken I 7 29 VL Datenbanken I 7 30 Division: Beispiel NF 2 -Algebra r 1 r 1 r 2 ergibt PILOT r Snoopy Müller PILOT FLUGZ. Snoopy 707 Snoopy 727 Snoopy 747 Meyer 707 Meyer 727 Müller 707 Müller 727 Müller 747 Müller 777 Lüdenscheid 727 r 2 FLUGZ r 3 r 1 r 3 ergibt PILOT r Snoopy Meyer Müller FLUGZ. 707,, π, zunächst wie in Relationenalgebra σ-bedingungen erweitern um: Relationen als Operanden (statt nur Konstanten von Standard-Datentypen) Mengenvergleiche, wie etwa θ: =,,,, rekursiv aufgebaute Operationsparameter, etwa π und σ auch innerhalb von Projektionslisten und Selektionsbedingungen anwendbar zusätzliche Operationen ν (Nestung) und µ (Entnestung) VL Datenbanken I 7 31 VL Datenbanken I 7 32

9 Nestung und Entnestung Spezielle NF 2 -Algebren A B C ν B,C;D (r) µ D (r ) A D B C Nestung nicht allgemein die Inverse der Entnestung: A D A B C B C ν B,C;D (r) µ D (r ) Minimale geschachtelte Algebra nur ν und µ Orthogonale geschachtelte Algebra Schek und Scholl: Selektion und Projektion rekursiv Algebren für PNF-Relationen erhalten PNF-Eigenschaft VL Datenbanken I 7 33 VL Datenbanken I 7 34 Andere Algebra-Erweiterungen Andere Algebra-Erweiterungen (II) Nullwerte Operationen auf Wertebereichen (Spaltenerweiterung, abgeleitete Attribute) Gruppierung... Nullwerte r 1 a b A B a r 2 b c B C c : Wert existiert, aber zur Zeit nicht bekannt Verbund A B C a b c VL Datenbanken I 7 35 VL Datenbanken I 7 36

10 Andere Algebra-Erweiterungen (III) Anfrage-Kalküle Nullwerte (fortg.) definit- und maybe-markierungen r 1 a b d A B STATUS a d r 1 r 2 liefert A B C STATUS a b c d a b c m a b c m a c m r 2 b c d B C STATUS c d Kalkül: eine formale logische Sprache zur Formulierung von Aussagen Ziel: Einsatz eines derartigen Kalküls zur Formulierung von Datenbank-Anfragen Logikbasierter Ansatz: Datenbankinhalte entsprechen Belegungen von Prädikaten einer Logik, Anfragen abgeleiteten Prädikaten VL Datenbanken I 7 37 VL Datenbanken I 7 38 Ein allgemeiner Kalkül Ein allgemeiner Kalkül II Motivation: mathematische Notation {x 2 x IN x 3 > 0 x 3 < 1000} Anfrage hat die Form {f(x) p(x)} x bezeichnet Menge von freien Variablen x = {x 1 : D 1,..., x n : D n } Funktion f bezeichnet Ergebnisfunktion über x wichtige Spezialfälle: Angabe einer Variable selber (f ist hier die Identitätsfunktion) und Tupelkonstruktion (Ergebnis vom Typ tuple of) p Selektionsprädikat über freien Variablen x Terme aus Variablen, Konstanten und Funktionsanwendungen Prädikate der Datentypen, etwa, <, >,,... atomare Formeln über Termen Bezug zur aktuellen Datenbank Datenbankprädikate, z.b. Relationennamen im RM prädikatenlogischen Operatoren,,,, Formeln VL Datenbanken I 7 39 VL Datenbanken I 7 40

11 Ergebnisbestimmung einer Anfrage Relationale Kalküle x = {x 1 : D 1,..., x n : D n } 1. Bestimme aller Belegungen der freien Variablen in x, für die das Prädikat p wahr wird. 2. Wende Funktion f auf die durch diese Belegungen gegebenen Werte an. Bereichskalkül: Variablen nehmen Werte elementarer Datentypen (Bereiche) an Tupelkalkül: Variablen variieren über Tupelwerte (entsprechend den Zeilen einer Relation) Unter welchen Umständen liefern Kalkülanfragen endliche Ergebnisse? Sicherheit von Anfragen VL Datenbanken I 7 41 VL Datenbanken I 7 42 Bereichskalkül Bereichskalkül II Terme: Konstanten, etwa 42 oder MZ-4. Variablen zu Datentypen, etwa x. Die Datentypangabe erfolgt in der Regel implizit und wird nicht explizit deklariert! Funktionsanwendung f(t 1,..., t n ): Funktion f, Terme t i, etwa plus(12, x) bzw. in Infixnotation 12 + x. Atomare Formeln: Prädikatanwendung Θ(t 1,..., t n ), Θ {<, >,,,, =,... } Datentypprädikat, Terme t i. Zweistellige Prädikate wie üblich in Infix-Notation. Beispiele: x = y, 42 > x oder = 11. Atomare Formeln (fortg.): Prädikatanwendungen für Datenbankprädikate, notiert als R(t 1,..., t n ) für einen Relationennamen R. Voraussetzung: n muß die Stelligkeit der Relation R sein und alle t i müssen vom passenden Typ sein Beispiel: bestellt( Maier, x, 100) Formeln wie üblich mit,,, und. Anfragen: {x 1,..., x n φ(x 1,..., x n )} φ ist Formel über den in der Ergebnisliste aufgeführten Variablen x 1 bis x n. Das Ergebnis ist eine Menge von Tupeln. Die Tupelkonstruktion erfolgt implizit aus den Werten der Variablen in der Ergebnisliste. VL Datenbanken I 7 43 VL Datenbanken I 7 44

12 Basiskalkül Sichere Anfragen Einschränkung des Bereichskalküls: Wertebereich: ganze Zahlen Datentypprädikate werden wie bei der Relationenalgebra auf Gleichheit und elementare Vergleichsoperatoren eingeschränkt Funktionsanwendungen sind nicht erlaubt; nur Konstanten dürfen neben Bereichsvariablen als Terme verwendet werden Sichere Anfragen (auch semantisch sichere Anfragen): Anfragen, die für jeden Datenbankzustand σ(r) ein endliches Ergebnis liefern. Beispiel für nicht sichere Anfrage: {x, y R(x, y)} Einfaches Beispiel für sichere Anfrage: {x, y R(x, y)} VL Datenbanken I 7 45 VL Datenbanken I 7 46 Sichere Anfragen II Syntaktisch sichere Anfragen Weiteres Beispiel für sichere Anfrage: {x, y y = 10 x > 0 x < 10} Sicherheit folgt direkt aus den Regeln der Arithmetik. Semantische Sicherheit ist im allgemeinen nicht entscheidbar! Syntaktisch sichere Anfragen: Anfragen, die syntaktischen Einschränkungen unterliegen, um die semantische Sicherheit zu erzwingen. Grundidee: Jede freie Variable x i muß überall in φ(x 1,... ) durch positives Auftreten x i = t oder R(..., x i,... ) an endliche Bereiche gebunden werden. Die Bindung an endliche Bereiche muß für die ganze Bedingung, also insbesondere für alle Zweige einer Disjunktion, gelten. VL Datenbanken I 7 47 VL Datenbanken I 7 48

13 Relationen für Beispiele Beispiele Bereichskalkül Kunde(KName, Adresse, Konto), bestellt(kname, WareBez, Anzahl) Ware(WareBez, Preis, Vorrat) Alle (Namen von) Kunden in Magdeburg ". {x Kunde(x, y, z) y = MD } Vereinfachte Notation: Ansonsten ungebundene Variablen (hier y und z) im Bedingungsteil existentiell mit gebunden. Vollständige Version: {x y zkunde(x, y, z) y = MD } Einsparung von Bereichsvariablen, indem Konstanten als Parameter des Prädikats eingesetzt werden: {x Kunde(x, MD, z)} VL Datenbanken I 7 49 VL Datenbanken I 7 50 Beispiele Bereichskalkül II Beispiele Bereichskalkül II Abkürzung für beliebige, unterschiedliche existentiell gebundene Variablen ist _ Symbol: {x Kunde(x, y, _) y = MD } Verschiedene Auftreten des Symbols _ stehen hierbei für paarweise verschiedene Variablen. Städte mit mehr als zwei Kunden ". {y Kunde(x, y, z) Kunde(x, y, z ) x x } Diese Anfrage zeigt eine Verbundbildung über das zweite Attribut der Kunde-Relation Verbundbildung kann einfach durch die Verwendung der selben Bereichsvariablen als Parameter in verschiedenen Relationsprädikaten erfolgen VL Datenbanken I 7 51 VL Datenbanken I 7 52

14 Beispiele Bereichskalkül III Beispiele Bereichskalkül IV Wer hat Waren unter 1.- DM bestellt? " {x, w Kunde(x, y, z) bestellt(x, w, a) Ware(w, p, v) a > 0 p < 1.00} Verbund über drei Relationen Wer hat überhaupt etwas bestellt? " {x Kunde(x, y, z) w a(bestellt(x, w, a) a > 0)} Einsatz einer existentiell gebundenen Unteranfrage derartige Unteranfragen können aufgrund der Regeln der Prädikatenlogik wie folgt aufgelöst werden: {x Kunde(x, y, z) (bestellt(x, w, a) a > 0)} VL Datenbanken I 7 53 VL Datenbanken I 7 54 Beispiele Bereichskalkül V Ausdrucksfähigkeit Bereichskalkül Wer hat nur Waren in großer Anzahl bestellt? " {x Kunde(x, y, z) w a(bestellt(x, w, a) = a > 100)} universell gebundene Teilformeln können nicht aufgelöst werden Bereichskalkül ist streng relational vollständig, d.h. zu jedem Term τ der Relationenalgebra gibt es einen äquivalenten (sicheren) Ausdruck η des Bereichskalküls. VL Datenbanken I 7 55 VL Datenbanken I 7 56

15 Umsetzung von Relationenoperationen Umsetzung von Relationenoperationen II Gegeben: zwei Relationenschemata R(A 1,..., A n ) und S(B 1,..., B m ) Vereinigung (für n = m). R S ˆ={x 1... x n R(x 1,..., x n ) S(x 1,..., x n )} Differenz (für n = m). R S ˆ={x 1... x n R(x 1,..., x n ) S(x 1,..., x n )} Natürlicher Verbund. R S ˆ= {x 1... x n x n+1... x n+m i R(x 1,..., x n ) S(x 1,..., x i, x n+1,..., x n+m i )} Hierbei seien die ersten i Attribute von R und S die Verbundattribute, also A j = B j für j = 1... i. VL Datenbanken I 7 57 Projektion. π A (R) ˆ={y 1... y k x 1... x n (R(x 1,..., x n ) y 1 = x i1 y k = x ik )} Hierbei ist die Attributliste der Projektion wie folgt gegeben: A = (A i1,..., A ik ) Selektion. σ φ (R) ˆ={x 1... x n R(x 1,..., x n ) φ } Die Formel φ wird hierbei aus φ gewonnen, indem Variable x i an Stelle der Attributnamen A i eingesetzt werden. VL Datenbanken I 7 58 Tupelkalkül Der Basis-Tupelkalkül Anfragen im Tupelkalkül werden analog zu denen des Bereichskalküls aufgebaut, aber mit folgenden Unterschieden: Variablen sind tupelwertig R(t) bedeutet t ist in Relation R (alternative Notation: t R) t.a i bzw. t[i] ermöglichen Zugriff auf die i-te Tupelkomponente (alternative Notation: t(i)) Anfragen haben die Form {u φ(u)} wobei u eine Tupelvariable ist. Vereinfachte Notation: Beliebige Terme als Zielfunktion. VL Datenbanken I 7 59 {t φ(t)} t Tupelvariable, φ(t) spezielle Formel der Prädikatenlogik 1. Ordnung Atome des Basis-Tupelkalküls: s r mit s Tupelvariable und r Relation s 1.Aθs 2.B mit s 1, s 2 Tupelvariablen und A, B Attribute; s 1 muß über A und s 2 über B definiert sein θ wie in Relationenalgebra: =,, <, >,, s.aθc mit s Tupelvariable, s ist über A definiert, und c dom(a) (c hat also einen passenden Typ) VL Datenbanken I 7 60

16 Der Basis-Tupelkalkül II Erweiterungen in der Notation Formeln des Basis-Tupelkalküls: Ein Atom ist eine Formel Sind φ und ψ Formeln, dann sind auch φ, (φ), φ G und φ ψ Formeln Ist φ(s) eine Formel und s eine freie (d.h. noch nicht durch einen Quantor gebundene) Tupelvariable in φ(s), so sind auch s : φ(s) und s : φ(s) Formeln. Implizite Tupelbildung analog zum Bereichskalkül: Anfrage ist äquivalent zu: {u.a 1, v.b 2 R(u) S(v)} {w u vr(u) S(v) u.a 1 = w[1] v.b 2 = w[2]} Definition von Attributnamen in der Zielliste und Verwendung von Termen in der Zielliste: {u.name, Jahresgehalt : u.gehalt 13 Angestellte(u)} VL Datenbanken I 7 61 VL Datenbanken I 7 62 Beispiele Tupelkalkül EER-Kalkül Alle Kunden mit Namen Mueller {t Kunde(t) t.kname = Mueller } Adressen von Kunden mit Namen Mueller {t.adresse Kunde(t) t.kname = Mueller } Namen und Adressen von Kunden, die Papier bestellt haben {t.kname, t.adresse Kunde(t) b(bestellt(b) b.wname = Papier t.kname = b.kname)} Anfragen sind Multimengenanfragen: {{...}} Variablen werden positiv an endliche Bereiche gebunden. Bindung an Bereiche in Deklarationen δ i {{t 1,..., t n δ 1 δ k φ}} Beispiel für Deklaration: (a: ANGESTELLTE) Anfragen als Bereiche rekursiver Anfrageaufbau Aggregatfunktionen wie Summenbildung, Durchschnittswerte, Zählen als Funktionen: AVG({{P reis(b) (b: BUCH) Verlag(b) = Thomson }}) VL Datenbanken I 7 63 VL Datenbanken I 7 64

17 EER-Kalkül II Formelaufbau Vereinigung, Schnittmenge etc. auf Anfragetermen Funktion bts (für bag-to-set): entfernt Duplikate aus Multimengen Anfragen Anfragen Konzepte des EER-Modells Konstrukte des EER-Kalküls: Formeln Formeln Deklarationen Entity-Typen: Bereiche für Variablen Beziehungstypen: Prädikatsymbole oder Bereiche Attribute von Entity-Typen: Funktionen Atomare Formeln Terme Atomare Formeln Terme Bereiche a) Bereichskalkül b) EER-Kalkül VL Datenbanken I 7 65 VL Datenbanken I 7 66 Änderungsoperationen u(d) := insert t into r i (R i ) { d d := {r 1,..., r i {t},..., r p } falls d DAT(S) d sonst u(d) := delete t from r i (R i ) { d d := {r 1,..., r i {t},..., r p } falls d DAT(S) d sonst u(d) := replace t t in r i (R i ) { d d := {r 1,..., (r i {t}) {t },..., r p } falls d DAT(S) d sonst VL Datenbanken I 7 67

Kriterien für Anfragesprachen. Einführung II. Grundlagen von Anfragen und Änderungen

Kriterien für Anfragesprachen. Einführung II. Grundlagen von Anfragen und Änderungen Einführung Kriterien für Anfragesprachen bisher Relationenschemata mit Basisrelationen, die in der Datenbank gespeichert sind jetzt Abgeleitete Relationenschemata mit virtuellen Relationen, die aus den

Mehr

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

Motivation Anford. Anfrage- Kalküle Bereichskalkül. Sichere Anfragen Beispiele. Ausdrucksfähigkeit. Tupelkalkül. Motivation Anford. Kapitel 4: Grundlagen von Grundlagen von Anforderungen an Anfragesprachen,. Datenbankeinsatz: Grundlagen von 1 Datenbankeinsatz: Grundlagen von 2 Einführung (1) Einführung (2) Anfrage: Formulierung eines

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken SS 2010 5. Bereichskalkül (=Domänenkalkül) Agenda: Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010

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

Kapitel 3: Relationale Algebra

Kapitel 3: Relationale Algebra Kapitel 3: Relationale Algebra Algebra Motivation (1) Wir wollen aus Relationen für uns interessante Informationen extrahieren, Tabellen modifizieren und neue Tabellen aus alten generieren Datenbankeinsatz:

Mehr

Teil VIII Grundlagen von Anfragen: Algebra & Kalkül

Teil VIII Grundlagen von Anfragen: Algebra & Kalkül Teil VIII Grundlagen von Anfragen: Algebra & Kalkül Grundlagen von Anfragen: Algebra & Kalkül 1 Kriterien für Anfragesprachen 2 Anfragealgebren 3 Erweiterungen der Relationenalgebra 4 Anfragekalküle 5

Mehr

Grundlagen von Datenbanken SS 2010

Grundlagen von Datenbanken SS 2010 Grundlagen von Datenbanken SS 2010 6. Tupelkalkül und relationale Vollständigkeit Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS

Mehr

Grundlagen von Anfragen: Algebra

Grundlagen von Anfragen: Algebra Teil VIII Grundlagen von Anfragen: Algebra & Kalkül Grundlagen von Anfragen: Algebra & Kalkül 1. Kriterien für Anfragesprachen 2. Anfragealgebren 3. Erweiterungen der Relationenalgebra 4. Anfragekalküle

Mehr

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus

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

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus

Mehr

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus STEIN 2004-2018 Anfragen

Mehr

Die Sprache QUEL. Beispiel für QUEL-Anfrage. Weitere Datenbanksprachen. Anfragen in QUEL. Welche Lieferanten liefern von Weiß bestellte Waren?

Die Sprache QUEL. Beispiel für QUEL-Anfrage. Weitere Datenbanksprachen. Anfragen in QUEL. Welche Lieferanten liefern von Weiß bestellte Waren? ( " unique - ( ) [ DDL DML des INGRES-Systems DDL analog zu SQL DML an Tupelkalkül angelehnt Die Sprache QUEL Beispiel für QUEL-Anfrage Welche Lieferanten liefern von Weiß bestellte Waren? : range of is

Mehr

Kapitel 2: Grundlagen von Anfragesprachen

Kapitel 2: Grundlagen von Anfragesprachen 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

Mehr

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen Einleitung 4. Relationenalgebra Selektion und Projektion Mengenoperatoren Vereinigung, Durchschnitt, Differenz kartesisches Produkt Verbundoperationen (Join) Theta-Join natürlicher Verbund Semi-Join äußerer

Mehr

Relationale Datenbanksprachen

Relationale Datenbanksprachen Relationale Datenbanksprachen SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen Andreas Heuer, Gunter Saake Datenbanken I 9-1 Sprachen und ihre Grundlagen Grundlagen Kommerzielle Sprachen ISBL SQL

Mehr

Kapitel 3: Grundlagen von Anfragesprachen

Kapitel 3: Grundlagen von Anfragesprachen 3. Grundlagen von Anfragesprachen 3. Kapitel 3: Grundlagen von Anfragesprachen Sprachparadigmen Relationenalgebra Relationenkalkül Datenbanken und Informationssysteme, WS 2012/13 9. November 2012 Seite

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

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

Relationale Algebra. Thomas Heimrich. Rel. Algebra. Grundlagen. Beispielrelationen. rel. Algebra. Definition der rel. Algebra. 1 / 17 Rel. Relationale Thomas Heimrich rel. Formale Sprachen Rel. relationale Die relationale ist prozedural orientiert. Sie beinhaltet implizit einen Abarbeitungsplan für die Anfrage. Die rel. ist wichtig

Mehr

3.4 Die relationale Algebra

3.4 Die relationale Algebra Algebra: 3.4 Die relationale Algebra gegeben eine Menge N ( Anker der Algebra ) Menge von Operationen { σ 1,, σ n } der Form σ j :N k N elationale Algebra Anker ist die Menge aller elationen {(, I) I ist

Mehr

Der relationale Tupel-Kalkül

Der relationale Tupel-Kalkül Der relationale Tupel-Kalkül Udo Kelter 24.11.2001 Zusammenfassung dieses Lehrmoduls Die relationalen Kalküle sind neben der relationalen Algebra ein alternativer Formalismus, mit dem sich die grundlegenden

Mehr

Kapitel DB:V (Fortsetzung)

Kapitel DB:V (Fortsetzung) Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-70 Relational Algebra

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

Datenbanksysteme I Relationale Algebra. Felix Naumann

Datenbanksysteme I Relationale Algebra. Felix Naumann Datenbanksysteme I Relationale Algebra Felix Naumann 17.5.2010 Überblick 2 Einführung Basisoperatoren Operatoren auf Multimengen Erweiterte Operatoren Einführung 3 Bisher Relationenschemata mit Basisrelationen,

Mehr

9. Weitere Datenbanksprachen

9. Weitere Datenbanksprachen 9. Weitere Datenbanksprachen QUEL (Anfragesprache des INGRES-Systems) Query by Example QBE in MS Access Objektorientierte Anfragesprachen (OQL) XML-Anfragesprachen (XQuery) VL Datenbanken I 9 1 Die Sprache

Mehr

8. Relationale Datenbanksprachen

8. Relationale Datenbanksprachen 8. Relationale Datenbanksprachen SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen VL Datenbanken I 8 1 SQL-Kern select Projektionsliste arithmetische Operationen und Aggregatfunktionen from zu verwendende

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

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

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Relationenmodell und Relationenalgebra Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell

Mehr

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

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Übung 4 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik

Mehr

Kapitel 4: Relationen-Kalkül

Kapitel 4: Relationen-Kalkül Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

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

Relationenkalkül. Prof. Dr. T. Kudraß 1 Relationenkalkül Prof. Dr. T. Kudraß 1 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül (DRK). Kalkül hat Variablen, Konstanten, Vergleichsoperatoren, logische

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

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

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

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

Chapter 4. Relationenalgebra. Lecture Datenbanken Pierre Fierz. Berner Fachhochschule Technik und Informatik. Chapter 4 Lecture Datenbanken 04.03.2014 Berner Fachhochschule Technik und Informatik 4.1 Contents 1 2 3 4 5 6 7 4.2 Die Lernziele dieses Kapitels. 1 kennen 2 Operationen der kennen (σ) (π) Der natürliche

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

Logik I. Symbole, Terme, Formeln

Logik I. Symbole, Terme, Formeln Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v

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

Rückblick: Relationale Normalisierung

Rückblick: Relationale Normalisierung Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren

Mehr

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen Concept Content.. Information Topic Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fiedler@is.informatik.uni-kiel.de) Institut für Informatik Arbeitsgruppe

Mehr

Teil VIII. Weitere Datenbanksprachen

Teil VIII. Weitere Datenbanksprachen Teil VIII Weitere Datenbanksprachen Weitere Datenbanksprachen 1 Programmiersprachenanbindung 2 QBE 3 Änderungen in QBE 4 Anfragen in Access Sattler / Saake Datenbanksysteme Wintersemester 2010/11 8 1 Programmiersprachenanbindung

Mehr

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung Grundlagen von Datenbanken Relationale Algebra und algebraische Optimierung Relationale Algebra Überblick Selektion: σ Projektion: π Mengenoperationen:,,,, Kartesisches Produkt: Verbund (Join): Umbenennung:

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

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

Vorlesung Datenbanktheorie. Einige Erweiterungen der Anfragesprachen. Regelbasierte konjunktive Anfragen mit = Vorlesung vom Mittwoch, 26. Vorlesung Datenbanktheorie Vorlesung vom Mittwoch, 26. April 2006 Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Letzte Vorlesung: regelbasierte konjunktive Anfragen Tableau-Anfragen

Mehr

Relationales Datenmodell Relationale Algebra

Relationales Datenmodell Relationale Algebra Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Relationale Algebra Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Grundbegriffe des Relationalen Modells Abbildung

Mehr

Datenbanken: Relationales Modell und SQL. Dr. Matthias Uflacker, Stefan Klauck 23. April 2018

Datenbanken: Relationales Modell und SQL. Dr. Matthias Uflacker, Stefan Klauck 23. April 2018 Datenbanken: Relationales Modell und SQL Dr. Matthias Uflacker, Stefan Klauck 23. April 2018 Vorlesungsinhalte/-aufbau Phase 1 Einführung zu Unternehmensanwendungen (2 Vorlesungen) Grundlagen von spaltenorientierten

Mehr

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

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 2: Logik 1 Prädikatenlogik (Einleitung) 2 Aussagenlogik Motivation Grundlagen Eigenschaften Eigenschaften Normalformen

Mehr

Logik erster Stufe FO

Logik erster Stufe FO Logik erster Stufe FO Sonderstellung als die Logik für die Grundlegung der Mathematik natürliche Semantik (Tarski) und große Ausdrucksstärke vollständige Beweiskalküle (Gödelscher Vollständigkeitssatz)

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

Kapitel 4: Relationen-Kalkül

Kapitel 4: Relationen-Kalkül Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2013/2014 Vorlesung: Prof. Dr. Christian Böhm Übungen:

Mehr

from-klausel Sprachen und ihre Grundlagen Relationale Datenbanksprachen SQL-Kern Syntax select from Beispiel select from liefert die gesamte Relation

from-klausel Sprachen und ihre Grundlagen Relationale Datenbanksprachen SQL-Kern Syntax select from Beispiel select from liefert die gesamte Relation Sprachen und ihre Grundlagen Relationale Datenbanksprachen SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen Andreas Heuer, Gunter Saake Datenbanken I 9-1 Grundlagen Kommerzielle Sprachen ISBL SQL

Mehr

Diskussion: Personal (1)

Diskussion: Personal (1) Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens

Mehr

Kapitel 4: Relationen-Kalkül

Kapitel 4: Relationen-Kalkül Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2017/2018 Vorlesung: Prof. Dr. Christian

Mehr

Seminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik

Seminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik Seminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik Linda Raabe 7. März 2012 1 L-Strukturen Definition 1.1 (Struktur) Eine Struktur A ist eine nichtleere Trägermenge A zusammen mit

Mehr

Relationale Datenbanken: Relationale Algebra

Relationale Datenbanken: Relationale Algebra Relationale Datenbanken: Relationale Algebra Natürlicher Verbund (Natural Join, ): Zwei Relationen werden tupelweise bezüglich Übereinstimmung der Daten in einem gleichbenannten Attribut vereinigt. Das

Mehr

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

Normalform. 2.1 Äquivalenz und Folgerung. 2.2 Die pränexe Normalform 2 Normalformen 2.1 Äquivalenz und Folgerung Definition 2.1 Äquivalenz, Folgerung). Seien ϕ, ψ FO[σ]. a) ϕ und ψ heißen äquivalent kurz: ϕ ψ, bzw. ϕ = ψ), wenn für alle zu ϕ und ψ äquivalent passenden σ-interpretationen

Mehr

Logik und Künstliche Intelligenz

Logik und Künstliche Intelligenz Logik und Künstliche Intelligenz Kurze Zusammenfassung (Stand: 14. Januar 2010) Prof. Dr. V. Stahl Copyright 2007 by Volker Stahl. All rights reserved. V. Stahl Logik und Künstliche Intelligenz Zusammenfassung

Mehr

Datenbanken. Konzepte und Sprachen. Gunter Saake Kai-Uwe Sattler Andreas Heuer. Sechste Auflage

Datenbanken. Konzepte und Sprachen. Gunter Saake Kai-Uwe Sattler Andreas Heuer. Sechste Auflage Gunter Saake Kai-Uwe Sattler Andreas Heuer Datenbanken Konzepte und Sprachen Sechste Auflage Dieses pdf-kapitel ist eine kostenlose Ergänzung zum oben genannten Buch, das 2018 bei MITP erschienen ist.

Mehr

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.

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. Grundlagen der Mathematik für Informatiker 1 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: Es regnet. Die Straße ist naß. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage)

Mehr

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:

Mehr

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005 Webbasierte Informationssysteme SS 2005 8. SQL-Vertiefung Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanksprache SQL Structured Query Language (SQL) - am IBM San Jose Research Laboratory entwickelt

Mehr

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =? Grundlagen der Mathematik für Informatiker 1 Grundlagen der Mathematik für Informatiker 2 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: Es regnet. Die Straße ist naß. 15 ist eine Primzahl.

Mehr

Logic in a Nutshell. Christian Liguda

Logic in a Nutshell. Christian Liguda Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung

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

Grundbegriffe aus Logik und Mengenlehre. Prädikatenlogik

Grundbegriffe aus Logik und Mengenlehre. Prädikatenlogik Grundbegriffe aus Logik und Mengenlehre Prädikatenlogik wohlverstandene Grundlagen, eine formale Sprache zur Beschreibung statischer und dynamischer Gesichtspunkte eines Unternehmens syntaktisch und semantisch

Mehr

1 Prädikatenlogik. 1.1 Signaturen und Strukturen

1 Prädikatenlogik. 1.1 Signaturen und Strukturen 1 Prädikatenlogik Die Constraint-logische Programmierung basiert auf der Prädikatenlogik: Constraints sind prädikatenlogische Formeln und logische Sprachen wie prolog machen einen Ausschnitt der Prädikatenlogik

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

Mengenlehre. Jörg Witte

Mengenlehre. Jörg Witte Mengenlehre Jörg Witte 25.10.2007 1 Grbegriffe Die Menegenlehre ist heute für die Mathematik grlegend. Sie spielt aber auch in der Informatik eine entscheidende Rolle. Insbesondere fußt die Theorie der

Mehr

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

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge

Mehr

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

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik Theorie der Informatik 3. März 2014 4. Prädikatenlogik I Theorie der Informatik 4. Prädikatenlogik I 4.1 Motivation Malte Helmert Gabriele Röger 4.2 Syntax der Prädikatenlogik Universität Basel 3. März

Mehr

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.

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. Grundlagen der Mathematik für Informatiker 1 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: Es regnet. Die Straße ist naß. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage)

Mehr

Prädikatenlogiken. Mathematische Logik. Vorlesung 6. Alexander Bors. 30. März & 6. April A. Bors Logik

Prädikatenlogiken. Mathematische Logik. Vorlesung 6. Alexander Bors. 30. März & 6. April A. Bors Logik Mathematische Logik Vorlesung 6 Alexander Bors 30. März & 6. April 2017 1 Überblick 1 Formale Prädikatenlogiken erster Stufe (Quelle: Ziegler, pp. 3 24) 2 Erinnerung Letztes Mal haben wir begonnen, ein

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 11.05.2009: Anfang von Kapitel 6: Das Relationale Modell Oliver Vornberger Institut für Informatik Universität Osnabrück Das Relationale Modell Wertebereiche (Domänen):

Mehr

Nichtklassische Logiken

Nichtklassische Logiken Nichtklassische Logiken Peter H. Schmitt pschmitt@ira.uka.de UNIVERSITÄT KARLSRUHE Sommersemester 2004 P. H. Schmitt: Nichtklassische Logiken p.1 Inhalt Wiederholung P. H. Schmitt: Nichtklassische Logiken

Mehr

8. Relationale Datenbanksprachen. SQL-Kern. Kartesisches Produkt. from-klausel

8. Relationale Datenbanksprachen. SQL-Kern. Kartesisches Produkt. from-klausel 8. Relationale Datenbanksprachen SQL-Kern SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen Query by Example select Projektionsliste arithmetische Operationen und Aggregatfunktionen from zu verwendende

Mehr

Allgemeingültige Aussagen

Allgemeingültige Aussagen Allgemeingültige Aussagen Definition 19 Eine (aussagenlogische) Formel p heißt allgemeingültig (oder auch eine Tautologie), falls p unter jeder Belegung wahr ist. Eine (aussagenlogische) Formel p heißt

Mehr

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

Namen von Objekten des Diskursbereichs (z. B. Substantive des natürlichsprachlichen Satzes) Prädikatenlogik Aussagen wie Die Sonne scheint. die in der Aussagenlogik atomar sind, werden in der Prädikatenlogik in Terme (sonne) und Prädikate (scheint) aufgelöst und dann dargestellt als z.b. Terme

Mehr

Kapitel DB:V (Fortsetzung)

Kapitel DB:V (Fortsetzung) Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-67 Relational Algebra

Mehr

Informationsmanagement u. Numerische Methoden

Informationsmanagement u. Numerische Methoden Fakultät Bauingenieurwesen Institut für Bauinformatik, Prof. Dr.-Ing. Raimar J. Scherer Informationsmanagement u. Numerische Methoden Relationale und Objekt-orientierte Datenstrukturen 6. Semester 2. Vorlesung:

Mehr

4. Relationen-Algebra. Basisoperationen des relationalen Modells. Kriterien für Anfragesprachen. Operationen der Relationen-Algebra

4. Relationen-Algebra. Basisoperationen des relationalen Modells. Kriterien für Anfragesprachen. Operationen der Relationen-Algebra 4. Relationen-Algebra Basisoperationen des relationalen Modells Kriterien für Anfragesprachen Operationen der Relationen-Algebra Beispiel komplexer Algebra-Ausdrücke Übersicht zu Äquivalenz-Umformungen

Mehr

Vorlesung Datenbanksysteme vom

Vorlesung Datenbanksysteme vom Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,

Mehr

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

Prädikatenlogik. Quantoren. Quantoren. Quantoren. Quantoren erlauben Aussagen über Mengen von Objekten des Diskursbereichs, für die ein Prädikat gilt Prädikatenlogik Aussagen wie Die Sonne scheint. die in der Aussagenlogik atomar sind, werden in der Prädikatenlogik in Terme (sonne) und Prädikate (scheint) aufgelöst und dann dargestellt als z.b. scheint(sonne)

Mehr

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

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016 HM I Tutorium 1 Lucas Kunz 27. Oktober 2016 Inhaltsverzeichnis 1 Theorie 2 1.1 Logische Verknüpfungen............................ 2 1.2 Quantoren.................................... 3 1.3 Mengen und ihre

Mehr

Wiederholung: Relationale Algebra

Wiederholung: Relationale Algebra Vorlesung Datenbanksysteme vom 7.10.01 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1, D,,

Mehr

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

Relationaler Tupelkalkül Datenbanken I (Systemorientierte Informatik IV) Sommersemester Syntax des relationalen Tupelkalküls Concept Content.. Information Topic Relationaler Tupelkalkül Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fiedler@is.informatik.uni-kiel.de) Institut für Informatik

Mehr

Einführung in die Logik (Vorkurs)

Einführung in die Logik (Vorkurs) Einführung in die Logik (Vorkurs) Jürgen Koslowski 2014-04-07 Ein Beispiel Familie A will im kommenden Jahr eine Waschmaschine, ein Auto und ein Moped anschaffen. Aber falls Herr A seinen üblichen Bonus

Mehr

Alphabet der Prädikatenlogik

Alphabet der Prädikatenlogik Relationen und Alphabet der Das Alphabet der besteht aus Individuenvariablen Dafür verwenden wir kleine Buchstaben vom Ende des deutschen Alphabets, auch indiziert, z. B. x, y, z, x 1, y 2,.... Individuenkonstanten

Mehr

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

Mehr

Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P)

Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P) Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P) Syntax Semantik Signatur, Variablen Terme (induktive Definition, Baumform) Atome

Mehr

Teil II Relationale Datenbanken Daten als Tabellen

Teil II Relationale Datenbanken Daten als Tabellen Teil II Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

Grundlagen der Logik

Grundlagen der Logik Grundlagen der Logik Denken Menschen logisch? Selektionsaufgabe nach Watson (1966): Gegeben sind vier Karten von denen jede auf der einen Seite mit einem Buchstaben, auf der anderen Seite mit einer Zahl

Mehr