Можно ли считать Microsoft Excel реляционной базой данных?

«Можно ли считать Microsoft Excel реляционной базой данных?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, Microsoft Excel не является реляционной системой управления базами данных (РСУБД). Это программа для работы с электронными таблицами, которая может имитировать некоторые функции баз данных, но не соответствует ключевым принципам реляционной модели.

Сравнение Excel и РСУБД (например, PostgreSQL, MySQL):

Функция Excel Реляционная БД
Целостность данных Нет встроенной поддержки внешних ключей, уникальных ограничений. Данные могут быть любыми. Есть. Строгая схема, типы данных, PRIMARY KEY, FOREIGN KEY, CHECK.
Язык запросов Формулы, VBA, фильтры. SQL — стандартизированный, мощный язык для сложных выборок и манипуляций.
Транзакции (ACID) Отсутствуют. Нет гарантий атомарности, согласованности, изоляции, долговечности. Есть. Гарантированная целостность при одновременном доступе и сбоях.
Масштабируемость Очень ограничена (∼1 млн строк на лист), медленная работа с большими данными. Высокая. Оптимизирована для больших объёмов, индексы, партиционирование.
Многопользовательский доступ Конфликтующий одновременный доступ, блокировка файла. Конкурентный контроль через транзакции и блокировки на уровне строк.

Пример связи в РБД vs. Excel:

-- В РБД: декларативная ссылочная целостность
CREATE TABLE orders (
    id INT PRIMARY KEY,
    customer_id INT NOT NULL,
    FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
);

В Excel такая связь — это лишь условное соглашение. Нет механизма, автоматически предотвращающего удаление «родительской» записи или гарантирующего соответствие типов данных.