Aus Linux-Magazin 04/2021

Zwei Einführungen in die Datenbankabfragesprache SQL

Die zwei vorgestellten Bücher führen ganz unterschiedlich in SQL ein: das eine weniger streng und auf das Wesentliche konzentriert, das andere akademischer und weitaus detaillierter.

Einstieg in Abfragen

Alan Beaulieu geht die SQL-Einführung zwar systematisch an, kommt aber um ein paar Vorgriffe und Rückschritte nicht umhin. An eine kurze Einführung ins Thema Datenbanken allgemein und die Sprache SQL im Besonderen schließt sich ein Kapitel an, das zunächst den Bereich Data Definition Language (DDL) beschreibt, also die Kommandos zum Anlegen, Ändern und Löschen von Datenbank und Tabellen. Alle Beispiele beziehen sich ausschließlich auf MySQL.

Im nächsten Kapitel geht es mit den Kommandos aus dem Bereich der Data Manipulation Language (DML) weiter. Hier kommen die verschiedenen Klauseln eines SQL-Selects (Select, From, Where, Group by und Having, sowie Order by) zur Sprache, allerdings nur überblicksmäßig – erst folgende Kapitel gehen vertiefend auf Details ein. Das vierte Kapitel beispielsweise noch einmal auf das Filtern mit Where, das fünfte kommt auf die From-Klausel zurück und bespricht die gleichzeitige Abfrage mehrerer Tabellen (Joins), die vor allem die Normalisierung beim Datenbankentwurf erfordert. Sie verteilt zusammengehörige Informationen auf verschiedene Tabellen, Joins führen sie beim Abfragen dann wieder zusammen.

Diesen Aspekt greift das fünfte Kapitel zwar auf, vertröstet den Leser jedoch des Öfteren, weil viele Join-Typen erst in Kapitel 10 auftauchen, das noch einmal auf das Thema zurückkommt. Von Anfang an nutzt der Autor übrigens explizit die aktuelle SQL92-Syntax, der ältere Weg über das Einschränken des kartesischen Produkts durch zusätzliche Where-Klauseln wird aber zumindest erwähnt.

Ein gesondertes Kapitel behandelt die Mengenoperatoren (Union, Intersect und Except), ein weiteres den Umgang mit Zeichenketten (Escapen, String-Funktionen), mit numerischen Werten (Runden, arithmetische Funktionen) oder Datumsfunktionen. Weiter geht es mit den Möglichkeiten von SQL, Daten zu gruppieren und zu aggregieren. Ebenfalls in einem eigenen Kapitel kommen Unterabfragen zur Sprache.

Im Unterschied zu den bisher behandelten Features haben Indizes, Constraints, Transaktionen oder Metadaten nicht direkt mit der Programmierung zu tun, aber auch sie behandelt der Autor in eigenen Kapiteln. Des Weiteren widmet er sich speziellen Problemen großer Datenbanken (Partitionierung, Clustering, Sharding) und der Verwendung von SQL im Big-Data-Umfeld – einschließlich NoSQL, Hadoop und Tools wie Apache Drill, das unter anderem SQL-Abfragen über Datenformate wie JSON oder CSV erlaubt.

Zu guter Letzt stellt ein ER-Diagramm die Struktur der durchgängig verwendeten Musterdatenbank dar, und auch die Lösungen für die Übungsaufgaben am Ende jedes Kapitels lassen sich nachschlagen. Alles in allem wird “Einführung in SQL” seinem Titel gut verständlich und recht umfassend gerecht und verdient eine Empfehlung.

Infos

Alan Beaulieu

Einführung in SQL

O’Reilly, 2021

380 Seiten, 30 Euro

ISBN: 978-3-96009-154-7

Akademischer Blick

Ralf Adams geht dasselbe Thema in seinem Buch “SQL” mit dem Untertitel “Der Grundkurs für Ausbildung und Praxis” sehr viel akademischer an. Das lässt sich schon am Inhaltsverzeichnis ablesen, das bis zur dritten Nachkommastelle durchnummerierte Unterabschnitte ausweist und damit das Themenfeld bis ins Letzte durchgliedert. So bespricht Adams etwa Indizes in einem Kapitel, das unmittelbar auf das Anlegen der Tabellen folgt. Auch die Joins verteilen sich hier nicht über mehrere Kapitel, sondern werden an einer Stelle abgehandelt. Generell erweist sich die Aufteilung in die fünf Buchteile “Was man so wissen sollte”, “Datenbank aufbauen”, “Datenbank ändern” “Datenbank auswerten” und “Anweisungen kapseln” als logisch stringent und hilft bei der Orientierung.

Anders als im ersten hier vorgestellten Buch beschränken sich die Beispiele im vorliegenden Werk nicht auf MySQL, sondern gehen genauso auf MariaDB, PostgreSQL oder den Microsoft SQL-Server ein. Das ist dort, wo es Unterschiede gibt, sehr nützlich. Die eher lehrbuchhafte Ausrichtung lässt sich auch an einer Fülle von Definitionen ablesen, die jeden Schlüsselbegriff beschreiben. Auch die SQL-Syntax wird in separaten Textkästen in abstrakter Form dargestellt. Zudem gibt es viel mehr Aufgaben, die hier nicht nur am Kapitelende zur Selbstkontrolle einladen, sondern über den gesamten Text verteilt.

Auch dieses Buch braucht eine Beispieldatenbank, anhand der sich die vielen Ausführungen demonstrieren lassen. Schon beim Datenbankentwurf geht der Autor mehr ins Detail und diskutiert zumindest die Normalformen 1 bis 3 ausführlich, während das zuerst besprochenen Buch die Normalisierung eher am Rande abhandelt. Das daraus resultierende ER-Modell taucht hier konsequenterweise auch nicht erst im Anhang auf, sondern wird schon im dritten Kapitel hergeleitet.

Die eigentlichen Inhalte ähneln zwangsläufig mehr oder weniger denen des oben vorgestellten Buchs. Hier werden sie aber häufig noch detaillierter diskutiert und auch strukturierter dargestellt. Wer das mag und sich gern an genau formulierte Definitionen hält, oder wer neben MySQL auch mit anderen Datenbanken zu tun hat, der ist mit Ralf Adams’ Werk besser bedient. Außerdem eignet es sich sehr gut zum Selbststudium und zum Nachschlagen.

Infos

Ralf Adams

SQL

Hanser, 2020

490 Seiten, 30 Euro

ISBN: 978-3-446-46110-9

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben