Middle
6
Какой тип данных можно использовать для денормализации — чтобы запихнуть целую таблицу в одно поле?
Companies where asked
Answer from AI
sobes.tech AI
Для денормализации и хранения целой таблицы в одном поле часто используют типы данных, поддерживающие вложенные структуры или коллекции. В реляционных базах данных это может быть тип 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 — удобный тип для денормализации и хранения сложных структур в одном поле.