Informatik (Fach) / Datenbanksysteme1 (Lektion)

In dieser Lektion befinden sich 28 Karteikarten

Kapitel 3 - Die Relationale Algebra

Diese Lektion wurde von daschinka erstellt.

Lektion lernen

Diese Lektion ist leider nicht zum lernen freigegeben.

  • Arbeiten mit Relationen Wichtige Beispiele   - Relationale Algebra - Relationen-Kalkül Sie dienen als theoretisches Fundament für konkrete Anfragesprachen wie – SQL: Basiert i.w. auf der relationalen Algebra – QBE (= Query By Example) ...
  • Begriff Relationale Algebra Mathematik -Mathematik:   Algebra ist eine Operanden-Menge mit Operationen Abgeschlossenheit: Werden Elemente der Menge mittels eines Operators verknüpft, ist das Ergebnis wieder ein Element der Menge  Beispiele ...
  • Begriff Relationale Algebra -Relationale Algebra: "Rechnen mit Relationen" Was sind Operanden? Relationen (Tabellen) Beispiele für Operationen? Selektion von Tupeln nach Kriterien (z.B Gehalt>1000) Kombination mehrerer Tabellen ...
  • Grundoperationen 5 5 Grundoperationen der Relationalen Algebra: Vereinigung Differenz: R=S - T  Kartesisches Produkt (Kreuzprodukt): R=S × T Selektion: R=σF(S) Projektion: R=πA,B,...(S)  Mit den Grundoperationen ...
  • Vereinigung der Differenz Operationen sind nur anwendbar, wenn die Schemata der beiden Relationen S und T übereinstimmen (Name und Domäne) Die Ergebnis-Relation R bekommt dieses Schema Was wissen wir über die Kardinalität ...
  • Kartesisches Produkt Die Meng aller möglichen Kombinationen von Tupeln aus S und T Für die Anzahl der Tupeln gilt:  |S×T| = |S| * |T|
  • Selektion Mit der Selektion R= σF(S) werden diejenigen Tupel aus einer Relation S ausgewählt, die eine durch die logische Formel F vorgegebene Eigenschaft erfüllen R bekommt das gleiche Schema wie S Die Formel ...
  • Projektion  Die Projektion R= πA,B,...(S) erlaubt es, – Spalten einer Relation auszuwählen – bzw. nicht ausgewählte Spalten zu streichen – die Reihenfolge der Spalten zu verändern  In den Indizes ...
  • Duplikat-Elimination Erforderlich nach... – Projektion – Vereinigung →"billige" Basisoperationen, aber... Wie funktioniert Duplikat-Elimination? for(int i = 0 ; i< R.length ; i++) for(int j = 0 ; j< i; j++) ...
  • Abgeleitete Operationen • Eine Reihe nützlicher Operationen lassen sich mit Hilfe der 5 Grundoperationen ausdrücken: – Durchschnitt R = S ∩ T – Quotient R = S ÷ T – Join R = S |×|T
  • Durchschnitt • Idee: Finde gemeinsame Elemente in zwei Relationen  (Schemata müssen übereinstimmen): R‘= S∩T= {t | tεSΛtεT} • Implementierung der Operation „Durchschnitt“ mit Hilfe der Grundoperation ...
  • Quotient Dient zur Simulation eines Allquantors Beispiel: welche Programmierer programmieren in allen Sprachen Umkehrung des kartesischen Produkts 
  • Join Selektion über Kreuzprodukt zweier Relationen Theta-Join (Θ): R|A×(theta)|B S  Allgemeiner Vergleich: A ist ein Attribut von R und B ein Attribut von S. Θ ist einer der Operatoren <, >, ≤,≥,≠,= ...
  • SQL • Die wichtigste Datenbank-Anfragesprache SQL beruht wesentlich auf der relationalen Algebra • Grundform einer Anfrag*: Projektion -> SELECT (Liste von Attributnamen Kreuzprodunkt -> FROM (ein oder ...
  • Select • Entspricht Projektion in der relationalen Algebra • Aber: Duplikatelimination nur, wenn durch das Schlüsselwort DISTINCT explizit verlangt • Syntax: SELECT *FROM ... --Keine Projektion     ...
  • From • Enthält mindestens einen Eintrag der Form R1 • Enthält die FROM-Klausel mehrere Einträge – FROM R1, R2, ...so wird das kartesische Produkt gebildet: – R1 × R2 × ... • Enthalten zwei ...
  • Where • Entspricht der Selektion der relationalen Algebra • Enthält genau ein logisches Prädikat Φ (Funktion die einen booleschen  Wert (wahr/falsch) zurück gibt). • Das logische Prädikat besteht ...
  • Join in SQL • Normalerweise wird der Join wie bei der relationalen Algebra als Selektionsbedingung über dem kartesischen Produkt formuliert. • Beispiel: Join zwischen Mitarbeiter und Abteilung select * fromMitarbeiter ...
  • Outer Join • Problem: Beim gewöhnlichen („inner“) Join gehen diejenigen Tupel verloren, die keine Join-Partner in der jeweiligen anderen Relation haben. • Ein Outer Join ergänzt das Join-Ergebnis um die ...
  • Union, Intersect, Except • Üblicherweise werden mit diesen Operationen die Ergebnisse zweier select-from-where-Blöcke verknüpft: select* from Mitarbeiter where name like‘A%´ union select* from Studenten where name like ...
  • UNION, INTERSECT, EXCEPT corresponding • Mit dem Schlüsselwort corresponding beschränken sich die Operationen automatisch auf die gleich benannten Attribute (Projektion) • Bei corresponding wird vorder Vereinigung automatisch eine ...
  • Änderungs-Operationen • Änderungsoperationen modifizieren den Inhalt eines oder mehrerer Tupel einer Relation • Grundsätzlich unterscheiden wir: – INSERT: Einfügen von Tupeln in eine Relation  – DELETE: Löschen ...
  • Die Update - Anweisung • Syntax: update relation set attribut1 = ausdruck1 [ , ... , attributn =ausdruckn ] [where bedingung] • Wirkung: In allen Tupeln der Relation, die die Bedingung erfüllen  (falls angegeben, sonst ...
  • Die DELETE-Anweisung • Syntax: delete from relation [where bedingung] • Wirkung: – Löscht alle Tupel, die die Bedingung erfüllen – Ist keine Bedingung angegeben, werden alle Tupel gelöscht – Abbruch der Operation, ...
  • Die INSERT-Anweisung • Zwei unterschiedliche Formen: – Einfügen konstanter Tupel (Ein-Tupel-Operation) – Einfügen berechneter Tupel (Mehr-Tupel-Operation) • Syntax zum Einfügen konstanter Tupel: insert into relation ...
  • Einfügen konstanter Tupeln wenn die optimale Attributliste ... • Wirkung: Ist die optionale Attributliste hinter dem Relationennamen angegeben, dann... – können unvollständige Tupel eingefügt werden: Nicht aufgeführte Attribute werden mit NULL belegt – ...
  • Einfügen konstanter Tupeln wenn die Attributliste ... • Wirkung: Ist die Attributliste nicht angegeben, dann... – können unvollständige Tupel nur durch explizite Angabe von NULL eingegeben werden – werden die Werte durch die Reihenfolge in der DDL-Definition ...
  • Einfügen berechneter Tupel • Syntax zum Einfügen berechneter Tupel: insert intor elation[(attribut1 , ...)] ( select ... from... where... ) • Wirkung: – Alle Tupel des Ergebnisses der SELECT-Anweisung werden in die Relation ...