Зачем разработчику SQL

Для разработчика SQL — это мост между программой и данными, которые хранятся в базе. Этот язык использует большинство IT-компаний — от местных интернет-магазинов до международных онлайн-сервисов, таких как Google, Microsoft, Uber.

Знание SQL повысит вашу конкурентоспособность. С новыми навыками выбор компаний и вакансий станет больше, а ещё вы сможете претендовать на более высокую зарплату в новой компании или на текущем месте работы.

Чему вы научитесь

  • Оптимизировать SQL-запросы, в том числе написанные ORM
  • Делать выборки любой сложности, менять базы под разные задачи
  • Работать с хранимыми процедурами и пользовательскими функциями
  • Использовать расширение PL/pgSQL
  • Использовать триггеры
  • Работать с геоданными

Инструменты и концепции, которые вы освоите

SQL
PostgreSQL
PL/pgSQL
PgAdmin
psql
Геоданные
Триггеры
Транзакции
Хранимые процедуры
Индексы

Что ждёт вас на курсе

YandexGPT помогает учиться

Когда в теории что-то непонятно, нейросеть объяснит это другими словами. А в конце каждого урока подготовит краткий пересказ о самом главном.

Программа курса

Рассчитана на 4 месяца и подразумевает последовательное прохождение уроков. Чтобы полноценно усвоить программу, на учёбу стоит закладывать от 10 часов в неделю.
30 минут
Бесплатно
Вводная часть
1 модуль — бесплатно, чтобы вы познакомились с форматом обучения и поняли, подходит ли он вам
  • SQL
  • SELECT
  • Псевдонимы
  • WHERE
SQL и разработка
Узнаете, зачем разработчику язык SQL и чему именно вы научитесь на курсе
Как устроена учёба
Поймёте, из чего состоит программа, что понадобится для занятий и кто будет помогать вам учиться
Пройдёте несколько демоуроков, увидите, как мы даём теорию, и попробуете свои силы в тренажёре
1
6 тем・1 проект・3 недели
Основы SQL и баз данных
Познакомитесь с общей структурой баз данных и их разновидностями. Установите несколько программ-клиентов для работы с PostgreSQL. Научитесь создавать и удалять базы данных и таблицы, наполнять и редактировать их.
  • PostgreSQL
  • PgAdmin
  • Psql
  • DDL-запросы
  • CRUD-запросы
  • Нормализация
  • JOIN
  • Группировка
Устройство PostgreSQL
Модели данных, основные объекты баз данных, СУБД PostgreSQL, клиенты pgAdmin и psql, основные команды psql, работа с базой данных через pgAdmin
Основы SQL: язык определения данных
Разделы SQL, базовые типы данных, создание и удаление баз данных, схем и таблиц, ограничения, первичные ключи, изменение таблиц, стиль запроса
Основы SQL: язык манипулирования данными
INSERT: вставка данных в таблицу, SELECT: выборка данных из таблицы, сортировка, ограничение и смещение выборки, CAST: преобразование типов, условный оператор CASE
Нормализация БД. Взаимоотношения между таблицами
Нормальные формы (1–3 НФ), денормализация, связи между таблицами, создание внешних ключей, чтение ER-диаграмм
Связанные таблицы
Декартово произведение таблиц, соединение таблиц с помощью разных типов JOIN, объединение (UNION), пересечение и вычитание результатов запросов, обновление и удаление связанных таблиц
Функции для обработки данных
Математические функции, агрегирующие функции, группировка данных, фильтрация сгруппированных данных c помощью HAVING, операторы и функции для работы со временем и строками, функция генерации последовательностей GENERATE_SERIES
Создадите базу данных для автосалона «Врум‑Бум», нормализуете данные и структурируете их, напишете аналитические запросы
2
6 тем・1 проект・3 недели
Продвинутый SQL для работы с данными
Поймёте, как применять оконные функции и подзапросы. Научитесь использовать представления views и materialized views. Узнаете, как работать с продвинутыми типами данных, и познакомитесь с транзакциями и блокировками.
  • Подзапросы
  • СТЕ
  • Оконные функции
  • Представления
  • Геоданные
  • Транзакции
  • Блокировки
  • Работа с дампами
Подзапросы и общие табличные выражения
Подзапросы во FROM, подзапросы в WHERE, сочетание подзапросов и соединений, запросы с общими табличными выражениями (СТЕ), рекурсивные запросы
Оконные функции
Понятие «окно», ключевые слова OVER и PARTITION BY, применение агрегирующих оконных функций, функций ранжирования ROW_NUMBER и RANK, функций смещения LEAD и LAG
Представления
Обычные представления (views) и материализованные представления (materialized views), создание, удаление и изменение представлений
Продвинутые типы данных
UUID, массивы, JSON и JSONB, пользовательские типы данных, enum, составной тип
Геоданные
Расширение PostGIS, типы геоданных, разновидности объектов, форматы представления (WKT, WKB, GeoJSON), идентификатор системы пространственной привязки SRID, расчёт расстояний и площадей, взаимодействие объектов
Транзакции и блокировки
ACID-требования к транзакциям, откат транзакции ROLLBACK, точки сохранения SAVEPOINT, уровни изоляции транзакций, блокировки строк и таблиц, взаимные блокировки
Построите таблицы с продвинутыми типами данных для сети ресторанов Gustro Hub
3
5 тем・1 проект・3 недели
Серверное программирование на SQL
Узнаете, в чём различия использования и синтаксиса хранимых процедур и пользовательских функций. Изучите основы процедурного языка PL/pgSQL. Научитесь создавать хранимые процедуры, пользовательские функции и триггеры.
  • Пользовательские функции
  • Хранимые процедуры
  • PL/pgSQL
  • Параметры подпрограмм
  • Управляющие конструкции
  • Триггеры
Знакомство с серверным программированием
Инструменты серверного программирования: функции, процедуры, триггеры, процедурные языки программирования
Создание процедур и функций
Создание пользовательских процедур и функций, входные параметры, использование переменных, исключения, написание подпрограмм под бизнес-задачу
Параметры подпрограмм
OUT- и INOUT-параметры, значения параметров по умолчанию, перегруженные функции
PL/pgSQL. Управляющие конструкции
Оператор ветвления IF, оператор выбора CASE, использование циклов WHILE, FOR и FOREACH, управление циклами
Триггеры
Создание триггеров и триггерных функций, объекты NEW и OLD, основные триггерные переменные
Создадите функции и пользовательские процедуры для системы управления персоналом «Всё записано»
4
5 тем・1 проект・3 недели
Технология ORM. Оптимизация запросов
Поймёте, что такое ORM-технологии и где они используются. Узнаете, что такое индексы, научитесь их создавать и применять. Изучите принципы оптимизации запросов: от планирования базы данных до чтения плана запроса.
  • ORM-технология
  • Миграции
  • Статистика запросов
  • Партицирование таблиц
  • Индексы
  • План запроса
Технология ORM. Миграции
Преимущества и недостатки ORM‑технологии, генерация неоптимальных запросов ORM и как это разрешать, работа с миграциями
Общие подходы к оптимизации
Декомпозиция задачи, планировщик запросов, инструменты оптимизации на уровне структуры базы данных
Оптимизация с помощью перестройки запроса
Оптимизация трафика, вычислений и чтения данных на уровне SQL‑запросов, соединения и общие табличные выражения (СТЕ), оператор проверки существования строк EXISTS
Индексы как способ ускорения запросов
Устройство и виды индексов, индексы B-Tree, GiSТ и GIN, частичные и покрывающие индексы, статистика использования индексов
Чтение и анализ плана запроса
Чтение плана, базовые операции плана запроса, операции чтения и соединения таблиц, оптимизация с помощью анализа плана запроса
Оптимизируете ряд медленных запросов к базе данных сервиса доставки еды Gastro Hub Delivery

Отвечаем на вопросы

За 4 месяца правда можно изучить SQL?
Да, если уделять занятиям не меньше 10 часов в неделю, выполнять практические задания и общаться с наставниками.
Я научусь разрабатывать архитектуру баз данных?
Нет, в этом курсе мы учим оптимизировать уже существующие базы данных и даём основы их нормализации и денормализации.
Какая будет нагрузка?
Курс длится 4 месяца при условии, что вы будете заниматься около 10 часов в неделю.

Вебинары проходят в назначенное время, а если у вас не получится подключиться, мы предоставим запись. Выполнять задания в тренажёре можно в любое удобное время — доступ к ним остаётся у вас навсегда.
Если не понравится, я могу вернуть деньги?
Да, причём в любой момент. Если обучение в потоке уже началось, придётся оплатить прошедшие дни — но мы вернём деньги за оставшееся время обучения. Более подробно рассказываем об этом в седьмом пункте оферты.
Какой документ я получу по окончании курса?
Если у вас есть среднее профессиональное или высшее образование, после курса получите удостоверение о повышении квалификации.

Если у вас среднее образование, выдадим сертификат о прохождении курса и справку об обучении в электронном виде.

Чтобы получить эти документы, нужно окончить курс за 4 месяца.
Можно ли оплатить курс за счёт работодателя?
Да, работодатель может оплатить учёбу полностью или разделить оплату с вами: например, поделить сумму 50/50 или 75/25.

Такая оплата пройдёт по счёту или двустороннему договору, а ИП могут оплатить с бизнес-счёта. Если работодатель купит обучение сразу 10 и больше сотрудникам, сделаем скидку 10%.

Чтобы получить счёт на оплату через компанию, оставьте заявку или напишите нам в чат поддержки.
Что такое налоговый вычет на обучение и как его получить?
Налоговый вычет может оформить тот, кто работает по трудовому договору и является налоговым резидентом Российской Федерации, то есть 183 дня в году находится на территории страны.

Для этого нужно подать заявление на налоговый вычет через личный кабинет на сайте nalog.ru (в него можно войти через аккаунт на Госуслугах).

К заявлению нужно приложить:
•‎ Справку 2-НДФЛ от работодателя.
•‎ Договор на обучение, в вашем случае это оферта Практикума.
•‎ Лицензию на образовательную деятельность. Вот наша.
•‎ Чек об оплате обучения. Мы отправляем его на электронную почту. Если не найдёте чек у себя в почте, напишите в чат службы поддержки — вышлем копию.
•‎ Справку о получении образовательных услуг — её тоже нужно запросить в чате поддержки.

Подробнее о налоговом вычете — на сайте Федеральной налоговой службы.
У меня останется доступ к курсу после завершения обучения?
Да, доступ к теоретическим материалам и тренажёру останется у вас навсегда.

Давайте поможем

Мы перезваниваем в течение 30 минут каждый день с 10:00 до 19:00. Если оставите заявку сейчас, то перезвоним уже в рабочее время.