Наша база данных разработана на основе модели EAV (Entity-Attribute-Value). Те, кто работал с моделями EAV, знают все дерьмо, которое поставляется с целью гибкости.
Я спросил своего клиента о причинах использования модели EAV (гибкость), и их ответ был следующим: их сущности меняются со временем. Таким образом, сегодня у них может быть таблица с несколькими атрибутами, но через месяц может быть добавлено несколько новых атрибутов или может быть переименован существующий атрибут. Им необходимо подготовить отчеты, чтобы вернуться на любой этап времени и запросить данные на основе формы объектов на этом этапе.
Я понимаю, что это невозможно в традиционной реляционной модели, но я лично вижу EAV как анти-шаблон. Существуют ли какие-либо другие альтернативные модели, которые позволяют нам фиксировать измерение времени в изменениях сущностей и экземпляров?
Cheers, Мош