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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Пример: в PostgreSQL можно создать поле типа JSONB и записать туда массив объектов, каждый из которых соответствует строке таблицы.

CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  customer_id INT,
  items JSONB -- здесь можно хранить всю таблицу товаров заказа
);

INSERT INTO orders (customer_id, items) VALUES (
  123,
  '[{"product_id":1, "quantity":2}, {"product_id":2, "quantity":5}]'
);

Таким образом, JSON/JSONB — удобный тип для денормализации и хранения сложных структур в одном поле.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее