next up previous
Next: Relationale Algebra und Anfragesprachen Up: Datenbanken Previous: Das relationale Datenmodell

Relationale Algebra

Als nächstes definieren wir die operationale Komponente des relationalen Datenmodells. Hier nehmen wir die von Codd 1970 vorgeschlagene relationale Algebra als Anfragesprache [[Cod70]]. Die Programme dieser Sprache sind algebraische Ausdrücke, die Abbildungen zwischen Datenbanken beschreiben, die Anfragen oder Queries genannt werden. In Zeile (1) geben wir jeweils die Schemarestiktionen an, die die Argumente und die Ergebnisrelation erfüllen müssen. In (2) steht die Semantik der Operationen. Das Ergebnis ist jeweils eine Relation, vorausgesetzt, daß die Restriktionen erfüllt werden.

Sei t ein X-Tupel und Z ein eine Teilmenge von X, dann ist die Projektion von t auf Z, d.h. t[Z], die Beschränkung der Abbildung t auf Z.

Eine Eigenschaft der relationalen Algebra, die wir bisher außer Acht gelassen haben, sind Konstante. Dabei handelt es sich um Symbole für die Elemente des Wertebereiches . Diese können immer -- unter notationellem Aufwand -- eingeführt werden. So läßt sich z.B. die Selektion ganz kanonisch auf die Selektion von Konstanten ( ) erweitern. Weiterhin kann der Operator = sowohl durch arithmetische Operatoren wie als auch durch logische Operatoren wie ergänzt werden. Näheres dazu findet sich in jedem Standardtextbuch zu Datenbanken, wie z.B. [#Ullman/88##1#].

Diese sechs Operatoren sind die Basisoperatoren der relationalen Algebra. Mit ihrer Hilfe können weitee Operatoren wie kartesisches Produkt, Semi-Join, Quotient, Durchschnitt usw. definiert werden. Es gibt auch Darstellungen, bei denen das kartesische Produkt einen Basisoperator darstellt.



Peter Brockhausen
Thu Mar 5 13:41:14 MET 1998