Relationale Algebra

Theorie IconBisher haben wir vor allem die strukturelle Beschreibung von Datenbanken betrachtet, das ER-Modell und das Relationenmodell. Wir benötigen jedoch zusätzlich eine Möglichkeit, Informationen aus der Datenbank zu extrahieren. Anfragen an eine Datenbank sind Operationen, die uns erlauben, Ausschnitte des Datenbestandes an den/die Anwender:in zurückzugeben bzw. den Datenbestand zu verändern und zu erweitern. Mit einem Anfragemodell wie der Relationenalgebra können Anfragen formal beschrieben werden.

Der Limo-Shop soll auf andere Produkte erweitert werden: Socken und Socken Holzspielzeug, made in Dresden. Auf der Webseite hat der Nutzer die Möglichkeit, Dropdown-
                                Element mit Produktkategorien zunächst eine Produktkategorie auszuwählen. Dann werden alle Produkte dieser Kategorie mit Bild und Namen angezeigt. Mit Klick auf ein Bild erscheinen weitere Informationen zu dem Produkt.

Die Abfragen, die programmiert werden müssten, sind:

  • Gib mir alle Produkte der Kategorie X.
  • Gib mir den Namen des Produkts Y und den Pfad des zugehörigen Bildes.
  • Gib mir alle Informationen zu dem Produkt Z.
Wie können diese und andere Abfragen mithilfe der relationalen Algebra beschrieben werden?


Dies sind die Basisrelationen der relationalen Algebra:

Gibt eine Menge von Tupeln einer gegebenen Relation zurück. Es können Bedingungen formuliert werden, die für die zurückgegebenen Tupel gelten.

Gegeben ist folgende Relation:

Produkt
IDNameBeschreibungKategorie
3WaldmeisterErfrischend und sprudelig...Limonade
10HolzpferdAus Buchenholz gefertigt...Holzspielzeug
21HolzeisenbahnUnser Verkaufshit...Holzspielzeug

Beispielabfrage:   Gib mir alle Produkte der Kategorie „Holzspielzeug“.
In Relationenalgebra:   σKategorie="Holzspielzeug"(Produkt)

Die Ergebnistabelle lautet:

σKategorie="Holzspielzeug"(Produkt)
IDNameBeschreibungKategorie
10HolzpferdAus Buchenholz gefertigt...Holzspielzeug
21HolzeisenbahnUnser Verkaufshit...Holzspielzeug