Курс: SQL для разработки
Продолжительность курса: 40 ак. ч.
Описание курса:
В рамках данного курса вы научитесь оптимизировать SQL-запросы, работать с хранимыми процедурами и пользовательскими функциями, менять базы и таблицы под разные задачи.
Аудитория:
• Разработчики с опытом и без;
• Опытные аналитики;
• Инженеры тех. поддержки;
• DevOps-инженеры;
• QA-инженеры;
• Специалисты по Data Science.
Необходимая подготовка:
Опыт разработки, базовые знания SQL.
Программа курса:
Модуль 1. Основы SQL и проектирования баз данных:
• Устройство СУБД PostgreSQL: архитектура, основные компоненты, установка и настройка;
• Язык SQL: операции определения данных (CREATE, ALTER, DROP) для создания объектов БД;
• Язык манипулирования данными (SELECT, INSERT, UPDATE, DELETE): работа с таблицами;
• Нормализация баз данных: понятие нормальных форм, устранение дублирования информации;
• Взаимосвязи между таблицами: типы связей, внешние ключи;
• Работа с функциями обработки данных: агрегатные, скалярные, группировка;
• Практическое задание. Cоздание базы данных с учетом принципов нормализации, написание аналитических запросов.
Модуль 2. Продвинутый SQL и анализ данных:
• Подзапросы и общие табличные выражения (CTE) для упрощения сложных запросов;
• Использование оконных функций для анализа данных: RANK, ROW_NUMBER, PARTITION BY;
• Создание и использование представлений (views) для абстракции данных;
• Работа с продвинутыми типами данных: JSONB, массивы, диапазоны;
• Хранение и обработка географических данных: типы POINT, GEOMETRY, работа с PostGIS (базовый уровень);
• Транзакции и блокировки: управление целостностью данных при параллельном доступе;
• Практическое задание. Построение таблиц с использованием сложных типов данных и реализация аналитических запросов.
Модуль 3. Серверное программирование на SQL:
• Введение в серверное программирование: преимущества и сценарии использования;
• Создание пользовательских функций и процедур для автоматизации задач;
• Передача и обработка параметров в подпрограммах;
• Язык PL/pgSQL: условные конструкции, циклы, обработка исключений;
• Разработка триггеров для автоматического выполнения действий при изменении данных;
• Практическое задание. Разработка собственных функций и процедур для бизнес-логики.
Модуль 4. ORM и оптимизация SQL-запросов:
• Технология ORM: принципы работы, интеграция с приложениями. Работа с миграциями;
• Общие подходы к оптимизации SQL-запросов: выявление «узких мест»;
• Переписывание запросов для повышения производительности;
• Использование индексов как способа ускорения выборки данных;
• Анализ плана выполнения запроса: чтение EXPLAIN, понимание стоимости операций;
• Практическое задание. Диагностика и оптимизация медленных запросов в реальном приложении.
Окончательная цена указывается в договоре на обучение.
Записаться на курс