SQLAlchemy: практическая работа с базой данных в Python
Подробнее
Что нужно для старта
- Уверенное владение Python на базовом уровне, понимание основ SQL и общее представление о работе реляционных баз данных.
Что вы получите
- Понимать устройство SQLAlchemy 2.0 и различия Core и ORM
- Подключаться к БД и управлять engine, пулом и сессиями
- Проектировать декларативные ORM-модели
- Описывать связи, ассоциации и каскады
- Реализовывать CRUD и управлять транзакциями
- Писать сложные ORM-запросы
- Избегать и диагностировать проблему N+1
- Использовать SQLAlchemy Core и сырой SQL
- Работать с асинхронным SQLAlchemy
- Выполнять миграции БД с помощью Alembic
Для кого этот курс
- Курс предназначен для Python-разработчиков, backend-разработчиков, которые хотят глубоко разобраться в работе с реляционными базами данных и научиться эффективно использовать SQLAlchemy в реальных проектах.
Программа курса
- Что такое SQLAlchemy?
- Подключение к БД: Dialect, URL, Engine, Pool
- Первый select() запрос (Core vs ORM + Session)
- Result API: Result, ScalarResult, Row
- DeclarativeBase и registry
- MetaData, naming_convention, схемы
- Базовые типы данных
- Расширенные типы данных
- Ограничения и индексы: Unique, Check, составные ключи
- Значения default, server_default, onupdate, вычисляемые поля
- Наследование: Mixin, Single Table, Joined Table, Concrete
- ForeignKey, relationship, back_populates, backref
- Ассоциации: secondary vs association object
- Каскады: cascade, delete-orphan, passive_deletes
- Самоссылочные связи (self-referencing)
- Жизненный цикл Session: expire_on_commit, autoflush
- Создание объектов, append, add, add_all, delete, begin, merge
- Синхронизация через RETURNING + refresh()
- Откат изменений через rollback() и сброс состояния
- Работа с данными (SELECT, UPDATE, DELETE и проекции)
- Обработка ошибок: IntegrityError, NoResultFound, MultipleResults
- Фильтрация и сортировки
- Агрегаты и группировка
- JOIN: INNER и LEFT
- Self-JOIN и алиасы
- Подзапросы
- Оконные функции: over, row_number, сдвиги, агрегаты
- Паттерны пагинации и выбор узких выборок
- Стратегии загрузки и N+1
- Явные стратегии загрузки и контроль ORM-графа
- Узкие ORM-модели и экономичная загрузка данных
- Типичные архитектурные ошибки и транзакции
- Репозиторий в SQLAlchemy
- Table, Column и конструктор выражений
- DDL через метаданные: связи, схемы, индексы, ограничения
- Компиляция/сырой SQL: compile(), text(), bindparams
- Потоковые выборки и большие данные: fetchmany, execution options
- AsyncEngine, AsyncSession, драйверы
- Выполнение: execute, scalars, loader options в await-контексте
- Ошибки и отмена задач
- Инициализация проекта, конфигурация, env.py
- Автогенерация vs ручные ревизии, naming_convention
- Ветвления и merge heads, offline/online
01Введение, подключение и первый запрос
- Что такое SQLAlchemy?
- Подключение к БД: Dialect, URL, Engine, Pool
- Первый select() запрос (Core vs ORM + Session)
- Result API: Result, ScalarResult, Row
02Декларативные модели (SQLAlchemy 2.0)
- DeclarativeBase и registry
- MetaData, naming_convention, схемы
- Базовые типы данных
- Расширенные типы данных
- Ограничения и индексы: Unique, Check, составные ключи
- Значения default, server_default, onupdate, вычисляемые поля
- Наследование: Mixin, Single Table, Joined Table, Concrete
03Связи и каскады
- ForeignKey, relationship, back_populates, backref
- Ассоциации: secondary vs association object
- Каскады: cascade, delete-orphan, passive_deletes
- Самоссылочные связи (self-referencing)
04CRUD и транзакции в ORM
- Жизненный цикл Session: expire_on_commit, autoflush
- Создание объектов, append, add, add_all, delete, begin, merge
- Синхронизация через RETURNING + refresh()
- Откат изменений через rollback() и сброс состояния
- Работа с данными (SELECT, UPDATE, DELETE и проекции)
- Обработка ошибок: IntegrityError, NoResultFound, MultipleResults
05Запросы: от базовых до CTE и окон
- Фильтрация и сортировки
- Агрегаты и группировка
- JOIN: INNER и LEFT
- Self-JOIN и алиасы
- Подзапросы
- Оконные функции: over, row_number, сдвиги, агрегаты
- Паттерны пагинации и выбор узких выборок
06Оптимизация ORM и управление данными
- Стратегии загрузки и N+1
- Явные стратегии загрузки и контроль ORM-графа
- Узкие ORM-модели и экономичная загрузка данных
- Типичные архитектурные ошибки и транзакции
- Репозиторий в SQLAlchemy
07SQLAlchemy Core
- Table, Column и конструктор выражений
- DDL через метаданные: связи, схемы, индексы, ограничения
- Компиляция/сырой SQL: compile(), text(), bindparams
- Потоковые выборки и большие данные: fetchmany, execution options
08Асинхронность
- AsyncEngine, AsyncSession, драйверы
- Выполнение: execute, scalars, loader options в await-контексте
- Ошибки и отмена задач
09Миграции с Alembic
- Инициализация проекта, конфигурация, env.py
- Автогенерация vs ручные ревизии, naming_convention
- Ветвления и merge heads, offline/online
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «SQLAlchemy: практическая работа с базой данных в Python» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 14 сентября 2026 г.

Stepik 

















