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

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

1.0 Junior🔥 111 комментариев
#Базы данных и SQL

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

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

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

# Таблица, Поле и Запись в Базах Данных

Основные Определения

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

Таблица (Table)

Таблица — это основная структура хранения данных в БД, содержащая набор связанных записей. Она имеет название и состоит из колонок (полей) и строк (записей).

// Пример: таблица Users
// users (table)
// ├─ id (field)
// ├─ name (field)
// ├─ email (field)
// ├─ age (field)
// └─ created_at (field)

Поле (Column/Field)

Поле — это именованная колонка таблицы, которая определяет тип данных и хранит значения одного атрибута объекта. Каждое поле имеет:

  • Имя (name, email, age)
  • Тип данных (VARCHAR, INT, TIMESTAMP)
  • Ограничения (NOT NULL, UNIQUE, PRIMARY KEY)
// Пример полей в таблице users:
// id INT PRIMARY KEY AUTO_INCREMENT
// name VARCHAR(100) NOT NULL
// email VARCHAR(255) UNIQUE
// age INT CHECK (age > 0)
// created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

Запись (Row/Record)

Запись — это одна строка в таблице, содержащая конкретные значения для всех полей. Каждая запись представляет один объект или сущность.

// Пример записи (row) в таблице users:
// id=1, name="Иван", email="ivan@mail.ru", age=28, created_at="2024-01-15"
// id=2, name="Мария", email="maria@mail.ru", age=32, created_at="2024-01-20"
// id=3, name="Петр", email="petr@mail.ru", age=25, created_at="2024-02-01"

Взаимосвязь

Таблица (users)
├─ Строка 1 (Record 1): {id=1, name="Иван", email="ivan@mail.ru", age=28}
├─ Строка 2 (Record 2): {id=2, name="Мария", email="maria@mail.ru", age=32}
└─ Строка 3 (Record 3): {id=3, name="Петр", email="petr@mail.ru", age=25}
     ↑
  Каждая запись — это объект со значениями в полях

Аналогия с Java

// Поле = переменная класса
public class User {
    private int id;           // поле
    private String name;       // поле
    private String email;      // поле
    private int age;          // поле
}

// Таблица = класс (определение структуры)
// Запись = объект (конкретный экземпляр)

User user1 = new User(1, "Иван", "ivan@mail.ru", 28);    // запись 1
User user2 = new User(2, "Мария", "maria@mail.ru", 32);  // запись 2
User user3 = new User(3, "Петр", "petr@mail.ru", 25);    // запись 3

Практический Пример с SQL

-- ТАБЛИЦА (определение структуры)
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,      -- поле
    name VARCHAR(100) NOT NULL,             -- поле
    email VARCHAR(255) UNIQUE,              -- поле
    age INT CHECK (age > 0),                -- поле
    created_at TIMESTAMP DEFAULT NOW()      -- поле
);

-- ЗАПИСИ (данные)
INSERT INTO users (name, email, age) VALUES
(Иван, ivan@mail.ru, 28),        -- запись 1
(Мария, maria@mail.ru, 32),      -- запись 2
(Петр, petr@mail.ru, 25);        -- запись 3

-- Выборка: запрос вернёт записи с выбранными полями
SELECT id, name, email FROM users;   -- выбираем 3 поля из 3 записей

Использование с JPA/Hibernate в Java

// Таблица users в БД соответствует сущности
@Entity
@Table(name = "users")
public class User {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;              // поле (столбец)
    
    @Column(nullable = false, length = 100)
    private String name;         // поле (столбец)
    
    @Column(unique = true)
    private String email;        // поле (столбец)
    
    @Column(name = "age")
    @Min(0)
    private int age;             // поле (столбец)
    
    @CreationTimestamp
    private Instant createdAt;   // поле (столбец)
}

// Получение записей из таблицы
List<User> users = userRepository.findAll();  // все записи из таблицы users
User user = userRepository.findById(1);        // одна запись с id=1

Ключевые Отличия

ТерминЧто этоПример
ТаблицаМножество связанных записей с одной структуройusers — таблица всех пользователей
ПолеОдна колонка с одним типом данныхname — строка имени пользователя
ЗаписьОдна строка с конкретными значениями всех полейПользователь с id=1, name="Иван", age=28

Заключение

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

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