Book Review: SQL – The Basic Course for Training and Practice

Ralf Adams
SQL – the basic course for training and practice
With examples in MySQL / MariaDB, PostgreSQL and T-SQL
Hanser, 4th, updated edition, October 2021
637 pages, 29.99 € (book, eBook)
ISBN: 978-3-446-47168-9

The time when you could acquire SQL know-how in a book with the motto “We learn DBMS in 14 days” is long gone. Ever since MariaDB emerged as a fork from MySQL, SQL has been a complicated science – especially considering the various database engines. With “SQL – the basic course for training and practice”, Hanser has published an evergreen introduction to the Structured Query Language for database operations, which has now been updated in its 4th edition.

Adams begins his work with an extensive explanation of the theory of relational database systems. In the opinion of the reviewer, the considerations on links, normal forms and the referential integrity, which is feared especially among lateral entrants, succeed well: after reading the first 40 pages, every reader should have accumulated a basic stock of database knowledge with which to deepen the knowledge lets rummage through further literature.

Even on the cover, the work promises to cover several engines. This claim is shown, for example, in the section that explains the installation of the various database servers: MySQL and MariaDB are only discussed under Windows 10, the installation for other operating systems is limited to the representation of the execution in Docker. Incidentally, both PostgreSQL and Microsoft’s SQL server have to be content with “second class treatment”.

The actual explanation of SQL takes place without any great didactic experiments. After creating the tables, Adams provides them with indices and values, which he changes in the next step and finally uses them for evaluation and calculation operations.

It is commendable that Adams already goes into the specifics of the various database servers in the basics. For almost all statements, it not only shows the canonical variant of the respective command specified in SQL 2016, but also explains how the individual databases differ from one another in terms of the implementation of the respective commands. Adams shows courage to go deep. This includes the explanations of the differences between the SQL number types Decimal and Float in detail and show the differences between the representation formats using practical examples.

The author continues this approach consistently in the chapter on evaluation: in addition to considerations about the direct use of the SQL command line client, Adams explains how to store the information returned by the queries as files on the server and how to use a client written in C # in binary form for further programmatic processing.

The book is future-oriented when Adams, in addition to combinatorial queries such as set operations based on set theory, also deals with the fundamentals of NoSQL. However, he limited himself to showing how to export requests to JSON format.

The introduction of transactions and sharding at the latest have given the once rather simple database query language ever more complicated functions. At this point, too, Adams once again shows the courage to go deeper: in addition to considerations about stored procedures and triggers as well as user management, he also explains how computer criminals attack databases using SQL injections – and how such attacks can be fended off.

Finally, readers will find an extensive reference on the SQL language, supplemented by selected source texts and solutions for the tasks that are distributed across all book chapters.

According to the reviewer, the fact that Hanser-Verlag has updated “SQL – the basic course for training and practice” in its fourth edition shows one thing above all: Ralf Adams is a mixture of an introduction to the Structured Query Language and an in-depth look at important aspects the query language succeeded. On the one hand it describes the complete SQL language standard, but on the other hand it does not forget to explain how the various SQL servers behave.

In particular, the interplay of the explanations with the aptly distributed – and sometimes tricky – tasks across the chapters makes the work a recommendable textbook that no database user should be without. Thanks to the extensive index, it is also suitable as a reference work for practice. The mere fact that Adams restricts himself a little too much to the MySQL world seems regrettable – in view of the length of over 600 pages for a book focused on the introduction, it is entirely understandable.

Annette Bosbach
looks after the legacy systems of Tamoggemon Holding ks and has also been concerned with the influence that technology and people have on one another for years.

Previous post Playing it safe: Safe programming with Rust
Next post “It’s the dataset, stupid!” – What makes a good data set