Встречается на собеседованиях • сегодня
Что знаешь про паттерн 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). В остальных случаях лучше избегать.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы