SQL basiert, was die direkte Arbeit mit Daten anbelangt, unmittelbar auf der Mengenlehre. Dies fällt insbesondere bei der Auswahl von Daten über den SELECT-Befehl ins Auge. Dieser Artikel gibt einen kurzen Überblick über die in der Sprache implementierten Konzepte der relationalen Algebra und des Tupelkalküls.
Für die Verarbeitung von Daten und die Bestimmung, welche Daten mit welchen Methoden zu bearbeiten sind, benötigt man eine strukturierte Art der Mengendefinition, um Datenmengen zu definieren. Diese Definitionssystematik stellt eine der Sprachen dar, mit denen relationale Datenbanksysteme gesteuert werden können. SQL ist in diesem Sinne nur eine Möglichkeit unter vielen anderen, die vorgeschlagen worden sind, hat sich allerdings als Standard weltweit durchsetzen können. SQL selbst basiert auf zwei Konzepten, die wir in diesem Abschnitt vorstellen. Im direkten Vergleich mit SQL sieht man unmittelbar, welche Teile dieser Konzepte Eingang in SQL gefunden haben.
Grob kann man bei den möglichen Sprachen und Konzepten, mit denen Datenmengen definiert werden können, prozedurale und nicht-prozedurale Ansätze unterscheiden. Bei einem prozeduralen Konzept legt der Benutzer genau fest, wie das System die Daten zu beschaffen und zu verarbeiten hat. Bei einem nicht-prozeduralen Konzept hingegen beschränkt sich der Benutzer auf die Angabe, welche Datenmengen benötigt werden und wie sie zu bearbeiten sind. Er verzichtet also auf die Angabe, wie er diese Daten erhalten will. In den folgenden beiden Abschnitten finden Sie Informationen zu den originären Grundkonzepten für die Entwicklung von SQL bzw. über „Informationen“ die Ursprünge von relationalen Sprachen. Dabei ist die relationale Algebra eine prozedurale Sprache, weil hier die Datenmengen beschrieben werden, während das Relationenkalkül (oder auch relationale Kalkül) eher eine nicht-prozedurale Sprache darstellt.
Die relationale Algebra stellt eine theoretische Sprache dar, mit der keine Änderungen an Daten durchgeführt werden können, sondern die nur Möglichkeiten bereitstellt, Datenmengen auszuwählen. Sie lässt also die Definition neuer Relationen auf Basis anderer Relationen zu. Wir verwenden für ihre knappe Darstellung eine geometrische Veranschaulichung. Dazu gibt es in der Literatur unterschiedliche Varianten. Wir haben uns hier bei den einfachen Mengenkonstrukten für die Ihnen aus der Mengenlehre bekannten Strukturen entschieden, während bei den komplexen Operationen eher der tabellenbasierte Ansatz gewählt wird. Für die tatsächliche Verwendung als Sprache existieren verschiedene griechische Symbole, mit denen die Operationen auf Spaltenangaben angewendet werden können. Mit ihnen lässt sich daher durchaus auch eine einfache Arbeit an einem Datenbanksystem durchführen, obwohl SQL natürlich wesentlich mehr Möglichkeiten bereithält.
Während bei der Formulierung eines Ausdrucks in der relationalen Algebra auch die Reihenfolge und die Art und Weise der Datenbeschaffung festgelegt wird, entfällt das Wie bei der Verwendung des Relationenkalküls. Man konzentriert sich ausdrücklich auf die Beschreibung der Datenmenge im Hinblick auf das Was, also im Hinblick darauf, welche Daten abzurufen sind. Die Sprachsyntax oder die mathematische Logik beruht auf einem Bereich der symbolischen Logik, die Prädikatenkalkül genannt wird.
Ein Prädikat repräsentiert dabei eine Funktion, die einen Wahrheitswert liefert, in dem Argumente mit anderen Ausdrücken verarbeitet werden. Dieser zurückgelieferte Ausdruck wird auch als Aussage bezeichnet. Er weist entweder den Wert TRUE oder FALSE auf. Enthält ein Prädikat eine Variable wie „x ist ein Kurs, der zwei Tage dauert“, so wird die Aussage für einige Datensätze den Ausdruck WAHR zurückliefern, während dies für andere Datensätze nicht der Fall ist. In einer mathematisch verständlichen Variante erhält man die Formulierung {x | P(x)}, die die Menge aller x beschreibt, für die P von x wahr ist. Diese Mengendefinitionen können dann sowohl mit den üblichen logischen Operatoren kombiniert wie auch durch Eigenschaftsbeschreibungen für P(x) ersetzt werden.
Im Zusammenhang mit Datenbanken taucht dieses Prädikatenkalkül in zwei Varianten auf:
comelio.com
