То, что данные называют нефтью 21 века известно уже давно: на них учатся нейросети, их мгновенная обработка и передача сильно упростили нашу жизнь, и одной из самых распространенных структур хранения данных является реляционная. Именно с ней знакомы большинство разработчиков и, скорее всего, знания как с ней работать вам тоже понадобятся.
Основным инструментом для взаимодействия с реляционными БД является структурированный язык запросов или же SQL.
Вкратце, на мой взгляд, необходимо знать следующие разделы:
стандартные типы данных;
простые и вложенные запросы;
соединения и изменения данных в таблице;
проектирование схемы БД;
хранимые процедуры;
агрегатные и оконные функции;
древовидные структуры и рекурсивные запросы;
транзакции;
оптимизация запросов;
модули расширения.
Теперь перейдем непосредственно к плану обучения.
Основы
Предлагаю начать с замечательного курса на Stepik интерактивный тренажёр по SQL. В данном курсе очень плавно даются все основы сразу же с практическими заданиями.
Для закрепления пройденного материала желательно еще порешать задачки на PostgreSQL Exercises.
Продвинутые темы
Рекомендую приступить к следующему курсу также на Stepik Свободное погружение в СУБД, где уже рассказывается о проектировании схем баз данных, оптимизации запросов и многом другом.
После можно пройти короткий курс на Coursera Advanced Relational Database and SQL.
Также при прохождении вышеперечисленных курсов советую пользоваться для углубления и структурирования информации литературой. Мне понравилась книга «Основы технологий баз данных», Б.А. Новиков, Е.А. Горшкова, Н.Г. Графеева.
Для практики можно использовать LeetCode и решать задачи по SQL уровня medium и выше, если получится.
Дополнительные источники
SQL Tutorial – вводный курс от Amigoscode.
SQL-ex – ещё один сайт для практики.
Документация PostgreSQL.
Всем успехов!
Комментарии (10)
Z55
05.01.2023 11:07+6И где план, да ещё и подробный?
Myclass
05.01.2023 11:45+2Что-бы сделать план, надо поставить конкретную цель. SQL за два месяца - это не цель, это так - поверхностное описание желания. Поэтому от статьи получил тоже поверхностное впечатление. Вообще эти лозунги '...за два дня, за два месяца итд. - это всё несерьёзно'. Но. Видать спрос есть, если такое как в статьях, книгах или курсах предлагается.
dopusteam
05.01.2023 11:49+11У автора план по публикациям подобных "подробных" планов, нет времени расписывать
EGA_production Автор
05.01.2023 18:58Уважаемые читатели, я решил написать эту статью в помощь новичкам, решивших изучить SQL, указав на основные моменты, которые необходимо пройти и источники, которые в этом помогут и которыми пользовался лично я. Если на ваш взгляд какие-то моменты были упущены или плохо освящены, то их всегда можно дополнить в комментариях, сделав таким образом очень полезное место, где будет собрана вся полезная инфа в одном месте - это же круто. Всем спасибо.
PabloGolobar
06.01.2023 13:50+1Не понимаю за что такой хейт данного поста. От меня лично СПАСИБО АВТОРУ за краткий и полный подбор материалов. Я сам лично пару месяцев назад решил вникнуть в SQL и когда начал искать подходящие материалы наткнулся на кучу шлака, мне бы лично, данный пост очень помог. Считаю что данный пост может очень помочь начинающим в этом деле, и как по мне план вполне себе подробный, учитывая что пройдя все перечисленные пункты у обучающегося будет четкое понимание, что и где ему следует подтянуть в дальнейшем.
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, таких как анализ данных, создание отчетов и т.д.
EGA_production Автор
06.01.2023 14:01-1Спасибо большое за теплые слова. Честно говоря, когда я сам учился, то очень много времени уходило на поиск хорошей инфы и т. о. я решил сделать что-то полезное для новичков. Если мои статьи помогут хотя бы одному человеку в своих начинаниях, то я буду очень рад.
Teppaha
07.01.2023 11:39Еще один хороший курс для новичков - https://www.freecodecamp.org/learn/relational-database/
Дает базовые навыки по постгрес и консоли линукса.
imintsev
07.01.2023 20:16Пишем пару проектов на MS Access
Смотрим, что получилось в запросах.
Профит, мы понимаем в SQL
EGA_production Автор
Уважаемые читатели, я решил написать эту статью в помощь новичкам, решивших изучить SQL, указав на основные моменты, которые необходимо пройти и источники, которые в этом помогут и которыми пользовался лично я. Если на ваш взгляд какие-то моменты были упущены или плохо освящены, то их всегда можно дополнить в комментариях, сделав таким образом очень полезное место, где будет собрана вся полезная инфа в одном месте - это же круто. Всем спасибо.