Prog Academy
RU UA
Данные и аналитика

Что такое база данных?

База данных — это организованное хранилище информации, которое позволяет быстро находить, изменять и надёжно сохранять данные при одновременной работе многих пользователей. Управляет ею отдельная программа — СУБД, например PostgreSQL или MySQL.

В реляционных базах данные лежат в таблицах со строгой структурой, а связи между ними задаются явно: заказы ссылаются на клиентов, товары — на категории. Обращаются к таким базам на языке SQL.

В нереляционных (NoSQL) базах структура гибче: документы, пары «ключ — значение», графы. Их выбирают, когда форма данных заранее неизвестна или важна скорость на огромных объёмах.

Ключевое отличие базы от обычного файла — гарантии. Она защищает данные от потери при сбое, не даёт двум пользователям испортить одну запись и остаётся быстрой на миллионах строк.

Где применяется

База данных стоит за каждым приложением, где что-то нужно помнить между визитами: интернет-магазин хранит товары и заказы, банк — счета и операции, CRM — сделки и переписку. Проектирует структуру бэкенд-разработчик, а поддерживают её администратор баз данных и DevOps-инженер.

Выбор типа базы обычно продиктован задачей. PostgreSQL и MySQL берут для основной бизнес-логики, где важна целостность данных. Redis ставят рядом как быстрый кеш, MongoDB — под документы с непредсказуемой структурой, а векторные базы появились в AI-проектах для поиска по смыслу.

Пример

Два менеджера одновременно оформляют последнюю единицу товара. База не даст обоим списать один и тот же остаток: транзакция второго дождётся первой и завершится ошибкой. Если бы данные лежали в файле, магазин продал бы товар дважды.

CREATE TABLE customers (
    id    SERIAL PRIMARY KEY,
    name  VARCHAR(120) NOT NULL,
    email VARCHAR(160) UNIQUE NOT NULL
);

CREATE TABLE orders (
    id          SERIAL PRIMARY KEY,
    customer_id INT NOT NULL REFERENCES customers(id),
    total       NUMERIC(10, 2) NOT NULL,
    created_at  TIMESTAMP DEFAULT now()
);
Две связанные таблицы: внешний ключ не позволит создать заказ на несуществующего клиента.

Частые вопросы

Чем база данных отличается от файла Excel?

Гарантиями и масштабом. База не даст двум пользователям испортить одну запись, сохранит данные при сбое питания, проверит корректность связей и останется быстрой на миллионах строк. Таблица в Excel ничего из этого не обещает и рассчитана на одного человека.

Что выбрать: SQL или NoSQL?

Если данные имеют понятную структуру и связи важны — деньги, заказы, документы — берут реляционную базу. NoSQL уместен, когда форма данных заранее неизвестна, объёмы огромны, а часть строгих гарантий можно обменять на скорость. В больших системах их часто используют вместе.

Что такое индекс и зачем он нужен?

Это дополнительная структура, которая помогает находить строки, не перебирая всю таблицу, — примерно как алфавитный указатель в книге. Индексы радикально ускоряют выборки, но замедляют запись и занимают место, поэтому их ставят точечно, а не на каждое поле.

Что такое СУБД?

Система управления базами данных — программа, которая физически хранит данные и обслуживает запросы к ним: PostgreSQL, MySQL, MS SQL Server, Oracle. В разговоре «база данных» и «СУБД» часто смешивают, хотя строго база — это сами данные, а СУБД — движок вокруг них.

Связанные термины