Всем привет! В прошлой статье я подвел итог первых месяцев моего самостоятельного обучения аналитике данных, а сегодня расскажу о книге, которую взял за основу учебного плана.
Путь в IT я решил начать с изучения языка SQL и для этого выбрал книгу «PostgreSQL. Основы языка SQL» Е.П. Моргунова (здесь хвастался покупкой). Несколько дней назад я закончил с ней работать и по горячим следам пишу свой непрофессиональный отзыв😅 Надеюсь, он поможет кому-то определиться с выбором учебного пособия и для себя.
Отмечу, что книгу я использовал не только как первое руководство по SQL, но и первое руководство по компьютерным технологиям в принципе. Так что этот обзор написан человеком, который три месяца назад не знал разницы между char и varchar, не говоря уже о различии LEFT JOIN и RIGHT JOIN😊
Также хотел бы сказать, что мне очень нравятся книги в мягкой обложке и, признаюсь, это был один из основных критериев при выборе. Знаю, неправильно, пожалуйста, не осуждайте!😄 С другой стороны, мне было приятно держать книгу в руках, поэтому ни о чем не жалею. По этой же причине я купил физическое издание, хотя на сайте PostgresPro можно бесплатно скачать электронную версию в PDF.
Итак, книга.
А точнее сказать, учебник, так как форма подачи материала очень напоминает лекции в вузе. Определения и домашние задания в виде контрольных вопросов после главы присутствуют. Есть даже рекомендуемое распределение академических часов по темам для преподавателей.
Ну и раз это учебник, то здесь нет примеров из личного опыта автора, нет шутливых задачек и неожиданного сюжетного твиста в конце😄 Зато со своей задачей – познакомить новичка с основами работы баз данных и языка SQL – она справляется отлично, честно описывает все, что заявлено в аннотации и оглавлении. Мне остается лишь дать несколько комментариев.
Ранее я уже упоминал, что важным приложением к книге является демонстрационная база данных «Авиаперевозки», созданная компанией PostgresPro. Все тренировочные упражнения выполняются в ней, и она действительно очень крутая, с множеством типов данных, связями таблиц и прочим. Имитирует часть базы данных авиакомпании, ответственную за построение маршрутов и оформление билетов. Если никогда не устанавливали и не работали с базами данных, вначале могут возникнуть сложности. Хоть в книге и есть инструкция по установке и настройке, мне пришлось посмотреть несколько видео на эту тему, чтобы справиться с этой задачей😌
Здесь также встречается еще один момент, который может смутить неподготовленного читателя – в книге очень много внимания уделено командной строке. При описании всех команд и демонстрации результатов подразумевается, что читатель работает в командной строке Windows или терминале Linux без использования графических интерфейсов. Я как ответственный и исполнительный ученик попробовал некоторое время заниматься таким способом, но потом перешел на DBeaver, благо синтаксис SQL-команд не зависит от программы, в которой вы работаете. На результат это никак не скажется.
При чтении книги я допустил небольшую ошибку, но по итогу это даже принесло пользу для кругозора😅 В первых четырех “теоретических” главах автор бегло на небольших примерах рассказывает о языке представления данных (DDL) и языке манипулирования данными (DML). Для человека, который первый раз изучает эту тему, было довольно много непонятных терминов и я самостоятельно с ними разбирался. Гуглил в документации, смотрел Ютуб. Например, в самом начале упоминаются btree-индексы и массивы, и я потратил немало времени, чтобы хоть в общих чертах понять, что имелось в виду. А вот если бы я читал про них ближе к концу книги, мне далось бы это намного быстрее. Потому что, начиная с пятой главы, примеры становятся развернутыми, а описания команд подробными. На этом этапе у меня, наступило облегчение, что не нужно будет до конца книги гуглить каждое второе слово и обучение пошло заметно быстрее😄
Вот так выглядит моя книга после прочтения. Пометил несколько алгоритмов и примеров запросов, которые выглядят так, как будто смогут пригодиться в будущем.
Из минусов этой книги могу только притянуть за уши незначительные отличия структуры скачанной демонстрационной базы от описанной в книге. Ничего существенного, в нескольких местах без нарушения логики изменены типы данных. Также я немного растерялся, когда искал колонки “широта” и “долгота”, которые в актуальной версии БД объединили в одно поле “координаты”.
В качестве итога скажу, что учебное пособие мне очень понравилось. Не самый дружелюбный к новичкам учебник, который я встречал, но материал подается в доступной форме и его достаточно для изучения основ SQL. Есть несколько тем, по которым хотелось бы увидеть больше информации, например, оконные функции и методы оптимизации запросов, но это уже чуть более продвинутый уровень, поэтому претензий к автору нет😇
Могу смело рекомендовать этот учебник новичкам не только в SQL, но и людям, изучающим компьютерные технологии с нуля, так как он дает также и начальное представление о работе баз данных и приложений, которыми мы с вами пользуемся каждый день.