Чему вы научитесь
- Устанавливать PostgreSQL и создавать собственные базы данных
- Писать SQL-запросы с SELECT, WHERE, ORDER BY, LIMIT и DISTINCT
- Работать с NULL, числами, текстом, датами, Boolean, ENUM, JSON и JSONB
- Добавлять, изменять и удалять данные через INSERT, UPDATE и DELETE
- Использовать возможности PostgreSQL RETURNING и UPSERT через ON CONFLICT
- Применять агрегатные функции, GROUP BY и HAVING
- Проектировать связи One-to-One, One-to-Many и Many-to-Many
- Объединять таблицы с помощью INNER, LEFT, RIGHT, FULL и SELF JOIN
- Использовать подзапросы, EXISTS, CTE и рекурсивные CTE
- Создавать B-tree, Hash, GIN, GiST, составные и частичные индексы
- Анализировать запросы с помощью EXPLAIN и EXPLAIN ANALYZE
- Понимать работу планировщика запросов PostgreSQL
- Находить причины медленных запросов и проблемы N+1
- Работать с транзакциями, ACID и уровнями изоляции
- Понимать причины deadlock и способы их предотвращения
- Использовать ограничения NOT NULL, UNIQUE, CHECK и FOREIGN KEY
- Создавать VIEW и MATERIALIZED VIEW
- Работать с пользовательскими функциями, процедурами и триггерами
- Подключать PostgreSQL к приложениям и использовать пулы соединений
- Защищать SQL-запросы от SQL-инъекций
- Выполнять миграции схемы базы данных
- Настраивать роли, права доступа, резервное копирование и восстановление
- Применять нормализацию и денормализацию при проектировании схем
- Проектировать PostgreSQL-базы с учётом производительности и нагрузки
О курсе
Для кого этот курс
Начальные требования
Предварительное знание PostgreSQL не требуется
Знание SQL не требуется: курс начинается с основ
Опыт программирования не обязателен
Понадобится компьютер, на который можно установить PostgreSQL
Желательно уверенно работать с файлами и устанавливать программы
Преподаватели курса
Как проходит обучение
Обучение построено от простого к сложному. Сначала Вы изучаете новую возможность PostgreSQL или конструкцию SQL, разбираете примеры, а затем закрепляете материал тестами и практическими заданиями.
По мере прохождения курса задачи переходят от простых SELECT-запросов к JOIN, CTE, индексам, транзакциям, EXPLAIN ANALYZE и проектированию схем базы данных.
Отдельное внимание уделяется не только синтаксису, но и причинам поведения PostgreSQL: работе индексов, планировщика запросов, транзакций, ограничений и механизмов целостности.
Курс можно проходить в собственном темпе и возвращаться к пройденным материалам для повторения.
Что вы получите
- Системное понимание PostgreSQL и SQL
- Навык написания SQL-запросов от SELECT до сложных CTE
- Практический опыт работы с JOIN, агрегатами и изменением данных
- Понимание PostgreSQL-типов данных, JSON и JSONB
- Навыки создания и выбора подходящих индексов
- Умение анализировать запросы через EXPLAIN и EXPLAIN ANALYZE
- Понимание транзакций, изоляции и взаимных блокировок
- Навыки проектирования таблиц, связей и ограничений целостности
- Понимание VIEW, функций, процедур и триггеров
- Базовые навыки администрирования и мониторинга PostgreSQL
- Понимание нормализации, денормализации и проектирования схем под нагрузку
- Базу для использования PostgreSQL в backend-приложениях
- Сертификат Stepik после успешного завершения курса