Informatik (Fach) / Datenbanksysteme1 (Lektion)

In dieser Lektion befinden sich 22 Karteikarten

Kapitel 4 Relationen-Kalkül

Diese Lektion wurde von daschinka erstellt.

Lektion lernen

Diese Lektion ist leider nicht zum lernen freigegeben.

  • Begriff • Mathematik: Prädikatenkalkül – Formeln wie {x | xεN Λ x3> 0 Λ x3 < 1000} • Anwendung solcher Formeln für DB-Anfragen – Bezugnahme auf DB-Relationen im Bedingungsteil: (x1, y1, z1) ε Mitarbeiter, ...
  • Unterschied zur Rel. Algebra • Relationale Algebra ist prozedurale Sprache: – Ausdruck gibt an, unter Benutzung welcher Operationen das Ergebnis berechnet werden soll – WIE • Relationen-Kalkül ist deklarativeSprache: – ...
  • Der Tulpenkalkül • Man arbeitet mit – Tupelvariablen:t – Formeln:ψ(t) – Ausdrücken: {t | ψ(t)} • Idee: Ein Ausdruck beschreibt die Menge aller Tupel, die die Formel ψ erfüllen (wahr machen) • Ein Kalkül ...
  • Tupelvariablen • Tupelvariablen haben ein definiertes Schema: – Schema(t) = (A1: D1, A2: D2, ...) – Schema(t) = R1 (t hat dasselbe Schema wie Relation) • Für Zugriff auf die Komponenten –t[A] oder t.A für ...
  • Atome drei Arten von Atomen • Es gibt drei Arten von Atomen: –R(t) R ist Relationenname, tTupelvariable.   lies: t ist ein Tupel von R –t.AΘs.B tbzw. s sind zwei Tupelvariablen mitpassenden Attributen. lies: t.Asteht in ...
  • Formeln Der Aufbau von Formeln ψ ist rekursiv definiert: • Atome: Jedes Atom ist eine Formel. Alle vorkommenden Variablen sind frei • Verknüpfungen: Sind ψ1 und ψ2 Formeln, dann auch: ¬ψ1 nicht (ψ1Λψ2) ...
  • Ausdruck (Anfrage) • Ein Ausdruck des Tupelkalküls hat die Form  {t | ψ(t)} • In Formel ψist t die einzige freie Variable
  • Semantik Bedeutung, die einem korrekt gebildeten Ausdruck durch eine Interpretation zugeordnet wird:   Syntax  →Intepretation  Sematik   Tupelvariablen → konkrete Tupel Formeln → true, false Ausdrücke ...
  • Semantik Bedeutung, die einem korrekt gebildeten Ausdruck durch eine Interpretation zugeordnet wird:   Syntax  →Intepretation  Sematik   Tupelvariablen → konkrete Tupel Formeln → true, false Ausdrücke ...
  • Belegung von Variablen • Gegeben: – eine Tupelvariable t mit Schema(t) = (D1, D2, ...) – eine Formel ψ(t), in der tfrei vorkommt – ein beliebiges konkretes Tupel r(d.h. mit Werten). Es muß nicht zu einer Relation ...
  • Interpretation von Formeln Interpretation I(ψ) analog zu syntaktischem Aufbau – Anm: Alle Variablen sind durch konkrete Tupel belegt • Atome: –R(r): I(R(r)) = true ↔ r ist in R enthalten –ci Θcj: I(ci Θ cj) = true ↔ ...
  • Sichere Ausdrücke • Mit den bisherigen Definitionen ist es möglich, unendliche Relationen zu beschreiben: – Schema(t) = {String, String} – {t | t.1 = t.2 } – Ergebnis: {(A,A),(B,B),...,(AA,AA),(AB,AB),...} • ...
  • Der Bereichskalkül • Tupelkalkül: Tupelvariablen t(ganze Tupel) • Bereichskalkül: Bereichsvariablen x1:D1, x2:D2, ...für einzelne Attribute (Bereich=Wertebereich=Domäne) Ein Ausdruckhat die Form:{x1, x2, ... | ψ(x1, ...
  • Query By Example • Beruht auf dem Bereichskalkül • Ausdrücke nicht wie in SQL als Text • Dem Benutzer wird am Bildschirm ein Tabellen-Gerüst angeboten, das mit Spezial-Editor bearbeitet werden kann • Nach Eintrag ...
  • Umsetzung einer QBE-Anfrage (ohne Negation) • Erzeuge für alle Attribute Ai aller vorkommenden Tabellen-Zeilen der Anfrage eine Bereichsvariable xi • Steht bei Attribut Ai das Kommando P.dann schreibe xi zu den freien Variablen ...
  • Quantoren und Subqueries in SQL • Quantoren sind Konzept des Relationenkalküls • In relationaler Algebra nicht vorhanden • Können zwar simuliert werden: – Existenzquantor implizit durch Join und Projektion:           ...
  • Existenz-Quantor • Realisiert mit dem Schlüsselwort exists • Der Ξ-quantifizierte Ausdruck wird in einer Subquery notiert. • Term truegdw. Ergebnis der Subquery nicht leer
  • Allquantor • Keine direkte Unterstützung in SQL • Aber leicht ausdrückbar durch die Äquivalenz: für alle x: ψ(x) ↔ ¬Ξx:¬ψ(x) • Also Notation in SQL: ...where not exists (select...from...where ...
  • Direkte Subquery • An jeder Stelle in der select- und where -Klausel, an der ein konstanter Wert stehen kann, kann auch eine Subquery (select...from...where...) stehen. • Einschränkungen: – Subquery darf nur ein ...
  • Weitere Quantoren • Quantoren bei Standard-Vergleichen in WHERE • Formen: –Ai Θall (select...from...where...) Für alle-Quantor –Ai Θsome (select...from...where...) –Ai Θ any (select...from...where...) Ξ-Quantor ...
  • Subquery mit IN • Nach dem Ausdruck  Ai [not] in ... kann stehen: – Explizite Aufzählung von Werten:  Ai in (2,3,5,7,11,13) – Eine Subquery:Ai in(select wert from Primzahlen where wert<=13) Auswertung:  • ...
  • Typische Form der Subquery •Bei exists bzw. not exists ist für die Haupt-Query nur relevant, ob das Ergebnis die leere Menge ist oder nicht. Deshalb muss keine Projektion durchgeführt werden: select…from…where exists ...