База данных — это упорядоченный набор данных, которые хранятся по определенной схеме и доступны программам для поиска и обновления. СУБД (система управления базами данных) — это программное обеспечение, которое создает, хранит и обслуживает такие данные: например, 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), который может обслуживать сразу несколько баз данных; база данных — один из наборов данных на этом сервере со своей схемой и таблицами.



