Весь SQL, который пригодится в работе, в одном пакете. DDL, DML, транзакции, представления, процедуры, оптимизация и не только. Практика: тесты, задачи, пишем много кода.
Цель курса:
- Научить вас работать с базами данных на профессиональном уровне:
- Писать сложные SQL-запросы для реальных задач.
- Проектировать эффективные структуры БД.
- Использовать продвинутые возможности (транзакции, оптимизацию, хранимые процедуры).
- Решать проблемы производительности и безопасности.
Программа курса
SQL практикум для начинающих и продолжающих (часть 1)
- 1. Установка рабочего окружения
- 1.1 Знакомство
- 1.2 Установка MySQL сервера
- 1.3 Работа в терминале
- 1.4 Установка графических IDE (Workbench, DBeaver)
- 1.5 Взаимодействие с сервером
- 1.6 Контрольные вопросы
- 1.7 Решаем задачи. Пишем SQL код2. Проектирование БД (команды DDL)
- 2.1 Первичные ключи
- 2.2 Особенности типов данных и именование объектов
- 2.3 Руководство по стилю SQL – SQL Style Guide
- 2.4 Индексы
- 2.5 Внешние ключи
- 2.6 Подробнее про ALTER TABLE
- 2.7 Особенности синтаксиса MySQL
- 2.8 Виды связей между таблицами (1х1, 1хМ, МхМ)
- 2.9 Таблицы-справочники
- 2.10 ER-диаграмма
- 2.11 Контрольные вопросы. Часть 1
- 2.12 Контрольные вопросы. Часть 2
- 2.13 Решаем задачи. Пишем SQL код. Часть 1
- 2.14 Решаем задачи. Пишем SQL код. Часть 23. Работа с данными (команды DML, CRUD)
- 3.1 Команда INSERT
- 3.2 Команда SELECT
- 3.3 Команда UPDATE
- 3.4 Команда DELETE
- 3.5 Бонус: Сервисы для генерации данных
- 3.6 Импорт-экспорт данных
- 3.7 Контрольные вопросы
- 3.8 Решаем задачи. Пишем SQL код. Часть 1
- 3.9 Решаем задачи. Пишем SQL код. Часть 24. Завершение курса
- 4.1 Дисклеймер
- 4.2 Тест. Часть 1
- 4.3 Тест. Часть 2
- 4.4 Тест. Часть 3
- 4.5 Тест. Часть 4
- 4.6 Обещанный бонус
SQL практикум. SELECT-запросы от А до Я (часть 2)
- 1. Подготовка к работе
- 1.1 Приветствие
- 1.2 Установка MySQL сервера
- 1.3 Установка графических IDE (Workbench, DBeaver)
- 1.4 Развертывание БД
- 1.5 Контрольные вопросы
- 1.6 Решаем задачи. Пишем SQL код2. Базовые возможности синтаксиса
- 2.1 Простые примеры SELECT запросов
- 2.2 Фильтрация (WHERE + LIKE)
- 2.3 Сортировка (ORDER BY)
- 2.4 Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)
- 2.5 Группировка (GROUP BY)
- 2.6 Фильтрация (HAVING)
- 2.7 Отсутствие значения (NULL)
- 2.8 Пейджинг (LIMIT + OFFSET)
- 2.9 Условия, ветвления (IF, CASE)
- 2.10 Контрольные вопросы. Часть 1
- 2.11 Контрольные вопросы. Часть 2
- 2.12 Контрольные вопросы. Часть 3
- 2.13 Решаем задачи. Пишем SQL код. Часть 1
- 2.14 Решаем задачи. Пишем SQL код. Часть 23. Продвинутые SELECT-запросы
- 3.1 Вложенные запросы (подзапросы)
- 3.2 Объединения (JOIN) — Теория
- 3.3 Объединения (CROSS JOIN, INNER JOIN)
- 3.4 Объединения (LEFT JOIN, RIGHT JOIN)
- 3.5 Объединения (FULL OUTER JOIN)
- 3.6 Вложенные запросы VS объединения
- 3.7 Соединения (UNION)
- 3.8 Оконные функции
- 3.9 Общие табличные выражения (CTE)
- 3.10 Рекурсивные табличные выражения
- 3.11 Контрольные вопросы. Часть 1
- 3.12 Контрольные вопросы. Часть 2
- 3.13 Решаем задачи. Пишем SQL код. Часть 1
- 3.14 Решаем задачи. Пишем SQL код. Часть 2
- 3.15 Решаем задачи. Пишем SQL код. Часть 3
- 3.16 Решаем задачи. Пишем SQL код. Часть 44. Финальный тест. Завершение курса
- 4.1 Дисклеймер
- 4.2 Тест. Часть 1
- 4.3 Тест. Часть 2
- 4.4 Тест. Часть 3
- 4.5 Тест. Часть 4
- 4.6 Тест. Часть 5
- 4.7 Тест. Часть 6
- 4.8 Обещанный бонус
SQL практикум. Продвинутый уровень (часть 3)
- 1. Подготовка к работе
- 1.1 Приветствие
- 1.2 Установка MySQL сервера
- 1.3 Установка графических IDE (Workbench, DBeaver)
- 1.4 Развертывание БД
- 1.5 Контрольные вопросы
- 1.6 Решаем задачи. Пишем SQL код2. Продвинутые фичи SQL
- 2.1 Полнотекстовый поиск
- 2.2 Представления (View)
- 2.3 Хранимые процедуры
- 2.4 Пользовательские функции
- 2.5 Переменные
- 2.6 Триггеры
- 2.7 Контрольные вопросы. Часть 1
- 2.8 Контрольные вопросы. Часть 2
- 2.9 Контрольные вопросы. Часть 3
- 2.10 Решаем задачи. Пишем SQL код. Часть 1
- 2.11 Решаем задачи. Пишем SQL код. Часть 23. Транзакции
- 3.1 Введение в транзакции
- 3.2 Обработка исключений (ошибок)
- 3.3 Уровни изоляции транзакций
- 3.4 Блокировки таблиц
- 3.5 Взаимная блокировка (deadlock)
- 3.6 Контрольные вопросы. Часть 1
- 3.7 Контрольные вопросы. Часть 2
- 3.8 Решаем задачи. Пишем SQL код4. Права доступа
- 4.1 Пользователи
- 4.2 Роли
- 4.3 Контрольные вопросы. Часть 1
- 4.4 Контрольные вопросы. Часть 2
- 4.5 Решаем задачи. Пишем SQL код5. Вопросы оптимизации
- 5.1 Лишний JOIN
- 5.2 Денормализация
- 5.3 Настройки сервера
- 5.4 Анализ запросов (EXPLAIN)
- 5.5 Графический план исполнения запроса
- 5.6 Исправление проблемных мест
- 5.7 Графический план: показательные примеры
- 5.8 Контрольные вопросы
- 5.9 Решаем задачи. Пишем SQL код. Часть 1
- 5.10 Решаем задачи. Пишем SQL код. Часть 26. Дополнительные темы
- 6.1 Работа с логами
- 6.2 Циклы
- 6.3 Курсоры
- 6.4 SQL инъекции
- 6.5 Контрольные вопросы
- 6.6 Решаем задачи. Пишем SQL код7. Завершение курса. Финальный тест
- 7.1 Дисклеймер
- 7.2 Тест. Часть 1
- 7.3 Тест. Часть 2
- 7.4 Тест. Часть 3
- 7.5 Тест. Часть 4
- 7.6 Тест. Часть 5
- 7.7 Тест. Часть 6
- 7.8 Тест. Часть 7
- 7.9 Тест. Часть 8
- 7.10 Тест. Часть 9
- 7.11 Тест. Часть 10
- 7.12 Обещанный бонус











