Участник не попадает в диалог дважды
Добавьте таблицу участников диалога и ограничение уникальности на пару «диалог — пользователь». Проверьте повторную вставку и удаление пользователя. Объясните, где должна контролироваться целостность данных.
SQL · База мессенджера · на русском
Обзор курса Pragmatic Programmer
SQL-практикум Pragmatic Programmer строится вокруг базы данных мессенджера. Вы постепенно переходите от установки MySQL и создания связанных таблиц к запросам, транзакциям и анализу их выполнения. Такой формат подходит тем, кому легче понимать язык на одной связной модели, а затем добавлять новые требования к уже знакомым данным.
RusUdemyПомогаем оформить выбранный курс в личном аккаунте Udemy — без общих аккаунтов и предоплаты.Подробнее
База мессенджераPragmatic Programmer · русский язык · обновление декабрь 2025
Начинающим разработчикам, тестировщикам и студентам, которые хотят собрать базу MySQL и решать задания по ходу обучения.
Достаточно базовых навыков работы с компьютером. Понадобится локальная установка MySQL и время на SQL-задачи.
Реляционная база мессенджера: ключи и связи, запросы, изменения данных, процедуры и проверка выполнения запросов.
Синтаксис и инструменты привязаны к MySQL. У автора есть другие SQL-программы с пересечениями: прежде чем выбирать вторую, сравните учебные разделы.
База мессенджера помогает связать техническую команду с действием пользователя: кто отправил сообщение, в каком диалоге оно находится и как связаны участники. Учебный проект полезен, если вы можете объяснить ограничения и написать новый запрос без готового решения. Он не означает, что после видео уже спроектирована промышленная система обмена сообщениями: надёжность, распределённая архитектура и эксплуатация требуют отдельной работы.
Эти проверки помогают закрепить материал и понять свои пробелы. Они дополняют обзор курса и не заменяют задания преподавателя.
Добавьте таблицу участников диалога и ограничение уникальности на пару «диалог — пользователь». Проверьте повторную вставку и удаление пользователя. Объясните, где должна контролироваться целостность данных.
Опишите своё правило прочтения сообщения и напишите запрос числа непрочитанных по каждому диалогу. Проверьте пустой диалог, собственное сообщение и пользователя без истории прочтения. Не подменяйте бизнес-правило удобным SQL.
Добавьте сообщения с одинаковым временем и выберите последние записи в однозначном порядке. Проверьте следующую страницу результата. Сравните поведение при вставке нового сообщения между двумя запросами.
Для списка сообщений одного диалога изучите EXPLAIN и подумайте о составном индексе. Сравните порядок его полей с фильтрацией и сортировкой. Запишите, какой запрос вы улучшаете и какие изменения данных теперь стали дороже.
В проверенной карточке 12 разделов, 146 лекций и 12 часов 37 минут. Курс сочетает видео с конспектами, контрольными вопросами и SQL-задачами; практическую работу стоит учитывать отдельно от длительности просмотра.
На дату проверки в карточке Udemy: 12 разделов, 146 лекций, 12 ч 37 мин видео. Это длительность записей, а не срок освоения SQL. На установку СУБД, решение задач и проверку запросов потребуется дополнительное время. Темы ниже сгруппированы редакцией; точное оглавление опубликовано на Udemy.
Добавьте к базе одно собственное требование и подготовьте схему, несколько проверочных запросов и README. Если можете обосновать ключи и поведение транзакции, переходите к задачам своего проекта; повторный вводный курс часто даст меньше, чем самостоятельная доработка.
MySQL, терминал, Workbench и DBeaver
Проектирование: ключи, связи, индексы и ER-диаграмма
DDL, DML, импорт и экспорт данных
SELECT, JOIN, подзапросы, CTE и оконные функции
Представления, процедуры, функции и триггеры
Транзакции, исключения и блокировки
Права доступа и анализ запросов через EXPLAIN
Пришлите ссылку на понравившийся курс. Уточним текущую стоимость и поможем оформить его в вашем личном аккаунте Udemy. Материалы и прогресс останутся у вас.
Курс появляется в вашей личной библиотеке на Udemy. Никаких пиратских копий, общих аккаунтов или «серых» схем.
Вы оплачиваете покупку только после того, как курс появился в вашем аккаунте Udemy.
Обычно от первого сообщения до появления курса в аккаунте проходит около 10 минут.
В Telegram отвечает живой человек: можно задать вопрос и получить качественную поддержку по покупке.
Сначала согласуем курс и условия. Без общих аккаунтов и предоплаты.
Опыт работы с сервисом