Чему вы научитесь
- Создавать и настраивать Engine, Session и AsyncSession в SQLAlchemy 2.0
- Описывать таблицы и ORM-модели с помощью современного типизированного синтаксиса Mapped и mapped_column
- Выполнять CRUD-операции через SQLAlchemy Core и ORM
- Строить запросы с фильтрацией, сортировкой, пагинацией, агрегатами и JOIN
- Проектировать связи one-to-many, one-to-one и many-to-many
- Настраивать каскады, удаление зависимых объектов и ограничения внешних ключей
- Выбирать стратегии загрузки связей и устранять проблему N+1
- Создавать и применять миграции базы данных с помощью Alembic
- Управлять транзакциями, flush, commit, rollback и состояниями ORM-объектов
- Выполнять асинхронные запросы с create_async_engine и AsyncSession
- Обрабатывать IntegrityError и правильно организовывать жизненный цикл Session
- Защищать текстовые SQL-запросы от инъекций с помощью bind-параметров
- Просматривать сгенерированный SQL и проводить базовый анализ запросов через EXPLAIN
- Тестировать код, работающий с базой данных, с помощью pytest, фикстур и rollback
О курсе
Для кого этот курс
Начальные требования
Базовое знание Python: функции, классы, типы данных, условия и циклы
Понимание основ объектно-ориентированного программирования
Базовое представление о таблицах, строках, первичных и внешних ключах
Желательно знать основные SQL-команды SELECT, INSERT, UPDATE и DELETE
Установленный Python и умение создавать виртуальное окружение
Предварительный опыт работы с SQLAlchemy не требуется
Преподаватели курса
Как проходит обучение
Курс состоит из последовательных теоретических уроков и практических заданий
Каждая новая тема объясняется на небольших примерах и развивается на общей модели приложения для управления проектами
После каждого урока предлагаются задания для самостоятельного выполнения и точные критерии самопроверки
Вы будете постепенно создавать модели пользователей, профилей, проектов, задач, тегов и связей между ними
В примерах используется современный синтаксис SQLAlchemy 2.0
Практика охватывает синхронную и асинхронную работу, миграции, транзакции, безопасность и тестирование
Для обучения достаточно локальной SQLite, а примеры также объясняют особенности работы с PostgreSQL
Что вы получите
- Системное понимание SQLAlchemy 2.0 — от Engine и Core до ORM и AsyncSession
- Практические навыки проектирования моделей и связей для реальных приложений
- Умение писать безопасные, предсказуемые и производительные запросы
- Опыт работы с миграциями Alembic, транзакциями и обработкой ошибок
- Навыки устранения N+1 и выбора подходящей стратегии загрузки отношений
- Готовые шаблоны организации Session в обычных и асинхронных приложениях
- Практику тестирования слоя базы данных с помощью pytest и фикстур
- Учебный проект предметной области с пользователями, проектами, задачами и тегами
- Материал, к которому можно возвращаться как к справочнику при разработке Python-приложений