Shanraq.org Shanraq.org

SQL: семейный бюджет без догадок

13 практических уроков: от первой таблицы до проверяемого отчёта и резервной копии. Работает на компьютере, планшете и смартфоне.

Уроков: 4 · 30 мин на чтение · 260 мин на практику

Все уроки открыты: регистрация для чтения не нужна.

Начать с первого урока →

  1. Зачем нужен SQL: семейный бюджет, которому можно задать вопрос

    Первый урок курса: запускаем готовую базу семейного бюджета и получаем доход, расходы и остаток одним запросом. SQL нужен там, где ответ должен быть точным, повторяемым и проверяемым, а не собранным вручную в таблице.

    5 мин на чтение · 20 мин на практику

  2. Таблица, строка, столбец и NULL: сначала модель бюджета

    Разбираем четыре сущности проекта — счета, категории, операции и лимиты — и учимся отличать отсутствие значения от нуля. До синтаксиса важно понять, какой факт хранит каждая строка.

    2 мин на чтение · 20 мин на практику

  3. CREATE TABLE: схема, которая не принимает невозможное

    Создаём таблицы семейного бюджета и переносим часть проверок к данным: обязательные поля, уникальные имена, положительные суммы, допустимые виды категорий, даты и внешние ключи.

    2 мин на чтение · 20 мин на практику

  4. INSERT и параметры: как добавить расход безопасно

    Добавляем операции по одной и пачкой, узнаём границы SQL-параметров и отделяем данные пользователя от текста запроса. Это защищает и кавычки в заметке, и базу от SQL-инъекции.

    2 мин на чтение · 20 мин на практику

  5. SELECT: найти нужные операции и ничего не изменить

    Осваиваем проекцию, фильтр, сортировку и ограничение результата. Учимся читать логический порядок запроса и задавать устойчивую сортировку, чтобы один вопрос всегда означал одно и то же.

    2 мин на чтение · 20 мин на практику

  6. CASE, COALESCE и даты: превратить хранимое в понятное

    Строим вычисляемые столбцы, правильно обрабатываем NULL и задаём границы месяца. Разбираем, почему форматирование для экрана не должно становиться форматом хранения.

    2 мин на чтение · 20 мин на практику

  7. SUM, COUNT, GROUP BY и HAVING: итог по категориям

    Сжимаем множество операций в проверяемые итоги, считаем строки отдельно от значений и находим категории, вышедшие за лимит.

    2 мин на чтение · 20 мин на практику

  8. Ключи и JOIN: связать операции со счетами и категориями

    Нормализуем модель бюджета и соединяем таблицы по ключам. Учимся выбирать INNER и LEFT JOIN, замечать размножение строк и не связывать данные по похожему тексту.

    2 мин на чтение · 20 мин на практику

  9. Подзапросы и WITH: сложный вопрос по шагам

    Разбиваем расчёт нормы сбережений на именованные части с CTE, сравниваем подзапросы и соединения и учимся не повторять одну формулу в нескольких местах.

    2 мин на чтение · 20 мин на практику

  10. Оконные функции: накопительный остаток без потери строк

    Считаем баланс после каждой операции и рейтинг расходов. Оконная функция видит соседние строки, но сохраняет каждое исходное событие.

    2 мин на чтение · 20 мин на практику

  11. Транзакции и UPDATE: изменить всё или ничего

    Исправляем данные безопасно и моделируем перевод между счетами как одну атомарную операцию. Учимся проверять WHERE через SELECT, использовать ROLLBACK и не путать банковскую операцию с транзакцией базы.

    2 мин на чтение · 20 мин на практику

  12. Сверка данных: найти пропуск до принятия решения

    Проверяем бюджет контрольными равенствами, ищем дубли и осиротевшие связи, отличаем ограничение одной строки от правила для всей таблицы.

    2 мин на чтение · 20 мин на практику

  13. Индекс, EXPLAIN и итоговый отчёт: завершение курса

    Собираем семейный отчёт, измеряем план запроса, создаём полезный индекс и проверяем резервную копию восстановлением. Итог курса — не набор команд, а база, которой можно доверить повседневный вопрос.

    3 мин на чтение · 20 мин на практику