Зачем разработчику 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 месяца.
На каком языке проходит курс?
Всё будет на русском: теория, практические задания и вебинары, а ещё чаты с куратором, наставником и другими участниками курса.
У меня останется доступ к курсу после его завершения?
Да, доступ к теоретическим материалам и тренажёру останется у вас навсегда.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.

Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Курс будет стоить меньше, если оплатить его сразу целиком.

Через компанию: юридические лица также могут оплатить курс в Практикуме. Чтобы заказать счёт для оплаты, оставьте заявку на странице для корпоративных клиентов.
В какой валюте можно оплатить курс?
Оплатить курс можно в любой валюте, кроме российских рублей.

Чтобы вам было проще сориентироваться, мы указываем примерную стоимость в долларах США, но списание будет в казахстанских тенге, а конвертация — по курсу вашего банка.

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

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