Informatik (Fach) / Datenbanksysteme1 (Lektion)
In dieser Lektion befinden sich 28 Karteikarten
Kapitel 3 - Die Relationale Algebra
Diese Lektion wurde von daschinka erstellt.
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 ...