Michael's book list

Microsoft SQL Thinking

Cornel Brücher hat mit seinen Co-Autoren 2010 das Buch „SQL Thinking“ herausgebracht. Nun, es sollte dem Leser die Gedankenwelt von SQL näher bringen. Insbesondere ging es den Autoren darum, zu zeigen, wie eine Fragestellung tatsächlich mit einer SQL-Abfrage erfolgen kann und nicht mit einer Reihe von Einzelabfragen, die sich in prozeduraler Form dem Thema nähern. Dieser Ansatz war durchaus interessant. Leider hat sich das Buch auf Oracle-SQL beschränkt und bestand zudem zu rund einem Drittel aus einer Oracle-Funktionsreferenz. Nun, was hat dies mit dem vorliegenden Buch zu tun? Cornel Brücher hat sich die oben angeführte Kritik zu Herzen genommen und nachgelegt. Mit Thomas Glörfeld hat er diesmal zusammen mit einem Microsoft SQL Server-Kenner das Buch erstellt – und die Beschränkung auf einen speziellen SQL-Dialekt gleich mit in den Titel aufgenommen. Das neue Buch bietet mehr SQL. Deutlich mehr, denn auf den langen Referenzteil wurde diesmal verzichtet. Stattdessen gibt es ein paar Seiten zur Installation des MS SQL Servers. Aber dies hält sich schwer in Grenzen und wurde in den Anhang verbannt. Interessant für all diejenigen, die keinen solchen zur Verfügung haben und dennoch die Beispiele anhand einer freien Testinstallation nachvollziehen möchten. Wenn da nicht T-SQL statt Oracle-SQL wäre, so könnte man das neue Buch als überarbeitete und erweiterte Ausgabe des vorhergehenden auffassen: Die ersten sieben Kapitel entsprechen weitgehend denen des Vorgängers. Die SQL-Statements wurden, soweit erforderlich, an T-SQL angepasst, die grafische Darstellung der Tabellen entstammt nun dem SQL Mangagement Studio und der Text wurde ein wenig angepasst. Danach wird es dann doch anders. War im Vorgänger ein kurzes Kapitel zu INSERT, UPDATE und DELETE vorhanden, so ist dieser Teil umfassender dargestellt und jedem dieser Statements ein eigenes Kapitel gewidmet. Auch dem Bereich der Transaktionen sowie Tabellendesign wurde mehr Platz spendiert. Abläufe, Zwischenergebnisse und Progammobjekte stehen beispielhaft für weitere Themen, die es neu in das Buch geschafft haben. Trotz der gestrichenen rund 110 Seiten Oracle-Funktionsreferenz sind es ohne Anhang rund 130 Seiten mehr geworden. Auch wenn speziell für den SQL Server geschrieben, so lassen sich viele Themen mit überschaubarem Aufwand auf andere SQL-Implementationen übertragen, so dass dieses Buch nun für ein breiteres Leserspektrum zu nutzen ist. Leider wurde die Chance vertan, hier ein Buch zu schreiben, das losgelöst von einem bestimmten Dialekt in die SQL-Denke einführt. Dennoch, der Gedanke dahinter, nicht nur SQL-Syntax zu zeigen, sondern den Leser sanft an komplexe Anfragen zu führen ist gut. In lockerer, bis manchmal witziger Schreibe bauen die Autoren, angefangen beim einfachen SELECT, immer weiter auf, nehmen Tabellen dazu, variieren die Abfragen und steigern die Komplexität. Immer geht es darum, die imaginären Fragen einer Fachabteilung zu beantworten. So lernt der Leser über Variationen von Joins auch Pivotisierung, Windowed Functions, Hierarchische Abfragen und mehr kennen. Fehlt beinahe nur die selbstgemachte Pivotisierung mittels Left-Join, doch das ist hauptsächlich für SQL-Dialekte ohne PIVOT erforderlich. Was die genutzten Tabellen beinhalten, wird nicht erläutert. Hier gehen die Autoren davon aus, der Leser könne sich dies anhand des Inhalts selbst erschließen. Auf der anderen Seite fangen Sie so sachte an, dass auch Leser ohne SQL-Erfahrung mit dem Buch die Kunst der Abfragen erlernen können. Insgesamt ist dies Buch deutlich besser als der Vorgänger. Einen Link auf meine Rezension zu SQL Thinking finden Sie übrigens unter http://it-rezension.de/Books/books.xhtml?bookId=44


Title

Microsoft SQL Thinking

Subtitle Vom Problem zum SQL Statement
Author(s) Cornel Brücher, Thomas Glörfeld
Publisher, Year MITP, 2012
Language German
ISBN 978-3-8266-9229-1