📱 Основы баз данных
🗄 API разобрали — теперь заглянем туда, где данные живут. Если API отвечает «что», то база данных отвечает «где и как это хранится». Тестировщику базы нужны, чтобы проверять данные напрямую, а не через интерфейс.
1️⃣ Что такое база данных
🗄 База данных (БД) — организованное хранилище информации, к которому обращаются приложения.
💡 Приложение попросило — база отдала. Захотел проверить сам — идёшь в базу.
2️⃣ Реляционные и нереляционные
📊 Реляционные (SQL) — данные в таблицах со строками и столбцами, связаны между собой 📦 Нереляционные (NoSQL) — документы, ключ-значение, графы
💡 В тестировании чаще всего встречается SQL.
3️⃣ Из чего состоит таблица
📋 Таблица — набор данных по одной теме ➡️ Строка (запись) — один объект ⬆️ Столбец (поле) — характеристика объекта 🔑 Первичный ключ (Primary Key) — уникальный идентификатор строки 🔗 Внешний ключ (Foreign Key) — ссылка на запись в другой таблице
4️⃣ Основные команды SQL
🔍 SELECT — выбрать данные ➕ INSERT — добавить ✏️ UPDATE — изменить 🗑 DELETE — удалить 🏗 CREATE / ALTER / DROP — работа со структурой
5️⃣ Фильтрация и сортировка
▪️ WHERE — условие отбора ▪️ ORDER BY — сортировка ▪️ LIMIT — ограничение количества ▪️ DISTINCT — уникальные значения ▪️ LIKE — поиск по шаблону
6️⃣ Агрегация и группировка
🧮 COUNT, SUM, AVG, MIN, MAX — посчитать, сложить, усреднить 📦 GROUP BY — сгруппировать данные 🔎 HAVING — фильтр уже после группировки
7️⃣ Объединение таблиц
🔗 JOIN — соединить данные из разных таблиц ▪️ INNER — только совпадения ▪️ LEFT / RIGHT — все из одной + совпадения из другой ▪️ FULL — все из обеих
💡 JOIN — самая частая тема на собеседованиях и в работе.
8️⃣ Зачем это тестировщику
✅ Проверить, что данные реально записались ✅ Найти дубли и битые записи ✅ Сверить то, что показывает интерфейс, с тем, что в базе ✅ Подготовить тестовые данные ✅ Понять, где именно потерялись данные
9️⃣ Частые баги на уровне данных
💥 Запись не создалась, хотя интерфейс сказал «успех» 🔁 Дубли при повторном запросе 🗑 Данные удалились, а связанные остались 🧮 Неверные суммы и счётчики 📭 Пустые обязательные поля
💡 Главная мысль: интерфейс может врать, а база — нет. Поэтому тестировщик идёт проверять данные в источник. #QA #тестирование #SQL #базыданных