Ответ
Отношение (relation) — фундаментальная структура данных в реляционной модели, представляющая собой таблицу со строками и столбцами.
| Терминология и структура: | Теория (Реляционная модель) | Практика (SQL/БД) | Описание |
|---|---|---|---|
| Отношение (Relation) | Таблица (Table) | Вся структура с данными. | |
| Кортеж (Tuple) | Запись (Row) | Одна строка в таблице. | |
| Атрибут (Attribute) | Столбец (Column) | Поле таблицы с именем и типом данных. | |
| Схема отношения | Схема таблицы | Определение структуры: имена и типы столбцов, ключи, ограничения. |
Пример создания отношения Users:
CREATE TABLE Users (
-- Атрибуты (столбцы) с типами данных
id INT PRIMARY KEY, -- Первичный ключ
name VARCHAR(50) NOT NULL, -- Ограничение NOT NULL
email VARCHAR(100) UNIQUE NOT NULL, -- Уникальное ограничение
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Схема отношения: (id INT, name VARCHAR(50), email VARCHAR(100), created_at TIMESTAMP)
Ключевые принципы:
- Отсутствие порядка строк: Данные в отношении не упорядочены.
- Уникальность кортежей: Все строки (кортежи) в отношении должны быть уникальны.
- Связи через ключи: Отношения связываются с помощью первичных (PRIMARY KEY) и внешних ключей (FOREIGN KEY), обеспечивая целостность данных.
CREATE TABLE Orders ( order_id INT PRIMARY KEY, user_id INT, -- Внешний ключ amount DECIMAL, FOREIGN KEY (user_id) REFERENCES Users(id) -- Связь с отношением Users );