Перечислите СУБД, с которыми вы имели практический опыт.

Ответ

Практиковался в работе с:

  1. PostgreSQL – мощная реляционная СУБД с расширенными типами данных (JSON, массивы). Использовал для сложных отчетов и проверки целостности внешних ключей.
  2. MySQL – популярная реляционная СУБД. Применял для веб-приложений, тестировал производительность запросов и репликацию.
  3. SQLite – встраиваемая СУБД. Использовал при тестировании мобильных и десктопных приложений для проверки локального хранилища данных.
  4. MongoDB – документоориентированная NoSQL БД. Тестировал CRUD-операции, агрегации для аналитики и валидацию структуры документов.

Пример типового SQL-запроса для проверки связи между таблицами:

-- Поиск активных пользователей с их заказами
SELECT u.id AS user_id, u.name, COUNT(o.id) AS order_count
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE u.status = 'active'
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 0;

Почему это важно для тестирования: Понимание особенностей каждой СУБД позволяет целенаправленно проверять миграции данных, корректность запросов и специфичное поведение (например, транзакции в PostgreSQL vs MySQL).

Ответ 18+ 🔞

Да ты посмотри, какой я, блядь, разнорабочий по базам данных оказался! Практиковался, сука, во всём подряд, как заправский дата-мастер.

Вот смотри, что понаворочал:

  1. PostgreSQL – это ж, блядь, монстр реляционный, с такими наворотами, что мама не горюй! JSON туда засунуть, массивы – запросто. Я его юзал, когда надо было отчеты, блядь, сложные накрутить или проверить, чтобы эти ваши внешние ключи не разъебались в хлам.
  2. MySQL – ну это, ёпта, всенародная любимица. Под веб-приложения – самое то. Я на нём и производительность запросов гонял, и смотрел, как эта штука – репликация, блядь – работает, не обосрётся ли где.
  3. SQLite – лёгкий такой, встраиваемый корешок. Идеален, когда тестируешь, как твоё мобильное или десктопное приложение данные локально хранит. Никаких серверов, чистая проверка хранилища.
  4. MongoDB – а это уже, сука, NoSQL, документоориентированная! Тут не таблицы, а коллекции документов. Тестировал на нём все эти CRUD-операции (создай, прочитай, обнови, удали), агрегации для аналитики и чтобы структура документов была, блядь, валидная, а не какая-попало.

Вот, например, типовой SQL-запрос, который я мог бы гонять, чтобы связи проверить:

-- Ищем активных пользователей и их заказы
SELECT u.id AS user_id, u.name, COUNT(o.id) AS order_count
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE u.status = 'active'
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 0;

А почему это, блядь, важно для тестирования? Да потому что, ёпта, если ты понимаешь, чем одна СУБД от другой отличается, ты не будешь, как обезьяна, тыкать палкой везде одинаково. Ты будешь целенаправленно проверять миграции данных (чтобы не потерялось ни хуя), корректность запросов и вот это вот всё специфичное поведение. Ну, типа, как транзакции в PostgreSQL и MySQL – они ж, сука, по-разному могут работать! Вот на таких мелочах всё и встаёт, если не знать.