Встречается на собеседованиях • сегодня

Что знаешь про паттерн Entity-Attribute-Value

Паттерн Entity-Attribute-Value (EAV) — это модель данных, где сущности описываются парами атрибут-значение, а не фиксированными столбцами. Полезен для хранения динамических или редко используемых атрибутов.

Структура:

  • Entity (сущность) — ID объекта (например, товар).
  • Attribute (атрибут) — характеристика (например, цвет).
  • Value (значение) — значение атрибута (например, "красный").

Пример таблиц:

sql
CREATE TABLE entities (id INT PRIMARY KEY, name TEXT);
CREATE TABLE attributes (id INT PRIMARY KEY, name TEXT);
CREATE TABLE eav (entity_id INT, attr_id INT, value TEXT);

Плюсы:

  • Гибкость — можно добавлять атрибуты без изменения схемы.
  • Экономия места — не хранит NULL для отсутствующих атрибутов.

Минусы:

  • Сложные запросы — JOIN-ы для получения полной записи.
  • Нет типизации — все значения в TEXT/VARCHAR.
  • Производительность — хуже, чем у классической схемы.

Когда использовать:
Для систем с часто меняющейся структурой данных (например, метаданные в CRM). В остальных случаях лучше избегать.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы