Что такое реляционная СУБД (система управления базами данных)?

«Что такое реляционная СУБД (система управления базами данных)?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Это тип СУБД, который хранит и предоставляет доступ к данным, организованным в виде набора таблиц (отношений), связанных между собой. Управление данными и запросы к ним выполняются с помощью языка SQL (Structured Query Language).

Основные концепции:

  • Таблица (Relation): Состоит из строк (записей, кортежей) и столбцов (атрибутов).
  • Схема: Строго определенная структура таблиц (имена и типы столбцов).
  • Ключи:
    • Первичный ключ (PRIMARY KEY): Уникально идентифицирует запись в таблице.
    • Внешний ключ (FOREIGN KEY): Создает ссылку на первичный ключ другой таблицы, обеспечивая связь.
  • ACID-транзакции: Гарантируют атомарность, согласованность, изолированность и долговечность операций.

Пример SQL-запроса с JOIN:

-- Получить имена пользователей и их заказы
SELECT u.full_name, o.order_date, o.total_amount
FROM users u
INNER JOIN orders o ON u.id = o.user_id -- Связь по внешнему ключу
WHERE o.status = 'completed'
ORDER BY o.order_date DESC;

Популярные реляционные СУБД: PostgreSQL, MySQL, SQLite, Microsoft SQL Server, Oracle Database.

Преимущества:

  • Целостность данных: Строгая схема и внешние ключи.
  • Гибкость запросов: Мощный язык SQL для сложных выборок и агрегаций.
  • Надежность: Транзакции с поддержкой ACID.

Недостатки:

  • Сложность горизонтального масштабирования (шардинг).
  • Жесткость схемы для быстро меняющихся или неструктурированных данных.