Relationale Datenbanken

Thomas Studers Buch zu relationalen Datenbanksystemen ist nicht unbedingt für den reinen Praktiker gedacht. Dafür eignet es sich aber für Studenten, die das Thema Datenbank als Schwerpunkt haben.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 4 Min.
Von
  • Michael Müller

Thomas Studer
Relationale Datenbanken
Von theoretischen Grundlagen zu Anwendungen mit PostgreSQL

Springer, Vieweg 2016
IX + 206 Seiten
€ 24,99
ISBN 978-3-662-46570-7

Relationale Datenbanken basieren auf Relationen. Das erscheint völlig natürlich, doch mancher Anwender übersetzt Relation mit "Beziehung von Datensätzen untereinander". In dieser Vorstellung wird eine relationale Datenbank eine, bei der die Daten auf mehrere Tabellen verteilt sind, die miteinander verknüpft werden – im Gegensatz zu Datenbanken, die Informationen als zusammenhängende Einheit speichern. Auch wenn diese Vorstellung ein wenig der gelebten Praxis entspricht und es sich damit teilweise auch ganz gut auskommen lässt, so ist eine Relation doch viel mehr ein mathematisches Modell. Und eine Tabelle ist lediglich ein praxistaugliches Mittel, eine Relation darzustellen – auch ganz ohne Beziehung zu anderen Tabellen. Hier wird bereits der Unterschied zwischen einer verbreiteten Vorstellung und dem tatsächlichen Modell deutlich.

Thomas Studer kümmert sich um das mathematische Modell. Über die Betrachtung von Mengen führt er die Relation ein. Hier geht es um Definitionen und Lemmata. Auf umfangreiche Beweise jedoch verzichtet er. Das erlaubt, recht zügig im Thema voranzuschreiten. Recht bald zeigt er, wie das Relationenmodell von Datenbanken umgesetzt wird. Und dann geht es im beständigen Wechsel weiter. Mathematik auf der einen Seite, die Umsetzung als Datenbank auf der anderen. Und wenn es dann um die Abfrage und Manipulation der Daten geht, kommt auch SQL ins Spiel. Der Schwerpunkt der mathematischen Herangehensweise zielt zwar mehr auf den Studenten als den Praktiker. Doch für den Anwender wird die Mathematik spätestens dann spannend, wenn der Autor auf mathematischem Wege zeigt, wie Abfragen optimiert werden. Das fördert das Verständnis für den Optimierer, der in der Datenbank werkelt, und liefert nebenbei Tipps, wie sich Abfragen von vornherein besser gestalten lassen.

Der Untertitel verspricht neben den theoretischen Grundlagen auch Anwendungen mit PostgreSQL. Hier darf der Leser jedoch keine komplexe Anwendung erwarten. Vielmehr geht es um die Datentypen, die PostgreSQL bietet, und kleine Anwendungen, bei denen Fahrzeuge mit ihren Fahrern oder Vorlesungen mit Professoren, Studenten und Hilfskräften modelliert werden. Das bewegt sich eher auf dem Niveau von Fallstudien oder Demo-Anwendungen für Lehrzwecke. Der Leser darf hier auch keinen Einstieg in PostgreSQL erwarten. Vielmehr bleibt dies bei recht allgemeinen Beschreibungen und lässt sich so direkt auf andere SQL-Datenbanken übertragen. Die Einführung in SQL mit Abfragen, Joins, Window Functions und einigem anderen mehr gehören in diesen Bereich. Auch hier immer wieder die Paarung mit der Theorie bis hin zu Implementierungsprinzipien von Joins in verschiedenen Varianten, beispielsweise ein Nested Loop Join, ein Hash Join oder ein Merge Join.

Auch dem Mehrbenutzerbetrieb mit seinen eigenen Anforderungen und Problemen wie Phantome und anderen Inkonsistenzen, unterschiedlichen Isolationsgraden und ACID-Modell widmet sich der Autor. Im Vergleich zu anderer Literatur erstaunlich knapp fallen dagegen die Kapitel zu den unterschiedlichen Normalformen aus. Hier beschränkt sich Studer auf eine knappe Erläuterung bis hin zur dritten sowie Boyce-Codd-Normalform. Diese Beschränkung geht in soweit in Ordnung, als dass die höheren Normalformen in der Praxis eine eher untergeordnete Rolle spielen. Nach ihrer Vorstellung werden auch diese wieder mathematisch untermauert.

Das vorliegende Buch ist kein Werk für den reinen Praktiker. Vielmehr eignet es sich für Studenten, die das Thema Datenbank als Schwerpunkt haben. Darüber hinaus bietet es aber auch dem für theoretische Grundlagen offenen Praktiker eine schöne Einführung in das Innenleben einer relationalen Datenbank.

Michael Müller
ist als Bereichsleiter Softwareentwicklung der InEK GmbH verantwortlich für Projekte im Web-, Java- und .NET-Umfeld. Daneben betätigt er sich als freier Autor und verfasst Fachartikel zu diversen Entwicklungsthemen sowie Buchrezensionen.
(ane)