Чему вы научитесь
- Структура данных и транзакции: таблицы, индексы, ACID, дедлоки.
- SQL-запросы: от простых до оконных, JOIN, CTE, подзапросы.
- Оптимизация: EXPLAIN, планы, индексы, настройки производительности.
- Безопасность: роли, шифрование, бэкапы, восстановление.
- Работа с кодом: подключение, ORM vs чистый SQL, пул соединений, защита от SQL-инъекций.
- API: CRUD, пагинация, валидация, ошибки, кэширование.
- Деплой и мониторинг: CI/CD, миграции, контейнеры, логирование, отказоустойчивость.
- Практика: реальные проекты, нагрузка, откаты, масштабирование.
О курсе
Описание курса «PostgreSQL + FastAPI: от основ к реальному API-магазину»
Что тебя ждёт
Курс научит создавать надёжные REST API-сервисы на базе PostgreSQL, используя FastAPI на Python. Мы пройдём весь путь: от установки среды до полноценного магазина с CRUD-операциями, нормализацией, связями, безопасностью и масштабируемостью. Всё с реальными кодовыми примерами и объяснениями.
https://t.me/sqlhub у курса есть канал в телеграмме, куда мы публикуем доп материалы и обеспечиваем поддержку и помощь в решении задач.
Программа курса
1. Установка FastAPI
1.1 Установка FastAPI — знакомство с инструментами, создание первого проекта, настройка структуры.
2. Основы PostgreSQL
2.1 Введение в СУБД и PostgreSQL — что такое реляционная база, зачем нужна PostgreSQL, её сильные стороны, примеры применения.
2.2 Установка и настройка окружения — установка PostgreSQL, настройка пользователя/пароля, запуск/остановка сервиса, базовые настройки.
2.3 Основы работы с PostgreSQL — создание баз, таблиц, простые вставки и чтение данных (SELECT / INSERT), удаление, обновление.
2.4 Типы данных в PostgreSQL — integer, text, varchar, boolean, timestamp и др.; когда что использовать.
2.5 Добавление столбцов — ALTER TABLE, добавление новых полей, выбор правильных типов, значение по умолчанию.
2.6 Очистка таблицы, сортировка и агрегирующие функции — DELETE, TRUNCATE, ORDER BY, COUNT, SUM, AVG, MIN, MAX.
2.7 Группировка данных (GROUP BY) — как группировать, фильтровать группы (HAVING), примеры на реальных данных.
2.8 Работа с базами данных через Python + SQL — подключение, курсоры, транзакции, подготовленные выражения, обработка ошибок.
3. Работа с базой данных в FastAPI
3.1 Что такое API и зачем оно нужно — принципы, зачем разделять frontend и backend, кейсы.
3.2 Обзор REST API — методы HTTP (GET, POST, PUT/PATCH, DELETE), структура эндпоинтов, статусы ответов.
3.3 Настройка FastAPI-проекта — маршруты, схемы (Pydantic), проверки данных, запуск сервера.
3.4 Добавление новой записи через API — endpoint, валидация, запись в базу, возвращаемые данные.
3.5 Обновление и удаление записи — безопасное обновление, PATCH vs PUT, DELETE, обработка ошибок (404, конфликт, дубли).
4. Продвинутый PostgreSQL
4.1 Ограничения (constraints) — PRIMARY KEY, UNIQUE, NOT NULL, FOREIGN KEY, CHECK; зачем и как их применять; ошибки при нарушении ограничений.
4.2 Операции соединения (JOIN) — INNER JOIN, LEFT/RIGHT/FULL JOIN, самосоединения, примеры на заказах и товарах.
4.3 Нормализация базы данных — что такое нормальные формы, зачем нормализовать, примеры нормализации с товарно-заказными системами.
5. API для магазина (практика)
5.1 Создание базы данных для магазина — структура, таблицы (товары, пользователи, заказы, позиции заказа и др.).
5.2 Добавление таблицы с заказами и связями — создание правильно нормализованных таблиц, внешние ключи и ограничения.
5.3 Реализация REST API для магазина — CRUD для товаров, пользователей и заказов; валидация, пагинация, фильтры; корректные HTTP-ответы; обработка ошибок; лучший пользовательский опыт.
Что получишь после курса
- Полное понимание, как устроена PostgreSQL, как правильно хранить данные, как обеспечивать их целостность и безопасность.
- Навык написания эффективных SQL-запросов и понимания работы индексов и планов — чтобы база «летала».
- Умение создавать API-эндпоинты на FastAPI: принимать, валидировать и обрабатывать данные, возвращать нужные статусы и сообщения.
- Практический опыт: завершённый сервис-магазин с базой, API и CRUD-операциями.
- Готовность работать с проектами, где важны надёжность, скорость, масштаб и гибкость.
Для кого этот курс
Начальные требования
Начальные требования**
- Базовое знание Python (переменные, функции, списки, словари, исключения).
- Установленный Python на компьютере и доступ к терминалу/консоли.
- Желание разобраться, как серверная часть приложения (backend) хранит и обрабатывает данные.
Наши преподаватели
Как проходит обучение
Основной формат - текстовые лекции: чёткие объяснения, примеры SQL-кода и фрагменты кода на Python/FastAPI.
- После каждой теоретической темы - практическое задание: SQL-запрос, скрипт на Python, создание/изменение схемы, API-эндпоинт.
- Каждый модуль содержит мини-проект или кейс: постепенное наращивание функциональности (например, таблицы → связи → API операций).
- Курс предполагает самостоятельную работу: установка окружения, взаимодействие с базой, отладка, поиск ошибок и исправления.
- В конце — интеграционный проект: создание полностью функционирующего API-магазина, покрытого CRUD-операциями, валидацией, связями между таблицами, очисткой/обновлением/удалением данных и т.д.
- Возможность получения обратной связи на код (по возможности) или контрольных заданий (если формат курса это предусматривает).
Программа курса
Что вы получаете
- Уверенное владение SQL: создание, чтение, обновление, удаление данных, агрегации, группировки.
- Понимание структуры PostgreSQL: типы данных, индексы, транзакции, ограничения.
- Способность оптимизировать запросы и анализировать планы выполнения.
- Навык работы с PostgreSQL из Python: подключение, обработка ошибок, транзакции.
- Умение создавать REST-API с помощью FastAPI: маршруты, валидация, CRUD, статус-коды.
- Опыт построения полноценного API-сервиса-магазина с базой данных, связ