Основы баз данных: что такое БД, СУБД и SQL

Основы баз данных: что такое БД, СУБД и SQL Полезное

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

Дальше разберем, чем эти понятия отличаются друг от друга, из чего состоит реляционная таблица и какими командами SQL читают и меняют данные.

Словарь: база данных, СУБД, реляционная модель и SQL

Эти четыре термина часто путают, хотя они про разное: данные, программу для работы с ними, способ их организации и язык запросов.

Термин Что это Пример
База данных сами данные, организованные по схеме таблица клиентов интернет-магазина
СУБД программа, которая создает и обслуживает базы данных PostgreSQL, MySQL, MongoDB
Реляционная модель способ организации данных: таблицы со связями по ключам таблицы clients и orders, связанные по client_id
SQL язык запросов к реляционным СУБД SELECT * FROM clients;

Важная граница: не любая СУБД реляционная. Документные и ключ-значение СУБД (например, MongoDB, Redis) хранят данные иначе и обычно используют собственный язык запросов, а не классический SQL. Дальше в статье речь про реляционные СУБД и SQL, если не сказано иное.

Реляционная модель: таблицы, строки и ключи

В реляционной модели данные лежат в таблицах. Строка таблицы — это одна запись (например, один клиент), столбец — один атрибут записи (имя, email, дата регистрации).

Чтобы однозначно ссылаться на строку, у таблицы есть первичный ключ (primary key) — столбец или набор столбцов с уникальным значением для каждой строки, обычно числовой id. Чтобы связать две таблицы, в одной из них заводят внешний ключ (foreign key) — столбец, который хранит значение первичного ключа из другой таблицы.

Например, у таблицы orders (заказы) есть столбец client_id, который ссылается на id в таблице clients. Так одна запись о клиенте связывается с несколькими его заказами без дублирования имени и email в каждой строке заказа.

Упрощение: под первичным ключом СУБД обычно создает индекс — структуру для быстрого поиска строки по этому ключу. Под внешним ключом индекс создается не всегда автоматически — это зависит от конкретной СУБД, и для больших таблиц его стоит добавлять отдельно.

Какие СУБД используют в 2026 году

Список без ранжирования «лучшая/худшая» — выбор зависит от задачи и инфраструктуры проекта.

Категория Примеры Когда обычно выбирают
Реляционные, открытый код PostgreSQL, MySQL, MariaDB большинство веб- и бэкенд-проектов, нужна строгая схема и SQL
Реляционные, коммерческие Microsoft SQL Server, Oracle Database компании на стеке Windows/.NET или с контрактом на вендорскую поддержку
Документные (NoSQL) MongoDB данные с гибкой, часто меняющейся структурой
Ключ-значение, in-memory Redis кеш и быстрые счетчики поверх основной базы, не замена ей

PostgreSQL развивается сообществом без единого владельца-компании. MySQL с 2010 года принадлежит Oracle и распространяется как под открытой лицензией, так и в коммерческой редакции с дополнительными модулями — конкретный набор условий стоит сверять с текущей страницей лицензирования Oracle, так как он меняется по редакциям.

Базовые команды: CRUD обзорно

CRUD — это аббревиатура четырех базовых операций с данными: Create (создать), Read (прочитать), Update (изменить), Delete (удалить). Ниже — минимальный рабочий пример на SQL, который создает таблицу, добавляет запись, читает и меняет ее.

CREATE TABLE clients (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT
);

INSERT INTO clients (id, name, email)
VALUES (1, 'Anna Orlova', 'anna@example.com');

SELECT name, email FROM clients WHERE id = 1;
-- результат: Anna Orlova | anna@example.com

UPDATE clients SET email = 'anna.orlova@example.com' WHERE id = 1;

По шагам: CREATE TABLE задает структуру — имя таблицы и столбцы с типами данных, PRIMARY KEY отмечает уникальный идентификатор строки. INSERT добавляет новую строку с конкретными значениями. SELECT ... WHERE читает строки, подходящие под условие, а не всю таблицу. UPDATE ... WHERE меняет значения в уже существующей строке; без WHERE команда обновит все строки таблицы, поэтому условие в реальной работе обязательно.

Четвертая операция CRUD, DELETE, удаляет строки таблицы и требует такой же осторожности с WHERE, как UPDATE: без условия она сотрет всю таблицу. Разные сценарии удаления — с каскадными связями, с ограничениями по внешним ключам, в разных диалектах SQL — за пределами этого обзора и разобраны отдельно.

Транзакции и ACID: как СУБД защищает данные при сбоях

Когда операция должна выполниться целиком или не выполниться совсем (например, перевод денег: списать у одного клиента и зачислить другому), реляционные СУБД оборачивают такие шаги в транзакцию. Гарантии транзакций описывает акроним ACID: атомарность (все шаги или ни одного), согласованность (данные не нарушают правила схемы), изолированность (параллельные транзакции не мешают друг другу) и устойчивость (после подтверждения данные не теряются даже при сбое).

Это упрощенное описание: у изолированности есть несколько уровней с разным поведением при параллельном доступе, и слабее уровень — не ошибка, а компромисс со скоростью. Многие NoSQL-системы дают более слабые или другие по форме гарантии вместо полного набора ACID — это стоит учитывать, если проект работает с деньгами или другими данными, где частичное обновление недопустимо.

Как выбрать СУБД для проекта

Задача На что смотреть Пример решения
Данные хорошо структурированы, важны связи и целостность реляционная СУБД с поддержкой транзакций PostgreSQL, MySQL
Структура записей часто меняется, вложенные документы документная СУБД MongoDB
Нужен быстрый кеш поверх основной базы in-memory хранилище ключ-значение Redis (не как единственная база)
Инфраструктура компании — Windows/.NET, нужна вендорская поддержка коммерческая реляционная СУБД Microsoft SQL Server

Выводы

  • База данных — это данные, СУБД — программа для работы с ними, реляционная модель — способ организовать данные таблицами, SQL — язык запросов к реляционным СУБД.
  • Первичный ключ уникально определяет строку, внешний ключ связывает строку с записью в другой таблице.
  • CRUD — четыре базовые операции с данными: создать, прочитать, изменить, удалить; UPDATE и DELETE без WHERE затрагивают всю таблицу.
  • ACID описывает гарантии транзакций реляционных СУБД; у NoSQL-систем гарантии часто слабее или другие по форме.
  • Выбор конкретной СУБД зависит от структуры данных, требований к целостности и инфраструктуры проекта, а не от абстрактной «лучшей» системы.

Где применяется / связь с практикой

Разобранных здесь понятий достаточно, чтобы читать чужие схемы баз данных и писать простые запросы. Дальше на практике обычно нужны индексы для скорости, нормализация схемы, чтобы не дублировать данные, и работа с конкретным диалектом SQL выбранной СУБД — это отдельные темы с более узкими практическими примерами.

Освойте тему на практике

Если нужен системный разбор проектирования баз данных, транзакций и оптимизации запросов с практикой на реальных задачах, на курсе СУБД это разбирают подробно. Проверить формат до записи на полный курс можно на открытых уроках.

FAQ

Можно ли работать с базой данных без SQL?
Да. Документные и другие NoSQL СУБД (например, MongoDB) используют собственный язык запросов или API вместо классического SQL, хотя у некоторых есть SQL-совместимые надстройки для отдельных сценариев.

Обязательно ли в таблице должен быть первичный ключ?
Технически некоторые СУБД допускают таблицу без явного первичного ключа, но тогда сложно однозначно сослаться на конкретную строку при обновлении или удалении, и на практике таблицы без ключа не рекомендуются.

Чем сервер СУБД отличается от самой базы данных?
Сервер СУБД — это запущенный процесс программы (например, PostgreSQL), который может обслуживать сразу несколько баз данных; база данных — один из наборов данных на этом сервере со своей схемой и таблицами.

OTUS Журнал