Открыто

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

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

Цена: 14800р.-93%
Взнос: 939р.

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

Резервный список: 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. Eraiz
      Eraiz участвует.
      29 июл 2025 в 18:36
    2. kolovorat
      kolovorat участвует.
      23 июл 2025
    3. kolovorat
      kolovorat не участвует.
      23 июл 2025
    4. coler
      coler участвует.
      20 июл 2025

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

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