Relationale Datenbank

Eine Relationale Datenbank ist eine Datenbank, die auf dem Relationalen Datenbankmodell basiert, das von Edgar F. Codd 1970 erstmals vorgeschlagen wurde; darin ist Relation ein im streng mathematischen Sinn wohldefinierter Begriff (terminus technicus), der im wesentlichen ein mathematisches Modell für eine Tabelle beschreibt (siehe dazu Relation (Datenbanktechnik)). Die Daten werden dabei in Form von zweidimensionalen Tabellen verwaltet, die über Schlüssel (Primärschlüssel, Fremdschlüssel) miteinander verknüpft werden können. Die meisten in der Praxis eingesetzten Datenbanksysteme (relationale Datenbankmanagementsysteme, kurz RDBMS) sind für relationale Datenbanken konzipiert. Im allgemeinen Sprachgebrauch ist deshalb oft eine relationale Datenbank bzw. ein relationales Datenbanksystem gemeint, wenn von Datenbanken die Rede ist.

Für relationale Datenbanken gibt es mit SQL eine verbreitete und teilweise standardisierte Anfragesprache.

Zur Modellierung von relationalen Datenbanken wird meist das Entity-Relationship-Modell oder Varianten davon verwendet. Es dient zum Entwurf eines konzeptuellen Schemas, welches unter Verwendung eines DBMS implementiert werden kann. Dieser Schritt wird als logischer Entwurf oder auch Datenmodellabbildung bezeichnet und hat als Ergebnis ein Datenbankschema im Implementierungssdatenmodell des DBMS.

Früher wurden in der betrieblichen Datenverarbeitung hierarchische Datenbanken verwendet. Sie kommen in Spezialfällen auch heute noch zum Einsatz.

Zum Teil werden die relationalen Datenbanken durch objektorientierte Datenbanken abgelöst. Relationale Datenbanken sind aber derzeit immer noch die am meisten verbreitete Datenbankform und es ist nicht klar, ob sich die objektorientierten Datenbanken durchsetzen werden. Die großen Datenbankhersteller fügen ihren relationalen Datenbanken objektorientierte Eigenschaften hinzu.

Inhaltsverzeichnis

Theorie der Relationalen Datenbanken

Die Grundlagen der Theorie der relationalen Datenbank wurden von Edgar F. Codd in den 1960ern und 1970ern gelegt und in seiner Arbeit "A Relational Model of Data for Large Shared Data Banks" (erschienen in Communications of the ACM, Vol. 13, No. 6, June 1970, S. 377-387) beschrieben. Theoretisch basieren alle Operationen auf der Relationalen Algebra.

Die erste kommerziell erfolgreiche relationale Datenbank wurde jedoch erst Ende der 1970er von der Firma Oracle auf den Markt gebracht.

1986 hat Codd in der Computer World einen zweiteilligen Artikel mit 12 strengen Anforderungen veröffentlicht, welche ein RDBMS aus seiner Sicht erfüllen muss. Dabei sind die Regeln so streng, dass kein zur Zeit verfügbares Datenbanksystem alle erfüllt. Besondere Probleme bereiten die Regeln 6, 9, 10, 11 und 12. Da es aktuell (Februar 2004) noch keine eindeutigen, allgemeinverständliche Übersetzungen gibt, sind hier die Originalüberschriften auf Englisch aufgeführt:

  1. The Information Rule
  2. Guaranteed Access Rule
  3. Systematic Treatment of Null Values
  4. Dynamic On-line Catalog Based on the Relational Model
  5. Comprehensive Data Sublanguage Rule
  6. View Update Rule
  7. High-level Insert, Update and Delete
  8. Physical Data Independence
  9. Logical Data Independence
  10. Integrity Independence
  11. Distribution Independence
  12. Nonsubversion Rule

Zusätzlich hat Codd noch die Regel 0 definiert, wonach jeder Zugriff nur durch relationale Fähigkeiten stattfinden darf.

Die Grundregeln für eine relationale Datenbank (nach Codd) lassen sich wie folgt beschreiben:

Ende 1990 hat Codd in seinem Buch The Relational Model for Database Management - Version 2, Addison-Wesley 1990 die bisherigen 12 Regeln auf 333 Regeln differenziert, die allgemeine Akzeptanz gefunden haben.

Schwachpunkte der relationalen Modellierung

In der relationalen Darstellung erfolgt die Abspeicherung eines Objektes segmentiert auf vielen unterschiedlichen Relationen. Das Objekt als solches muss somit durch das DBMS mittels zahlreichen Joins aus den einzelnen Relationen erstellt werden.

Zur eindeutigen Identifizierung von Tupeln müssen in manchen Fällen künstliche Schlüssel eingesetzt werden. Diese Schlüsselattribute müssen relationsweit eindeutig sein.

Da in vielen relationalen Datenbanken nur Datenmanipulationssprachen unzureichender Mächtigkeit vorhanden sind, folgt daraus, dass Schnittstellen notwendig werden, um mächtigere Programmiersprachen einzubinden zu können. Es gibt jedoch auch relationale Datenbanken mit mächtigen Programmiersprachen wie PL/SQL in Oracle. Die Verbindung von Datenbanksprachen mit externen, schon vorhanden Programmiersprachen führt zu einer wenig anwenderfreundlichen Handhabung. Es wird so z. B. SQL in C++-Programmen eingebunden. Beide Sprachen verfolgen jedoch ein unterschiedliches Verarbeitungsparadigma: SQL arbeitet mengenorientiert und C++ satzorientiert.

In der relationalen Datenbank kann das anwendungstypische Verhalten eines Objektes nicht beschrieben werden. Diese Beschreibung kann somit erst außerhalb der Datenbank in einer Anwendungssoftware erfolgen.

Siehe auch

Literatur

Weblinks

See also: Relationale Datenbank, 1960er, 1970er, 1986, 1990, Anfragesprache, Attribut, C-Plusplus, DBMS, Datenbank