SQL для QA: запросы, связи и целостность
Освойте SQL на отдельной SQLite-фикстуре: NULL, агрегаты, JOIN, подзапросы, ограничения и транзакции. Исполняемые задания, точные результаты и итоговый аудит отчёта.
После курса вы сможете
- Писать SELECT с точными фильтрами и осознанной обработкой NULL.
- Проверять агрегаты, JOIN и отсутствие связей по независимому оракулу.
- Находить потерю строк и завышенные счётчики.
- Проверять ограничения и откат в изолированной базе.
- Передавать воспроизводимый пакет аудита данных.
Для кого
Начинающие QA и тестировщики, которым нужны уверенные проверки данных без доступа к рабочей БД.
Что нужно на старте
- Умение читать таблицы и выполнять команду в терминале.
- Python 3 со встроенным sqlite3 для автоматической самопроверки; либо SQLite-клиент для ручного запуска.
- Предыдущий опыт SQL не требуется.
Программа курса
SELECT, условия и смысл NULL
Читаем схему, выделяем нужные строки и различаем неизвестное значение, ноль и пустую строку.
0202 · Итоги и метрики · ≈ 45 минАгрегации, GROUP BY и HAVING
Проверяем знаменатель, считаем оценённые задачи и отделяем фильтр строк от фильтра групп.
0303 · Связи · ≈ 50 минJOIN и кардинальность: как не потерять и не размножить
Строим отчёт со всеми пользователями и обнаруживаем завышение количества после связи с комментариями.
0404 · Проверки данных · ≈ 45 минПодзапросы и проверки целостности
Ищем отсутствие связей без ловушки NOT IN с NULL и отделяем допустимый ноль от нарушения договора.
0505 · Изменение данных · ≈ 50 минОграничения, транзакции и безопасный откат
Проверяем отказ неверных изменений и доказываем сохранность снимка после ROLLBACK.
0606 · Итоговый проект · ≈ 65 минИтоговый проект: аудит отчёта и целостности
Собираем воспроизводимый SQL-пакет, который обнаруживает три дефекта отчёта и подтверждает безопасный откат.
Аудит отчёта SQLite-CORE-1
Исправьте три ошибки отчёта, проверьте целостность и передайте коллеге полностью воспроизводимый SQL-пакет.
Что будет в вашем результате
- Исходная фикстура и версионированный договор
- Запросы и точные ожидаемые строки
- Три контрпримера неверных запросов
- Проверки отказов, отката и отчёт о запуске
Критерии готовности итоговой работы
- Точность оракулов
- Сохранение нулевых групп и кардинальности
- Изолированное изменение данных
- Воспроизводимость и честные статусы