Новый курс Shanraq объясняет SQL через понятную повседневную задачу — учёт семейных доходов и расходов. За 13 практических уроков читатель проходит путь от первой таблицы до проверяемого отчёта, индекса и резервной копии, а запросы можно выполнять прямо в браузере на компьютере, планшете или смартфоне.
Строим вычисляемые столбцы, правильно обрабатываем NULL и задаём границы месяца. Разбираем, почему форматирование для экрана не должно становиться форматом хранения.
Разбираем четыре сущности проекта — счета, категории, операции и лимиты — и учимся отличать отсутствие значения от нуля. До синтаксиса важно понять, какой факт хранит каждая строка.
Добавляем операции по одной и пачкой, узнаём границы SQL-параметров и отделяем данные пользователя от текста запроса. Это защищает и кавычки в заметке, и базу от SQL-инъекции.
Создаём таблицы семейного бюджета и переносим часть проверок к данным: обязательные поля, уникальные имена, положительные суммы, допустимые виды категорий, даты и внешние ключи.
Разбиваем расчёт нормы сбережений на именованные части с CTE, сравниваем подзапросы и соединения и учимся не повторять одну формулу в нескольких местах.
Исправляем данные безопасно и моделируем перевод между счетами как одну атомарную операцию. Учимся проверять WHERE через SELECT, использовать ROLLBACK и не путать банковскую операцию с транзакцией базы.
Собираем семейный отчёт, измеряем план запроса, создаём полезный индекс и проверяем резервную копию восстановлением. Итог курса — не набор команд, а база, которой можно доверить повседневный вопрос.
Нормализуем модель бюджета и соединяем таблицы по ключам. Учимся выбирать INNER и LEFT JOIN, замечать размножение строк и не связывать данные по похожему тексту.
Осваиваем проекцию, фильтр, сортировку и ограничение результата. Учимся читать логический порядок запроса и задавать устойчивую сортировку, чтобы один вопрос всегда означал одно и то же.
Первый урок курса: запускаем готовую базу семейного бюджета и получаем доход, расходы и остаток одним запросом. SQL нужен там, где ответ должен быть точным, повторяемым и проверяемым, а не собранным вручную в таблице.