В чем разница между таблицей, полем и записью в реляционной базе данных?

«В чем разница между таблицей, полем и записью в реляционной базе данных?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В реляционной модели данных эти понятия образуют иерархию:

  1. Таблица (Table/Relation) — это основная структура для хранения данных, представляющая собой набор строк и столбцов с определенной схемой.
  2. Поле (Field/Column/Attribute) — это столбец таблицы, который определяет тип данных и смысл информации, хранящейся в этом столбце (например, id, name, birth_date). Поле описывает что хранится.
  3. Запись (Record/Row/Tuple) — это строка в таблице, представляющая собой конкретный экземпляр данных. Запись содержит фактические значения для каждого поля таблицы.

Аналогия: Таблица — это весь лист Excel. Поле — это заголовок столбца (например, "Имя"). Запись — это одна строка с данными конкретного человека.

Пример SQL:

-- Создание ТАБЛИЦЫ с определенными ПОЛЯМИ
CREATE TABLE employees (
    id INT PRIMARY KEY,          -- поле 1
    name VARCHAR(100) NOT NULL,  -- поле 2
    department VARCHAR(50)       -- поле 3
);

-- Вставка ЗАПИСИ (строки) в таблицу
INSERT INTO employees (id, name, department)
VALUES (1, 'Иван Петров', 'Разработка'); -- это одна запись

-- Еще одна запись
INSERT INTO employees (id, name, department)
VALUES (2, 'Мария Сидорова', 'Аналитика');

В результате таблица employees будет содержать два поля (id, name, department) и две записи.