Ответ
Отношение (реляция) в реляционных СУБД — это логическая связь между таблицами, устанавливаемая через ключи. Она нужна для нормализации данных, устранения избыточности и обеспечения целостности.
Основные типы отношений:
- Один к одному (1:1) — одной записи в таблице A соответствует не более одной записи в таблице B (например,
Пользователь↔Паспортные данные). - Один ко многим (1:N) — одной записи в таблице A может соответствовать множество записей в таблице B (например,
Автор↔Книги). - Многие ко многим (M:N) — реализуется через связующую таблицу, так как одной записи в A соответствует множество записей в B и наоборот (например,
Студенты↔Курсычерез таблицуЗачисления).
Пример SQL для связи 1:N:
-- Родительская таблица
CREATE TABLE Customers (
customer_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
-- Дочерняя таблица с внешним ключом
CREATE TABLE Orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES Customers(customer_id) ON DELETE CASCADE
);
Преимущества: обеспечение ссылочной целостности, эффективность хранения, возможность выполнения сложных запросов с помощью JOIN.