Databases Reference
In-Depth Information
4
C H A
P
I
T
R
E
Q
U
A
T
R
E
Die Relationenalgebra
Im vorhergehenden Kapitel haben wir Relationen als formale Grundlage für Ta-
bellen kennengelernt und dabei den Begriff der Relation weiter zum Relationen-
typen abstrahiert. Relationentypen werden uns wieder in Kapitel 8 begegnen. In
diesem Kapitel geht es um Relationen und wie man aus ihnen neue Relationen
gewinnt.
Wir wissen jetzt zwar, dass wir in unserer Datenbank jeden einzelnen Wert be-
schreiben können, wenn wir nur
seine Relation,
seinen Attributnamen und
den Wert des Primärschlüssels seiner Relation kennen.
Für praktische Belange ist dies jedoch unzureichend. In der Regel interessieren
den Praktiker weniger einzelne Werte als vielmehr „Zusammenstellungen“ wie
die Namen aller Alben, die zwischen 1970 und 1974 erschienen sind, oder die Ge-
hälter aller Mitarbeiter unter zwanzig Jahren. Der Weg, den uns die Informatik
wies, bevor es relationale Datenbanken gab, bestand im Einsatz von Program-
miersprachen. Ganz ähnlich wie in unserem selbstentwickelten DBMS werden
Schleifen genutzt, um Datensätze durchzumustern, und in Abhängigkeit von be-
stimmten Bedingungen geeignet im Programmcode verzweigt. Universelle Spra-
chen 1 wie C, COBOL oder Java, die man so für die Datensuche einsetzt, können
wir auch für alle anderen algorithmischen Probleme einsetzen.
Codd verzichtete auf universelle Sprachen und ging bei der Entwicklung des re-
lationalen Modells einen anderen Weg: Der Anwender soll keinen Algorithmus
entwerfen, sondern die Ergebnisse aus Relationen durch die Kombination einiger
sehr grundlegender Operationen gewinnen. Um genau diese Operationen geht
1
Gemeint sind damit die so genannten Turing-vollständigen Sprachen.
 
Search WWH ::




Custom Search