Открыто

Реляционные базы данных в веб приложениях [Кирилл Сачков]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 12 июл 2025.

Цена: 14800р.-94%
Взнос: 849р.

Основной список: 21 участников

Резервный список: 1 участников

  1. 12 июл 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Реляционные базы данных в веб приложениях [Кирилл Сачков]

    2025-07-12_10-28-11.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. Работа с индексами и оптимизация запросов

    Урок 1. Основы PostgreSQL и теория баз данных
    • 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. Работа с индексами и оптимизация запросов
    Урок 18. CQRS
    Урок 19. Работа с деревьями и иерархическими структурами
    Урок 20. Паттерн Спецификация (Specification)

    Цена 14900 руб.
    Скрытая ссылка
     
    Последнее редактирование модератором: 13 июл 2025
    2 пользователям это понравилось.
  2. Последние события

    1. Alex152827
      Alex152827 участвует.
      2 авг 2025 в 18:02
    2. skladchik.com
      В складчине участвует 20 человек(а).
      2 авг 2025 в 03:38
    3. gerasash
      gerasash участвует.
      2 авг 2025 в 01:54
    4. Eraiz
      Eraiz участвует.
      29 июл 2025 в 18:36

    Последние важные события

    1. skladchik.com
      Статский советник организатор.
      14 июл 2025
    2. skladchik.com
      Цена составляет 14800р.
      13 июл 2025
  3. Обсуждение
  4. 21 июл 2025
    #2
    coler
    coler ЧКЧлен клуба
    Всем привет.
    Ориентировочная дата сбора?