¿Alternativas a Entity-Attribute-Value (EAV)?

Nuestra base de datos está diseñada en base al modelo EAV (Entity-Attribute-Value). Aquellos que han trabajado con modelos EAV conocen toda la basura que viene con el propósito de flexibilidad.

Le pregunté a mi cliente sobre las razones por las que usaba el modelo EAV (flexibilidad), y su respuesta fue: sus entidades cambian con el tiempo. Entonces, hoy pueden tener una tabla con algunos atributos, pero en un mes, se pueden agregar algunos atributos nuevos o se puede cambiar el nombre de un atributo existente. Necesitan producir informes para volver a cualquier etapa en el tiempo y consultar los datos en función de la forma de las entidades en esa etapa.

Entiendo que esto no es factible con un modelo relacional convencional, pero personalmente veo EAV como antipatrón. ¿Hay otros modelos alternativos que nos permitan capturar la dimensión del tiempo en los cambios en las entidades e instancias?

Saludos, Mosh

Respuestas a la pregunta(4)

Su respuesta a la pregunta