Сегодня на обзоре книга «SQL для чайников» Аллена Тейлоа и что сразу бросается в глаза — это данные в таблицах на русском языке. Обычно это указывает на высокие стандарты как в оригинальном издании, так и при переводе. Но посмотрим так ли это.

Как и полагается серии «Для чайников», первые 50 страниц посвящены теории и многословию. Каждый раз когда я вижу такие книги, я говорю «Ребята, когда мы уже начнем что-то писать». Так в книге Python для чайников первую программу мы написали примерно к сотой странице, и тут такой же подход.
При этом, многое из того, что рассказывается в начале новичку не нужно. Будучи «чайником» не обязательно понимать, что такое нормализация данных, или домены, или мутаторы. На первых порах можно обойтись без этих знаний, есть более приземленные и праткические темы, особенно в контексте языка SQL.
Хотя, если цель книги не научить SQL, а дать общее понимание работы с базами данных, во всём спектре, то может быть такой подход оправдан. Но это спорно.
И в итоге мы имеем не практикум по языку SQL, а теоретическое пособие по базам данных.
В какой-то момент я дошел до SQL-запросов на 93-й странице книги, но не понял на каких данных этот запрос нужно выполнить:

Таблицу STUDENT мы не создавали и не заполняли. И к тому же в книге нет каких-то тренировочных таблиц, как например в SQL быстрое погружение. В общем запрос есть, а проверить его негде. Что опять же, для теоретической книги вполне подойдет.
Почти сразу после этого запроса зачем-то пошли транзакции, и наконец к сотой странице мы подобрались ко второй части книги, которая должна быть про SQL.
Погружение в Access
И тут предлагается использовать Microsoft Access 2016. Довольно оригинально. И далее в книге пошло много про Access с интерфейсами и по-прежнему мало SQL.

И это какое-то нескончаемое пережевывание. Вроде вот-вот начнем, но нет, автора снова унесло в дебри.
В какой-то момент я наткнулся на таблицу, которая была переведена на русский язык:

Ранее я говорил, что обычно это хорошо, но в данном случае получилось не очень. Дело в том, что мы должны сделать к этой таблице SQL-запрос. В запросе надо использовать один из столбцов таблицы — Calories, но в самой таблице «Калории» переведены на русский язык.
А когда мы пишем запросы, то важно, чтобы имена столбцов в запросе совпадали с именами в самой таблице. А тут из-за перевода совпадать не будут. Понятно, что об этом можно догадаться, и что учитывая структуру книги и повествования от нас не ждут, что мы напишем реальный запрос, но в целом всё-равно не очень хорошо.
Да и тот факт, что тут нет возможности тренироваться и попробовать запросы в бою — это наверное главный минус. А также нельзя сравнить свои запросы с тем, что приводит автор, ведь данные он не приводит, так как таблиц нет.
Повышаем сложность
И не смотря на то, что данная книга для чайников, в ней рассматривается рекурсия, представления, транзакции, курсоры, триггеры, хранимые процедуры управление правами доступа. Что скорее подходит для продвинутого курса по SQL, чем для начального.
Также в книге приводится встраивание SQL кода в программы на C++!

А это как вы понимаете совсем не уровень для чайников.
Отсутствие важных тем
При том что на группировки в книге приведено три элементарных примера. И также мало написано про соединение таблиц с помощью JOIN.
В общем, книга получилась странная. Как будто вы попали в ВУЗ, и преподавателю нужно прочитать курс по SQL и базам данных. И он преисполнен желанием и у него есть много информации. Но нет времени на практику. И в зачетке у вас в итоге стоит «SQL», а по факту вы его не знаете и, разумеется, не можете применять.
Так что книгу я не рекомендую. И мы двигаемся далее к «SQL Сборник рецептов».

