← Назад к вопросам

Что такое реляционная модель хранения данных?

2.2 Middle🔥 251 комментариев
#Базы данных и SQL

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Реляционная модель хранения данных

Реляционная модель — это теоретическая основа большинства современных баз данных. Она была предложена Эдгаром Коддом в 1970 году и остаётся стандартным подходом к организации и хранению структурированных данных.

Основные понятия

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

Атрибут (Attribute) — столбец в таблице, который описывает свойство данных. Каждый атрибут имеет имя и тип данных.

Кортеж (Tuple) — строка в таблице, представляющая отдельный набор данных. В контексте таблиц это называется записью или строкой.

Домен (Domain) — множество допустимых значений для атрибута. Например, доменом для атрибута "возраст" могут быть целые числа от 0 до 150.

Ключи в реляционной модели

Первичный ключ (Primary Key) — это атрибут или набор атрибутов, который уникально идентифицирует каждую строку в таблице. Первичный ключ не может содержать NULL значения:

// Пример таблицы с первичным ключом
CREATE TABLE users (
    id INT PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(100) NOT NULL
);

Внешний ключ (Foreign Key) — это атрибут, который ссылается на первичный ключ другой таблицы. Внешний ключ обеспечивает связь между таблицами:

CREATE TABLE orders (
    id INT PRIMARY KEY,
    user_id INT,
    order_date DATE,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

Кандидат ключа (Candidate Key) — это атрибут или набор атрибутов, который мог бы служить первичным ключом. Таблица может иметь несколько кандидат ключей, но только один из них становится первичным.

Нормализация и нормальные формы

Нормализация — это процесс организации данных в таблице для минимизации избыточности и зависимостей. Выделяют несколько нормальных форм:

Первая нормальная форма (1NF) — каждый атрибут содержит только атомарные (неделимые) значения. Нет повторяющихся групп.

Вторая нормальная форма (2NF) — таблица находится в 1NF, и все не-ключевые атрибуты полностью зависят от первичного ключа (нет частичных зависимостей).

Третья нормальная форма (3NF) — таблица находится в 2NF, и не-ключевые атрибуты не зависят друг от друга (нет транзитивных зависимостей).

Операции в реляционной модели

Реляционная алгебра определяет основные операции:

Проекция (Projection) — выбор определённых столбцов из таблицы:

SELECT username, email FROM users; // Проекция: выбираем только username и email

Селекция (Selection) — выбор строк, удовлетворяющих определённому условию:

SELECT * FROM users WHERE age > 18; // Селекция: строки, где age > 18

Объединение (Join) — комбинирование данных из двух таблиц на основе общего ключа:

SELECT users.username, orders.order_date 
FROM users 
JOIN orders ON users.id = orders.user_id;

Объединение множеств (Union) — комбинирование результатов двух запросов:

SELECT username FROM users WHERE role = admin
UNION
SELECT username FROM users WHERE role = moderator;

ACID свойства

Реляционные базы данных гарантируют ACID свойства транзакций:

  • Atomicity — транзакция либо полностью выполняется, либо полностью откатывается
  • Consistency — база данных переходит из одного согласованного состояния в другое
  • Isolation — транзакции изолированы друг от друга
  • Durability — данные сохраняются после завершения транзакции

Преимущества реляционной модели

  1. Простота и понятность — структура данных легко понять и описать
  2. Гибкость запросов — SQL позволяет выполнять сложные запросы
  3. Целостность данных — ограничения обеспечивают консистентность
  4. Стандартизация — широко поддерживается разными СУБД

Реляционная модель остаётся основой современных баз данных (PostgreSQL, MySQL, Oracle, SQL Server и т.д.) благодаря её надёжности и универсальности.