Подведение итогов трех месяцев самостоятельного IT-обучения – #10-02/24

Прошло почти три месяца моего активного обучения аналитике данных и в первую очередь языку SQL. Начинал я в режиме «пара часов после работы», но быстро понял, что получается ерунда и такими темпами смена профессии сильно затянется. Поэтому в конце ноября я уволился с насиженного места, сообщил вам об этом, и полностью посвятил себя повышению компьютерной грамотности😏

Бардак только для фото ;)
Бардак только для фото ;)

И вот, после трех месяцев занятий, нужно бы подвести первые итоги. Сейчас, оглядываясь назад, есть чувство, что за это время можно было бы добиться и бо́льших результатов. Успокаиваю себя тем, что начинал я с чистого листа, не зная практически ничего конкретного ни о мире IT, ни о построении самостоятельного обучения.

Да, имея базу профильных школьных или университетских знаний, можно намного быстрее освежить в памяти, например, информацию о типах данных. Про integer, real и varchar у меня были смутные воспоминания из уроков информатики, но десять лет на заводе стерли из мозга эту информацию. В любом случае, своими результатами я доволен😎

Итак, чем я занимался и что успел изучить за эти три месяца?

Самое главное, как мне кажется, удалось отладить сам алгоритм обучения и настроить рабочее место с необходимыми программами, сайтами и сервисами (рассказывал об этом здесь и здесь). Если в самом начале я метался от одного онлайн-курса к другому, не понимал, с чего начать и к чему нужно прийти, то теперь у меня есть понимание минимальных навыков, необходимых для начала собеседований и выполнения тестовых заданий.

Для того, чтобы не расслабляться или наоборот, не углубляться чрезмерно в какие-либо темы, сделал вот такое простенькое расписание с основными вехами.

Расписание занятий на ближайшее будущее
Расписание занятий на ближайшее будущее

А теперь по пунктам, но сразу оговорюсь, что все нижеперечисленное я изучил на относительно элементарном уровне, не углубляясь в нюансы и тонкости. Говорят, хорошие программисты учатся всю жизнь, так что все еще впереди😊

1. Познакомился с теорией баз данных: что такое, из чего состоят, как работают. Хранилище данных (DWH), база данных (DB), реляционная модель, первичный и внешний ключ – это все отсюда. Как завещал Шерлок Холмс, в решении вопросов нужно двигаться от общего к частному и теория построения и функционирования баз данных – как раз самый общий и самый первый этап, с которым нужно ознакомиться будущему аналитику.

2. Типы данных. Позабытая мной школьная и университетская программа😅 Числовые, строковые и логические типы были отдаленно знакомы. Типы дата/время и массив потребовали первых усилий для осмысления и запоминания. А вот с новым для меня типом JSON (JavaScript Object Notation) возникли небольшие трудности. Несколько дней я разбирался, что это за зверь.

3. DDL (data definition language) – язык определения данных. Основные моменты, связанные с созданием и редактированием таблиц, а также с установкой в них различных ограничений и связей. CREATE TABLE, ALTER TABLE и различные их модификации, вроде, ON DELETE CASCADE😈

4. DML (data manipulation language) – язык манипулирования данными. Вставка новых и удаление старых записей, изменение в таблицах уже существующих данных, а самое главное – различные вариации команды SELECT, предназначенной для выборки необходимой информации из таблиц и ее представление в удобном для чтения и анализа виде.

5. Использование команды SELECT – тема довольно обширная, поэтому подробнее расскажу, что в ее рамках изучил и опробовал на практике. Помимо относительно простых запросов и подзапросов с использованием условий WHERE и CASE, агрегатных функций SUM, AVG, MIN, MAX, были и две большие темы, которые вызвали у меня затруднения: запрос данных из нескольких таблиц с использованием JOIN и оконные функции. И если с JOIN я более-менее разобрался (спасибо упражнениям на sql-ex.ru🙏), то с оконными функциями нужно будет еще поработать.

Рабочий стол понемногу обрастает шпаргалками :)
Рабочий стол понемногу обрастает шпаргалками :)

6. Ну и еще упомяну, что практические упражнения я начинал хардкорно выполнять в командной строке, но быстро перешел в графический интерфейс DBeaver. Его тоже запишем в освоенные инструменты😅

Само собой, за это время набралась пара десятков просмотренных обучающих видео, прослушанных подкастов и прочитанных статей. В какую-либо категорию их отнести сложно, скорее они были из разряда «для общего IT-развития»😄

P.S. За время изучения учебника у меня накопились вопросы, которые я бы хотел изучить поподробнее.

Список для дополнительного изучения
Список для дополнительного изучения

Ко времени следующей статьи постараюсь закрыть эти вопросы, закончить с последними главами, посвященными индексам и оптимизации запросов и написать небольшой отзыв на этот учебник (спойлер: очень доволен наполнением и подачей материала)

До новых встреч!😉

107107
136 комментариев

SELECT success FROM education WHERE name='retrozerg';
Удачи!

20
Ответить

(0 rows affected)

27
Ответить

Класс😄 Большое спасибо!

4
Ответить

С оконными функциями постарайтесь поглубже вникнуть.
На собесах любят такие задачки давать, типа:

Есть бухгалтерский журнал.
Каждая страница маркирована датой.
Некоторые страницы вырваны.
Напишите запрос, отображающий, страниц за какие даты не хватает.

А я, когда собеседовал, любил задавать такую задачу:

Посчитай количество букв о в слове молоко одним селектом.
Задача простая - интересно посмотреть, как человек мыслит, решая ее.

10
Ответить

Посчитай количество букв о в слове молоко одним селектомЗадача интересная, правда на практике нигде не применима, тем паче получить данные и посчитать в коде гораздо проще чем нагружать бд, имхо

4
Ответить

Да, над оконками нужно будет посидеть. А насчет собеседований несколько раз слышал, что дают задачи и вопросы, которые с работов в конкретной компании совсем не связаны, просто рандомные вопросы по теории. Правда? Бывает такое?

Ответить

Здорово, когда процесс обучения чему-то новому доставляет столько удовольствия. А судя по описанному и тому, как подходишь к изучению материала - все именно так.

Так что тут могу лишь пожелать успехов и воплощения всего задуманного :)

5
Ответить