Курсы SQL Говори с базами данных
Почти любое приложение опирается на реляционную базу данных. Запросы, соединения, моделирование данных, транзакции, оконные функции, а затем оптимизация: научись запрашивать и проектировать надёжные и быстрые данные.
Начать этот курс в Kodokon Основы Новичок - база, шаг за шагом
Реляционная модель: таблицы, строки, столбцыУзнай, как база данных организует информацию в таблицы, и создай свою первую таблицу в SQLite. SELECT и WHERE: читаем и фильтруем данныеНаучись выбирать столбцы с помощью SELECT, фильтровать строки с помощью WHERE и искать по шаблону с помощью LIKE. Сортировка и удаление дублей: ORDER BY, LIMIT, DISTINCTОсвой сортировку результатов через ORDER BY, ограничение количества строк через LIMIT и удаление дублей через DISTINCT. Агрегация: COUNT, SUM, AVG, MIN/MAX и GROUP BYСчитай суммы, средние значения и статистику по группам с помощью агрегатных функций и GROUP BY. Изменение данных: INSERT, UPDATE, DELETEДобавляй, изменяй и удаляй строки безопасно, избегая классической ловушки с забытым WHERE. Развитие Средний уровень - создавай реальные проекты
Продвинутый Уверенный уровень - продвинутые паттерны и производительность
HAVING и продвинутые агрегацииФильтруй после агрегации с помощью HAVING и разворачивай данные через CASE WHEN внутри агрегатных функций. CTE (WITH): делаем сложные запросы читаемымиСтруктурируй запросы на именованные шаги с помощью WITH и связывай CTE в конвейер преобразований. Оконные функции: ROW_NUMBER, RANK, SUM OVERСчитай ранги, накопительные итоги и сравнения внутри группы, не схлопывая строки, благодаря OVER и PARTITION BY. Транзакции: BEGIN, COMMIT, ROLLBACK и ACIDСделай записи атомарными с помощью транзакций и пойми, что гарантии ACID означают в повседневной практике. Моделирование данных: нормализация и денормализацияСтруктурируй схемы от 1NF до 3NF, чтобы устранить аномалии, и пойми, когда денормализовать осознанно. Мастерство Эксперт - архитектура, внутренности и крайние случаи
EXPLAIN и планы запросов: смотри, что база данных делает на самом делеРазбирай с помощью EXPLAIN QUERY PLAN тот план, который планировщик SQLite действительно выбирает для твоих запросов. Продвинутые индексы: составной, покрывающий, проигнорированныйОсвой правило самого левого префикса, покрывающие индексы и ловушки, из-за которых индекс становится невидимым для планировщика. Рекурсивные запросы (WITH RECURSIVE): иерархии и графыОбходи деревья и графы с помощью WITH RECURSIVE, управляя глубиной и обнаружением циклов. Конкурентность: блокировки, уровни изоляции, фантомные чтенияРазберись в модели блокировок SQLite, в его транзакциях и в аномалиях изоляции, которые описывает стандарт SQL. Безопасность: SQL-инъекции, привилегии, подготовленные запросыВоспроизведи SQL-инъекцию, обезвредь её подготовленными запросами и примени принцип наименьших привилегий.