Более 10 часов качественного видео, множество тестов для проверки знаний! На курсе мы спроектируем базу данных популярного мессенджера и писать к ней запросы. Вы узнаете, как взаимодействовать с сервером, начиная с установки рабочего окружения и заканчивая командами набора DDL и DML. И не только лишь вот это всё! Транзакции, процедуры, представления, вопросы оптимизации и права доступа. Обсудим все по порядочку!
- Установка рабочего окруженияУстановка сервера MySQLРабота в терминалеГрафические IDE (Workbench, DBeaver)Взаимодействие с сервером
- Сложные SELECT-запросыВложенные запросы (подзапросы)Объединения (JOIN). ТеорияОбъединения (CROSS JOIN, INNER JOIN)Объединения (LEFT JOIN, RIGHT JOIN)Объединения (FULL OUTER JOIN)Вложенные запросы vs объединенияСоединения (UNION)Оконные функцииОбщие табличные выражения (CTE)Рекурсивные табличные выраженияКонтрольные вопросы
- Проектирование БД (команды DDL)Первичные ключиОсобенности типов данных и именование объектовИндексыВнешние ключиПодробнее про ALTER TABLEОсобенности синтаксиса MySQLВиды связей между таблицами (1:1, 1:М, М:М)Таблицы-справочникиER-диаграмма
- Установка рабочего окруженияУстановка сервера MySQLРабота в терминалеГрафические IDE (Workbench, DBeaver)Взаимодействие с сервером
- Продвинутые фичи SQLПолнотекстовый поискПредставления (View)Хранимые процедурыПользовательские функцииПеременныеТриггерыКонтрольные вопросы
- Завершение курсаИтоги
- Сложные SELECT-запросыВложенные запросы (подзапросы)Объединения (JOIN). ТеорияОбъединения (CROSS JOIN, INNER JOIN)Объединения (LEFT JOIN, RIGHT JOIN)Объединения (FULL OUTER JOIN)Вложенные запросы vs объединенияСоединения (UNION)Оконные функцииОбщие табличные выражения (CTE)Рекурсивные табличные выраженияКонтрольные вопросы
- Проектирование БД (команды DDL)Первичные ключиОсобенности типов данных и именование объектовИндексыВнешние ключиПодробнее про ALTER TABLEОсобенности синтаксиса MySQLВиды связей между таблицами (1:1, 1:М, М:М)Таблицы-справочникиER-диаграмма
- Вопросы оптимизацииЛишний JOINДенормализацияНастройки сервераАнализ запросов (EXPLAIN)Графический план исполнения запросаИсправление проблемных местГрафический план: показательные примерыКонтрольные вопросы
- Дополнительные темыРабота с логамиЦиклыКурсорыSQL инъекцииКонтрольные вопросы
- Права доступаПользователиРолиКонтрольные вопросы
- Продвинутые фичи SQLПолнотекстовый поискПредставления (View)Хранимые процедурыПользовательские функцииПеременныеТриггерыКонтрольные вопросы
- Основы SELECT-запросовФильтрация (WHERE + LIKE)Сортировка (ORDER BY)Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)Группировка (GROUP BY)Фильтрация (HAVING)Отсутствие значения (NULL)Пейджинг (LIMIT + OFFSET)Условия, ветвления (IF, CASE)Контрольные вопросы
- Дополнительные темыРабота с логамиЦиклыКурсорыSQL инъекцииКонтрольные вопросы
- Работа с данными (команды DML, CRUD)Команда INSERTКоманда SELECTКоманда UPDATEКоманда DELETEБонус: сервисы для генерации данныхИмпорт-экспорт данныхПрактика
- Вопросы оптимизацииЛишний JOINДенормализацияНастройки сервераАнализ запросов (EXPLAIN)Графический план исполнения запросаИсправление проблемных местГрафический план: показательные примерыКонтрольные вопросы
- Права доступаПользователиРолиКонтрольные вопросы
- Основы SELECT-запросовФильтрация (WHERE + LIKE)Сортировка (ORDER BY)Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)Группировка (GROUP BY)Фильтрация (HAVING)Отсутствие значения (NULL)Пейджинг (LIMIT + OFFSET)Условия, ветвления (IF, CASE)Контрольные вопросы
- ТранзакцииВведение в транзакцииОбработка исключений (ошибок)Уровни изоляции транзакцийБлокировки таблицВзаимная блокировка (deadlock)Контрольные вопросы
- ТранзакцииВведение в транзакцииОбработка исключений (ошибок)Уровни изоляции транзакцийБлокировки таблицВзаимная блокировка (deadlock)Контрольные вопросы
- Работа с данными (команды DML, CRUD)Команда INSERTКоманда SELECTКоманда UPDATEКоманда DELETEБонус: сервисы для генерации данныхИмпорт-экспорт данныхПрактика
- Завершение курсаИтоги