Relationale Algebra
Bisher 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 Holzspielzeug, made in Dresden. Auf der Webseite hat der Nutzer die Möglichkeit, 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.
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:
ID | Name | Beschreibung | Kategorie |
3 | Waldmeister | Erfrischend und sprudelig... | Limonade |
10 | Holzpferd | Aus Buchenholz gefertigt... | Holzspielzeug |
21 | Holzeisenbahn | Unser Verkaufshit... | Holzspielzeug |
Beispielabfrage: Gib mir alle Produkte der Kategorie „Holzspielzeug“.
In Relationenalgebra: σKategorie="Holzspielzeug"(Produkt)
Die Ergebnistabelle lautet:
ID | Name | Beschreibung | Kategorie |
10 | Holzpferd | Aus Buchenholz gefertigt... | Holzspielzeug |
21 | Holzeisenbahn | Unser Verkaufshit... | Holzspielzeug |