Что такое реляционная модель хранения данных?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Реляционная модель хранения данных
Реляционная модель — это теоретическая основа большинства современных баз данных. Она была предложена Эдгаром Коддом в 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 — данные сохраняются после завершения транзакции
Преимущества реляционной модели
- Простота и понятность — структура данных легко понять и описать
- Гибкость запросов — SQL позволяет выполнять сложные запросы
- Целостность данных — ограничения обеспечивают консистентность
- Стандартизация — широко поддерживается разными СУБД
Реляционная модель остаётся основой современных баз данных (PostgreSQL, MySQL, Oracle, SQL Server и т.д.) благодаря её надёжности и универсальности.