Databases Reference
In-Depth Information
Im Gegensatz zu skalaren Werten ist das Ergebnis einer select -Anweisung mehr-
wertig. Mehrwertige Daten sind die Argumente von Aggregatfunktionen - ihr
Ergebnis ist hingegen wieder ein skalarer Wert.
skalarer Wert
skalarer Wert
skalarer
Wert
Aggregatfunktion
...
skalarer Wert
Abbildung 11.2: Aggregatfunktionen
Der Unterschied zwischen den beiden Funktionsarten ergibt sich auch aus den
Abbildungen 11 und 11. Eine kurze Berührung mit Aggregatfunktionen hatten
wir bereits in Abschnitt 5.16 in Form der Anweisung
select count(number) from numbers
Es wird gezählt, wie viele Werte in der Spalte number der Tabelle numbers auf-
treten.
Die Funktionen, die ein RDBMS für seinen SQL-Dialekt bereitstellt, sind sehr her-
stellerspezifisch. Eine Funktion, die es also in einem SQL-Dialekt gibt, kann im an-
deren wieder unbekannt sein. Neben den Funktionen, die zum SQL-Dialekt des
RDBMS gehören, bieten die meisten Systeme auch die Möglichkeit, Funktionen
selbst zu definieren.
Möglichkeiten gibt es grundsätzlich zwei:
Stored Procedures: Viele Datenbanksysteme stellen eine eigene - nicht stan-
dardisierte - Programmiersprache zur Verfügung, die auch als Stored Proce-
dure Language (SPL) bezeichnet wird. Mit Hilfe dieser Sprache können eigene
Funktionen definiert werden, die dann das RDBMS übersetzt und verwaltet.
Die übersetzten Stored Procedures werden in eigenen Systemtabellen vorge-
halten.
User Defined Functions (UDF): Funktionen, die bereits in einer Sprache wie C
oder Java entwickelt wurden, können in das RDBMS integriert und als Funk-
tion aus SQL-Anweisungen heraus aufgerufen werden.
In diesem Kapitel verschaffen wir uns einen Überblick über einige typische Funk-
tionen, wie wir sie auch in unserer täglichen Arbeit gebrauchen können. Eine sys-
tematische Diskussion aller Funktionen etwa von H2 würde zu weit führen. Der
 
Search WWH ::




Custom Search