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

Основным инструментом для взаимодействия с реляционными БД является структурированный язык запросов или же SQL.

Вкратце, на мой взгляд, необходимо знать следующие разделы:

  • стандартные типы данных;

  • простые и вложенные запросы;

  • соединения и изменения данных в таблице;

  • проектирование схемы БД;

  • хранимые процедуры;

  • агрегатные и оконные функции;

  • древовидные структуры и рекурсивные запросы;

  • транзакции;

  • оптимизация запросов;

  • модули расширения.

Теперь перейдем непосредственно к плану обучения.

Основы

Предлагаю начать с замечательного курса на Stepik интерактивный тренажёр по SQL. В данном курсе очень плавно даются все основы сразу же с практическими заданиями.

Для закрепления пройденного материала желательно еще порешать задачки на PostgreSQL Exercises.

Продвинутые темы

Рекомендую приступить к следующему курсу также на Stepik Свободное погружение в СУБД, где уже рассказывается о проектировании схем баз данных, оптимизации запросов и многом другом.

После можно пройти короткий курс на Coursera Advanced Relational Database and SQL.

Также при прохождении вышеперечисленных курсов советую пользоваться для углубления и структурирования информации литературой. Мне понравилась книга «Основы технологий баз данных», Б.А. Новиков, Е.А. Горшкова, Н.Г. Графеева.

Для практики можно использовать LeetCode и решать задачи по SQL уровня medium и выше, если получится.

Дополнительные источники

Всем успехов!

Комментарии (10)


  1. EGA_production Автор
    05.01.2023 18:58

    Уважаемые читатели, я решил написать эту статью в помощь новичкам, решивших изучить SQL, указав на основные моменты, которые необходимо пройти и источники, которые в этом помогут и которыми пользовался лично я. Если на ваш взгляд какие-то моменты были упущены или плохо освящены, то их всегда можно дополнить в комментариях, сделав таким образом очень полезное место, где будет собрана вся полезная инфа в одном месте - это же круто. Всем спасибо.


  1. Z55
    05.01.2023 11:07
    +6

    И где план, да ещё и подробный?


    1. Myclass
      05.01.2023 11:45
      +2

      Что-бы сделать план, надо поставить конкретную цель. SQL за два месяца - это не цель, это так - поверхностное описание желания. Поэтому от статьи получил тоже поверхностное впечатление. Вообще эти лозунги '...за два дня, за два месяца итд. - это всё несерьёзно'. Но. Видать спрос есть, если такое как в статьях, книгах или курсах предлагается.


    1. dopusteam
      05.01.2023 11:49
      +11

      У автора план по публикациям подобных "подробных" планов, нет времени расписывать


  1. EGA_production Автор
    05.01.2023 18:58

    Уважаемые читатели, я решил написать эту статью в помощь новичкам, решивших изучить SQL, указав на основные моменты, которые необходимо пройти и источники, которые в этом помогут и которыми пользовался лично я. Если на ваш взгляд какие-то моменты были упущены или плохо освящены, то их всегда можно дополнить в комментариях, сделав таким образом очень полезное место, где будет собрана вся полезная инфа в одном месте - это же круто. Всем спасибо.


  1. PabloGolobar
    06.01.2023 13:50
    +1

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


    1. GbrtR
      07.01.2023 02:12
      +3

      Второй фейковый аккаунт автора?

      Он бы хоть воды налил через chatgpt, тогда может быть и схавали, а так конечно хлам гонит. В чем смысл не очень понятно.

      Спросил у chatgpt:

      «опиши план обучения соединениям и изменениям данных в таблице используя sql»

      Он ответил за 20 секунд (так для каждого раздела нагенерил, статья готова, плюсов накидают):

      План обучения соединениям и изменениям данных в таблице с использованием SQL может включать в себя следующие шаги:

      1. Ознакомиться с основами языка SQL, включая синтаксис, типы данных, операторы и ключевые слова.

      2. Изучить соединения таблиц (JOIN), в том числе INNER JOIN, OUTER JOIN, CROSS JOIN и т.д. Научиться объединять таблицы в запросах SQL, чтобы выбрать данные из нескольких таблиц одновременно.

      3. Освоить операции изменения данных, такие как INSERT, UPDATE, DELETE. Научиться добавлять, изменять и удалять данные в таблицах.

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

      5. Ознакомиться с транзакциями, чтобы научиться управлять изменением данных в базе данных таким образом, чтобы оно происходило либо полностью, либо не происходило вовсе.

      6. Разработать навыки работы с данными в базе данных, используя конструкции SELECT, WHERE, GROUP BY, HAVING и ORDER BY.

      7. Изучить специальные операторы SQL, такие как UNION, INTERSECT и EXCEPT, которые позволяют соединять результаты нескольких запросов.

      8. Научиться создавать и редактировать хранимые процедуры и функции, чтобы упростить и оптимизировать работу с данными.

      9. Практиковаться в решении реальных задач с использованием SQL, таких как анализ данных, создание отчетов и т.д.


  1. EGA_production Автор
    06.01.2023 14:01
    -1

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


  1. Teppaha
    07.01.2023 11:39

    Еще один хороший курс для новичков - https://www.freecodecamp.org/learn/relational-database/

    Дает базовые навыки по постгрес и консоли линукса.


    1. EGA_production Автор
      07.01.2023 11:40

      Оо, спасибо за дельный ресурс. Побольше бы таких комментариев.


  1. imintsev
    07.01.2023 20:16

    Пишем пару проектов на MS Access

    Смотрим, что получилось в запросах.

    Профит, мы понимаем в SQL