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#
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