Академия информационных систем
SQL для продвинутых
по запросу в будни
О курсе
В программе - продвинутые запросы, CTE, оконные функции, регулярные выражения, индексы, статистика, транзакции, блокировки, JSONB, партиционирование, ETL-подходы, интеграция с Python и использование нейросетей для ускорения работы с SQL.
Слушатели научатся не только писать и оптимизировать сложные запросы, но и использовать серверную логику PostgreSQL, автоматизировать обработку данных и применять современные инструменты для аналитики и разработки.
Кому будет полезен курс
Аналитики данных
BI-разработчики
Backend-разработчики
Инженеры данных
Преимущества нашей программы
Продвинутые навыки SQL для сложных задач: Вы научитесь писать сложные запросы, использовать CTE, оконные функции, регулярные выражения и другие инструменты SQL для аналитики, обработки и подготовки данных в рабочих сценариях.
Фокус на производительности и PostgreSQL: Курс помогает понять, как работают индексы, статистика, планы выполнения, транзакции и блокировки. Это позволяет не просто писать запросы, а делать их устойчивыми и эффективными на реальных объемах данных.
Автоматизация и работа с серверной логикой: Вы освоите функции, процедуры, триггеры, курсоры, JSONB, партиционирование и базовые ETL-подходы. Это расширяет возможности SQL и позволяет решать более сложные прикладные задачи.
Современные инструменты работы с данными: В программе рассматривается использование Python, Superset и нейросетей для ускорения написания запросов, анализа данных и автоматизации рутинных операций без потери контроля над качеством результата.
Программа курса
Модуль 1. Архитектура и серверная логика PostgreSQL
- Введение в РСУБД.Типы таблиц.
- Стандартная таблица (Heap Table). Page.
- Политики работы с данными в Heap Table.
- Fillfactor. Политики обновления. Оптимизация.
- Виртуальные таблицы. Материализованные представления.
- Серверная логика: функции и процедуры PL/pgSQL, соглашения по настройкам (volatility, параметризация).
- Анонимные блоки и блок обработки ошибок.
- Курсоры. Циклы. Условные операторы. Переменные.
- SQL функция и процедура. PL/pgsql функция.
- Политики работы с функциями.
- Опции настроек для функций / процедур.
- Триггеры: BEFORE/AFTER, row/statement, триггеры для аудита и логирования истории записей.
Модуль 2. Продвинутые запросы, CTE, оконные функции и RegExp
- CTE и рекурсивные CTE: паттерны для иерархий, графов, календарей, многослойных агрегаций.
- Сравнение CTE с подзапросами по читаемости и производительности.
- OLAP (GROUP BY, GROUPING SETS, ROLLUP, CUBE, HAVING).
- Оконные функции: стандартные конструкции (OVER, PARTITION BY, ORDER BY).
- Работа с массивами и множествами: ANY, ALL, IN, LATERAL JOIN, UNNEST и типичные паттерны.
- Регулярные выражения: очистка данных, нормализация текстов, поиск аномалий в логах.
- Моделирование данных: нормализация/денормализация, влияние структуры модели на запросы и индексы.
Модуль 3. Оптимизация, индексы, статистика, транзакции и блокировки
- Системные таблицы и их использование.
- Индексирование: B Tree, GIN, BRIN, составные, покрывающие индексы.
- Статистика и планы. EXPLAIN/EXPLAIN ANALYZE, чтение планов, признаки плохих планов (seq scan, nested loop на больших объёмах, неверные оценки).
- Управление статистикой (ANALYZE, расширенная статистика).
- Транзакции. Уровни изоляции, аномалии, deadlock’и, блокировки строк/таблиц, savepoints, транзакции в функциях.
- Точки сохранения (savepoints). Блокировки. Мониторинг.
Модуль 4. JSONB, партиционирование и внешние источники
- JSON/JSONB: хранение, индексация GIN, запросы к вложенным структурам, обновление части документа.
- Партиционирование: range/list/hash, сценарии применения (time series, архивы, event лог).
- Внешние источники и Foreign Data Wrappers (обзорно), сценарии интеграции с другими БД/файлами.
Модуль 5. ETL, Python, Superset и LLM
- Инкрементальный ETL: паттерны инкрементальной загрузки, staging слои, обработка ошибок, логирование.
- Python и PostgreSQL: подключение к БД, bulk загрузки/выгрузки, обработка XLSX/CSV, интеграция между системами.
- Визуализация и дашборды: работа с Superset, базовые паттерны построения дашбордов на основе витрин.
Модуль 6. Использование нейросетей для создания запросов
- Как нейросети могут помочь в написании SQL-запросов разной сложности.
- Что стоит учитывать при работе с нейросетями.
- Генерация SQL по описанию, ревью и оптимизация запросов, объяснение планов, автогенерация тестовых данных; Что такое PROMT и как правильно сформулировать вопрос к РСУБД. Примеры работы.
- Анализ и визуализация данных с помощью нейросетей.
По окончании обучения выдается
Удостоверение о повышении квалификации
Научитесь писать и оптимизировать сложные SQL-запросы
Освоите серверную логику PostgreSQL, транзакции, блокировки и индексы
Разберете ETL-подходы, интеграцию с Python и внешними источниками
Узнаете, как использовать нейросети для ускорения работы с SQL и данными
Как вы будете учиться
Получить персональное предложение