Содержание курса
Вступление
3 урока
1.
Добро пожаловать
↗
2.
Знакомство
↗
3.
О курсе
↗
Установка рабочего окружения
6 уроков
1.
Установка MySQL сервера
↗
2.
Работа в терминале
↗
3.
Графические IDE (Workbench, DBeaver)
↗
4.
Взаимодействие с сервером
↗
5.
Контрольные вопросы
↗
6.
Решаем задачи. Пишем SQL код
↗
Проектирование БД (команды DDL)
14 уроков
1.
Первичные ключи
↗
2.
Особенности типов данных и именование объектов
↗
3.
Руководство по стилю SQL · SQL Style Guide
↗
4.
Индексы
↗
5.
Внешние ключи
↗
6.
Подробнее про ALTER TABLE
↗
7.
Особенности синтаксиса MySQL
↗
8.
Виды связей между таблицами (1х1, 1хМ, МхМ)
↗
9.
Таблицы-справочники
↗
10.
ER-диаграмма
↗
11.
Контрольные вопросы. Часть 1
↗
12.
Контрольные вопросы. Часть 2
↗
13.
Решаем задачи. Пишем SQL код. Часть 1
↗
14.
Решаем задачи. Пишем SQL код. Часть 2
↗
Работа с данными (команды DML, CRUD)
9 уроков
1.
Команда INSERT
↗
2.
Команда SELECT
↗
3.
Команда UPDATE
↗
4.
Команда DELETE
↗
5.
Бонус: Сервисы для генерации данных
↗
6.
Импорт-экспорт данных
↗
7.
Контрольные вопросы
↗
8.
Решаем задачи. Пишем SQL код. Часть 1
↗
9.
Решаем задачи. Пишем SQL код. Часть 2
↗
Основы SELECT запросов
13 уроков
1.
Фильтрация (WHERE + LIKE)
↗
2.
Сортировка (ORDER BY)
↗
3.
Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)
↗
4.
Группировка (GROUP BY)
↗
5.
Фильтрация (HAVING)
↗
6.
Отсутствие значения (NULL)
↗
7.
Пейджинг (LIMIT + OFFSET)
↗
8.
Условия, ветвления (IF, CASE)
↗
9.
Контрольные вопросы. Часть 1
↗
10.
Контрольные вопросы. Часть 2
↗
11.
Контрольные вопросы. Часть 3
↗
12.
Решаем задачи. Пишем SQL код. Часть 1
↗
13.
Решаем задачи. Пишем SQL код. Часть 2
↗
Сложные SELECT запросы
16 уроков
1.
Вложенные запросы (подзапросы)
↗
2.
Объединения (JOIN) - Теория
↗
3.
Объединения (CROSS JOIN, INNER JOIN)
↗
4.
Объединения (LEFT JOIN, RIGHT JOIN)
↗
5.
Объединения (FULL OUTER JOIN)
↗
6.
Вложенные запросы VS объединения
↗
7.
Соединения (UNION)
↗
8.
Оконные функции
↗
9.
Общие табличные выражения (CTE)
↗
10.
Рекурсивные табличные выражения
↗
11.
Контрольные вопросы. Часть 1
↗
12.
Контрольные вопросы. Часть 2
↗
13.
Решаем задачи. Пишем SQL код. Часть 1
↗
14.
Решаем задачи. Пишем SQL код. Часть 2
↗
15.
Решаем задачи. Пишем SQL код. Часть 3
↗
16.
Решаем задачи. Пишем SQL код. Часть 4
↗
Продвинутые фичи SQL
11 уроков
1.
Полнотекстовый поиск
↗
2.
Представления (View)
↗
3.
Хранимые процедуры
↗
4.
Пользовательские функции
↗
5.
Переменные
↗
6.
Триггеры
↗
7.
Контрольные вопросы. Часть 1
↗
8.
Контрольные вопросы. Часть 2
↗
9.
Контрольные вопросы. Часть 3
↗
10.
Решаем задачи. Пишем SQL код. Часть 1
↗
11.
Решаем задачи. Пишем SQL код. Часть 2
↗
Транзакции
8 уроков
1.
Введение в транзакции
↗
2.
Обработка исключений (ошибок)
↗
3.
Уровни изоляции транзакций
↗
4.
Блокировки таблиц
↗
5.
Взаимная блокировка (deadlock)
↗
6.
Контрольные вопросы. Часть 1
↗
7.
Контрольные вопросы. Часть 2
↗
8.
Решаем задачи. Пишем SQL код
↗
Права доступа
5 уроков
1.
Пользователи
↗
2.
Роли
↗
3.
Контрольные вопросы. Часть 1
↗
4.
Контрольные вопросы. Часть 2
↗
5.
Решаем задачи. Пишем SQL код
↗
Вопросы оптимизации
10 уроков
1.
Лишний JOIN
↗
2.
Денормализация
↗
3.
Настройки сервера
↗
4.
Анализ запросов (EXPLAIN)
↗
5.
Графический план исполнения запроса
↗
6.
Исправление проблемных мест
↗
7.
Графический план: показательные примеры
↗
8.
Контрольные вопросы
↗
9.
Решаем задачи. Пишем SQL код. Часть 1
↗
10.
Решаем задачи. Пишем SQL код. Часть 2
↗
Дополнительные темы
6 уроков
1.
Работа с логами
↗
2.
Циклы
↗
3.
Курсоры
↗
4.
SQL инъекции
↗
5.
Контрольные вопросы
↗
6.
Решаем задачи. Пишем SQL код
↗
Финальный тест. Завершение курса
20 уроков
1.
Дисклеймер
↗
2.
Тест. Часть 1
↗
3.
Тест. Часть 2
↗
4.
Тест. Часть 3
↗
5.
Тест. Часть 4
↗
6.
Тест. Часть 5
↗
7.
Тест. Часть 6
↗
8.
Тест. Часть 7
↗
9.
Тест. Часть 8
↗
10.
Тест. Часть 9
↗
11.
Тест. Часть 10
↗
12.
Тест. Часть 11
↗
13.
Тест. Часть 12
↗
14.
Тест. Часть 13
↗
15.
Тест. Часть 14
↗
16.
Тест. Часть 15
↗
17.
Тест. Часть 16
↗
18.
Тест. Часть 17
↗
19.
Тест. Часть 18
↗
20.
Обещанный бонус
↗