Relationale Algebra

Relationale Algebra

In diesen Artikel zum Thema Datenbanken befassen wir uns mit einer Beschreibungsmöglichkeit von relationalen Datenbanken. Diese können wir durch die relationale Algebra auslesen oder modifizieren. Wie genau das funktioniert erkläre ich in den folgenden Kapiteln.

Für diesen Artikel empfehle ich den vorherigen bereits gelesen zu haben um das allgemeine Konzept von Datenbanken zuverstehen.

Relationale Datenbanken

Um diese Beschreibung anwenden zukönnen benötigen wir eine Datenbank die Relationen (Tabellen) in Form von Tupeln speichert. Somit hat eine Relation folgendes Aussehen.

Wichtige Begriffe für den Umgang mit dieser Abstraktionsform.

  • Zeilen sind Tupel
  • Spalten sind Attributübersichten
  • Spalteneinträge sind Attribute
  • Nach der 3. Normalform gibt es in jeder Tabelle Schlüssel

Mit dieser Darstellung können wir nun im nächsten Kapitel die relationale Algebra einführen und Tabellen damit beschreiben.

Relationale Algebra

Folgende Begriffe gibt es in der relationalen Algebra. Einen Beispielbefehl zeige ich nachdem ich alle wichtigen Begriffe eingeführt habe.

  • σSpalte = Selektion auf eine Relation. (Auswahl von Spalten)
  • πSpalte = Projektion auf eine Relation (Auswahl von Zeilen)
  • |x| = Natürlicher Verbund (Natural join)
  • × = Kreuzprodukt
  • βNeuer Name <- Alter Name = Umbenennung
  • ∪ = Vereinigung
  • ∩ = Schnitt
  • – = Differenz

Jetzt kennen wir alle Zeichen die in der relationalen Algebra verwendet werden und können diese kombinieren um komplexe Anfragen an unsere Datenbank in einer relativ leicht leserlichen Form stellen zu können. Für Beispielanfragen gebe ich jetzt folgende Datenbank vor.

Stellen wir nun Anfragen auf diese Relationen

- Gebe mir die Namen aller Schüler
πName(Schüler)

-Gebe mir die Namen der Schüler aus der Klasse 9A
πNameKlasse = 9A(Schüler))

-Gebe mir alle Schüler ohne die Schüler aus der Klasse 8B
πNameKlasse = 9A(Schüler)) - πNameKlasse = 8B(Schüler))

Diese Anfragen kann man natürlich auch erweitern und Konzepte wie joins, Kreuzprodukte oder ähnliches einbauen.

Quellen

https://de.wikipedia.org/wiki/Relationale_Algebra (14.9.23 12:32)