Описание
[Кирилл Сачков] Реляционные базы данных в веб приложениях (2025)
Реляционные базы данных в веб приложениях [Кирилл Сачков]
![[Кирилл Сачков] Реляционные базы данных в веб приложениях (2025)](https://freekurses.site/wp-content/uploads/kirill-sachkov-relyatsionnye-bazy-dannyh-v-veb-prilozheniyah-2025.png)
Фундаментальное изучение работы с реляционными базами данных в .NET приложениях на практике.
Освойте PostgreSQL, Entity Framework Core и Dapper для создания эффективных и масштабируемых решений с правильной архитектурой доступа к данным и производительными запросами.
Почему этот интенсив?
- Глубокое понимание баз данных: от теории ACID до практической реализации сложных запросов
- Два подхода к работе с данными: изучите как ORM (Entity Framework Core), так и микро-ORM (Dapper)
- Практические кейсы: реальный проект системы бронирования мест с решением типичных проблем
- Производительность и оптимизация: научитесь писать эффективные SQL запросы и управлять транзакциями
- Современные подходы: Repository pattern, CQS, управление транзакциями и блокировки, индексы
- Правильная архитектура: Clean Architecture, CQRS
Для кого этот интенсив:
- Разработчики, которые хотят научиться работать с реляционными базами данных в .NET приложениях.
- Все, кто хочет научиться проектировать и реализовывать сложные схемы баз данных с правильными связями и ограничениями.
- Разработчики, которые хотят углубить знания в работе с базами данных в .NET приложениях.
- Те, кто хочет научиться проектировать эффективную архитектуру доступа к данным.
- Разработчики, работающие с Entity Framework Core и желающие освоить альтернативные подходы.
- Все, кто хочет понять, как решать проблемы производительности и параллельного доступа к данным.
Результат:
- Вы сможете проектировать и реализовывать сложные схемы баз данных с правильными связями и ограничениями.
- Освоите как Entity Framework Core, так и Dapper с SQL запросами для разных сценариев использования.
- Научитесь оптимизировать запросы, управлять транзакциями и решать проблемы параллельного доступа.
- Получите практический опыт создания масштабируемой архитектуры доступа к данным.
Программа курса:
Урок 1. Основы PostgreSQL и теория баз данных
Урок 2. Проектирование доменных моделей и связей между сущностями
Урок 3. Настройка окружения и начало работы с базой данных
Урок 4. Конфигурации Entity Framework Core и создание миграций
Урок 5. Работа с DbContext, ChangeTracker и операции вставки
Урок 6. Операции обновления и удаления, массовые операции
Урок 7. Правильная архитектура репозиториев и управление транзакциями
Урок 8. Реализация функционала бронирования и бизнес-логики
Урок 9. Параллельные операции и изоляция транзакций
Урок 10. Практическое применение пессимистичной блокировки
Урок 11. Сидирование базы данных и автоматизация
Урок 12. Архитектура запросов на чтение данных
Урок 13. Сложные SQL запросы и оптимизация
Урок 14. Фильтрация, пагинация и агрегация данных
Урок 15. Продвинутые техники работы с Dapper
Урок 16. Гибкая сортировка и продвинутые запросы
Урок 17. Работа с индексами и оптимизация запросов
- PostgreSQL — что это и почему выбирают эту СУБД
- Разница между СУБД и БД, понятие схемы
- Устройство таблиц и хранение данных в PostgreSQL
- Ключи: Primary Key и Foreign Key
- SERIAL vs UUID (GUID) — выбор типа идентификатора
- Отношения между таблицами: один ко многим, один к одному, многие ко многим
- Принципы ACID: Atomicity, Consistency, Isolation, Durability
- Что такое транзакции и зачем они нужны
- Индексы: назначение, виды, плюсы и минусы
- B-tree индексы и составные индексы
Урок 2. Проектирование доменных моделей и связей между сущностями
- Подход Code First в проектировании моделей
- Создание проекта ASP.NET Core Web API
- Проектирование сущностей с использованием богатых моделей
- Установка связей между классами
- Работа с nullable reference types
- Проектирование связей
- Реализация связей между модулями
- Проектирование системы бронирования
- Группировка классов по модулям
Урок 3. Настройка окружения и начало работы с базой данных
- Запуск PostgreSQL с помощью Docker
- Обзор и настройка docker-compose файла
- Работа с pgAdmin для управления базой данных
- Сравнение подходов Database First и Code First
- Понятие миграций в Entity Framework
- Создание DbContext для работы с базой данных
- Паттерн Repository
- Работа с базой данных без ORM: чистый SQL
- Параметризованные SQL-запросы для безопасности
Урок 4. Конфигурации Entity Framework Core и создание миграций
- Глубокое понимание разницы Code First от Database First
- Конфигурирование доменных моделей через Fluent API
- Entity vs Value Object: концепции и различия
- Способы хранения Value Objects в базе данных
- Конфигурация через ComplexProperty и OwnsOne
- Работа с комплексными объектами и типизированными Id
- Регистрация DbContext в Dependency Injection
- Понимание Scoped vs Singleton для DbContext
- Создание и применение миграций
- Работа с JSON объектами (OwnsMany, JSONB)
- Настройка связей между таблицами и модулями
- Конфигурирование связей один к одному и многие ко многим
Урок 5. Работа с DbContext, ChangeTracker и операции вставки
- Создание слоя Application и проекта Contacts
- Реализация фичи создания сущности
- Различные подходы работы с базой данных
- Создание доменных моделей в фичах
- Способы работы с базой данных из слоя Application
- Настройка логирования для отладки SQL-запросов
- Понимание работы ChangeTracker в Entity Framework
- Добавление связанных сущностей при создании основной
- Работа с прямыми навигационными связями
- Анализ генерируемых SQL-запросов
- Реализация Repository pattern vs прямое использование DbContext
- Регистрация зависимостей и работа с фабриками
- Необходимость транзакций при работе с данными
Урок 6. Операции обновления и удаления, массовые операции
- Реализация обновления через Dapper (чистый SQL)
- Первый способ обновления через Entity Framework Core
- Сравнение работы обновлений в Dapper vs EF Core
- Массовые обновления в Entity Framework Core
- Массовые обновления через Dapper
- Обновление через доменные сущности (второй способ)
- Ограничения Dapper при работе с доменными сущностями
- Анализ работы Change Tracker
- Плюсы и минусы различных подходов к обновлению
- Полное обновление сущностей (третий способ)
- Различия между IQueryable и IEnumerable
- Проблемы массовых обновлений с получением сущностей
- Обновление навигационных сущностей: два способа
- Комбинированный подход для оптимальной работы
Урок 7. Правильная архитектура репозиториев и управление транзакциями
- Когда нужны и не нужны множественные реализации репозитория
- Случаи использования нескольких реализаций репозитория
- Комбинированный подход в архитектуре репозиториев
- Проблемы транзакционности в распределенных операциях
- Стратегии управления транзакциями
- Создание и реализация TransactionManager
- Паттерн TransactionScope и его применение
- Решение проблем транзакционности в фичах обновления
- Правильное использование using с транзакциями
- Анализ работы транзакций в действии
Урок 8. Реализация функционала бронирования и бизнес-логики
- Анализ предметной области системы бронирования
- Создание контроллера для операций бронирования
- Создание фичи бронирования в слое Application
- Создание специализированного репозитория
- Правильное использование SaveChanges и обработка ошибок
- Использование репозитория в обработчиках (handlers)
- Реализация проверки доступности мероприятия
- Проверка принадлежности мест к мероприятию
- Реализация проверки статуса бронирования мест
- Анализ генерируемых SQL-запросов
- Выявление проблем параллельного доступа
Урок 9. Параллельные операции и изоляция транзакций
- Проблемы нескольких одновременных запросов
- Влияние транзакций на параллельные операции
- Подробный анализ уровней изоляции транзакций
- Феномены в базах данных: dirty read, phantom read
- Изменение уровня изоляции транзакций
- Способы решения проблем параллельности
- Решение через database constraints (ограничения БД)
- Реализация проверки максимальной вместимости
- Проблемы проверки вместимости при параллельных запросах
- Pessimistic locking (пессимистичная блокировка)
- Optimistic locking (оптимистичная блокировка)
- Реализация обоих типов блокировок
Урок 10. Практическое применение пессимистичной блокировки
- Углубленный пример использования Pessimistic locking
- Реализация бронирования нескольких мест одновременно
- Получение и блокирование связанных сущностей
- Запросы для получения всех доступных мест
- Реализация сложной доменной логики
- Анализ производительности и SQL-запросов
Урок 11. Сидирование базы данных и автоматизация
- Различные способы реализации сидирования
- Размещение логики сидирования в проекте
- Реализация сидирования данных
- Использование Cursor AI для генерации кода сидеров
- Автоматизация процесса наполнения данными
Урок 12. Архитектура запросов на чтение данных
- Различия между операциями чтения и записи
- Типы запросов в приложениях
- Запрос получения информации о мероприятии и карте мест
- Выбор правильных моделей для возврата из бэкенда
- Использование AsNoTracking для оптимизации
- Паттерн CQS (Command Query Separation)
- Работа с интерфейсом IQueryable
- Создание IReadDbContext для операций чтения
Урок 13. Сложные SQL запросы и оптимизация
- Усложнение запросов для получения мероприятий
- Проблемы множественных запросов (N+1 problem)
- Проекции данных с помощью Select
- Оптимизация запросов в один JOIN
- Использование Dapper для прямых SQL-запросов
- Маппинг объектов в Dapper
- Усложнение SQL с LEFT JOIN
- Эквивалентные запросы в Entity Framework Core и LINQ
- LINQ Query syntax для сложных соединений
- Реализация LEFT JOIN в EF Core
Урок 14. Фильтрация, пагинация и агрегация данных
- Подсчет количества свободных мест
- Запросы на EF Core с LINQ для агрегации
- Использование оконных функций в SQL
- Запросы с фильтрами и пагинацией
- Фильтрация по датам и времени
- Усложнение логики: минимальное количество свободных мест
- Реализация пагинации в Entity Framework Core
Урок 15. Продвинутые техники работы с Dapper
- Фильтрация и пагинация в Dapper через SQL
- Написание сложных SQL-запросов
- Анализ планов выполнения запросов
- Использование CTE (Common Table Expressions)
- Сравнение производительности различных подходов
- Реализация фильтров и пагинации в Dapper
- Оптимальные способы подсчета общего количества (total count)
Урок 16. Гибкая сортировка и продвинутые запросы
- Реализация гибкой сортировки в Entity Framework Core
- Гибкая сортировка в Dapper
- Усложнение запросов: сортировка по популярности
- Улучшение запросов с помощью CTE (WITH AS)
- Расчет популярности через Entity Framework Core
- Оптимизация сложных аналитических запросов
Урок 17. Работа с деревьями и иерархическими структурами в Postgresql. Adjacency List и Materialized Pat
Урок 18. Постепенное раскрытие дерева, LATERAL JOIN и ОКОННЫЕ ФУНКЦИИ
Урок 19. Работа с индексами и оптимизация запросов.
Автор курса: Кирилл Сачков
Сайт продажника: https://sachkov-intensive.ru/?intensive=2
Цена с продажника: 14900 руб.
У нас Вы можете приобрести всего за 260 руб.

![[Кирилл Сачков] Реляционные базы данных в веб приложениях (2025)](https://infoshopik.com/wp-content/uploads/2025/10/kirill-sachkov-relyatsionnye-bazy-dannyh-v-veb-prilozheniyah-2025.png)
![[Специалист] Паттерны в объектно-ориентированном программировании (2019)](https://infoshopik.com/wp-content/uploads/2021/12/specialist-patterny-v-obektno-orientirovannom-programmirovanii-2019-324x324.jpg)
![[Дмитрий Забарило] Программирование микроконтроллеров STM32 для начинающих (2025)](https://infoshopik.com/wp-content/uploads/2025/10/dmitriy-zabarilo-programmirovanie-mikrokontrollerov-stm32-dlya-nachinayuschih-2025-324x324.png)
![[Дмитрий Должик] Повышение производительности труда с помощью Python (2024) [Stepik]](https://infoshopik.com/wp-content/uploads/2024/08/dmitriy-dolzhik-povyshenie-proizvoditelnosti-truda-s-pomoschyu-python-2024-stepik--324x324.jpg)
![[Алексей Ильющенко] Разработка приложений на Python: KivyMD - Дизайн Google (2024) [Stepik]](https://infoshopik.com/wp-content/uploads/2024/03/aleksej-iljushhenko-razrabotka-prilozhenij-na-python-kivymd-dizajn-google-2024-stepik--324x324.png)
![[Udemy] SQL Для Всех: от Нуля до Профессионала (2019)](https://infoshopik.com/wp-content/uploads/2021/12/udemy-sql-dlja-vseh-ot-nulja-do-professionala-2019-324x324.jpg)
![[Макс Зарев] Автоматизация Python+ADS+Web3 (2025) [Coin Metrika]](https://infoshopik.com/wp-content/uploads/2025/10/maks-zarev-avtomatizatsiya-pythonadsweb3-2025-coin-metrika-324x324.png)
![[Дмитрий Лаврик] PHP – базовый курс (2019)](https://infoshopik.com/wp-content/uploads/2021/12/dmitrij-lavrik-php-bazovyj-kurs-2019-324x324.jpg)
![[Давид Согоян] Тестирование REST API в Postman - легкий старт в автоматизацию (2024) [Stepik]](https://infoshopik.com/wp-content/uploads/2024/10/david-sogoyan-testirovanie-rest-api-v-postman-legkiy-start-v-avtomatizatsiyu-2024-stepik-.jpg)
![[Лауро Фиальо Мюллер] Docker и Kubernetes: полный курс от нуля до героя (2025) [Udemy]](https://infoshopik.com/wp-content/uploads/2025/06/lauro-fialo-myuller-docker-i-kubernetes-polnyy-kurs-ot-nulya-do-geroya-2025-udemy--324x324.png)
![[Дмитрий Лаврик] Node.js. Базовый курс: от основ до простых realtime коммуникаций (2023)](https://infoshopik.com/wp-content/uploads/2023/12/dmitrij-lavrik-node.js.-bazovyj-kurs-ot-osnov-do-prostyh-realtime-kommunikacij-2023-324x324.png)
![[Ринат Абдуллин] LLM под капотом: выбираем эффективные технические решения для AI-ассистентов (2024) [Курс в записи]](https://infoshopik.com/wp-content/uploads/2025/02/rinat-abdullin-llm-pod-kapotom-vybiraem-effektivnye-tehnicheskie-resheniya-dlya-ai-assistentov-2024-kurs-v-zapisi--324x324.jpg)
![[Areaweb] PHP Framework для блондинок (2023)](https://infoshopik.com/wp-content/uploads/2023/10/areaweb-php-framework-dlja-blondinok-2023-324x324.png)
![[Нетология][Павел Козлов] Продвинутый курс Power BI & Excel PRO (2022)](https://infoshopik.com/wp-content/uploads/2022/09/netologijapavel-kozlov-prodvinutyj-kurs-power-bi-excel-pro-2022-1-324x324.png)
![[Академия верстки] Web Start (февраль 2019)](https://infoshopik.com/wp-content/uploads/2021/12/akademija-verstki-web-start-fevral-2019-324x324.jpg)
![[itik] Веб-Мастер. Для детей 7-15 лет (2023)](https://infoshopik.com/wp-content/uploads/2023/04/itik-veb-master.-dlja-detej-7-15-let-2023-324x324.png)
![[Екатерина Ревво, Алексей Науменко] Team lead разработчиков в gamedev [k-syndicate.school]](https://infoshopik.com/wp-content/uploads/2024/01/ekaterina-revvo-aleksej-naumenko-team-lead-razrabotchikov-v-gamedev-k-syndicate.school-324x324.png)
![[Специалист] KL 009.10 Endpoint Security and Management. Управление системами (2024)](https://infoshopik.com/wp-content/uploads/2024/06/specialist-kl-009.10-endpoint-security-and-management.-upravlenie-sistemami-2024-324x324.png)
![[Александр Сидоров] Numpy и анализ данных (2023) [Stepik]](https://infoshopik.com/wp-content/uploads/2023/12/aleksandr-sidorov-numpy-i-analiz-dannyh-2023-stepik--324x324.png)
![[Игорь Панасюк] The Nature of Concurrency - Курс по многопоточному программированию (2025) [Тариф Base]](https://infoshopik.com/wp-content/uploads/2025/10/igor-panasyuk-the-nature-of-concurrency-kurs-po-mnogopotochnomu-programmirovaniyu-2025-tarif-base--324x324.png)
![[Илья Перминов] Django 5 для начинающих + Продвинутый Django 5 для продолжающих (2024) [Stepik]](https://infoshopik.com/wp-content/uploads/2024/03/ilja-perminov-django-5-dlja-nachinajushhih-prodvinutyj-django-5-dlja-prodolzhajushhih-2024-stepik--324x324.png)
Отзывы
Отзывов пока нет.