EAV ist eine tolle Sache - da wo man eine solche Flexibilität benötigt. In einem Shopsystem, wo man beim Entwickeln nicht wissen kann, wieviele und welche Attribute die Artikel beschreiben werden, ist so ein flexibles Datenmodel von Vorteil. Aber für zur Entwicklungszeit bekannte Eigenschaften von Objekten brauche ich diese Flexibilität nicht. Da brauch ich vielmehr die Typsicherheit.
So flexibel ist EAV im Übrigen auch nicht, man kann darin zum Beispiel keine Hierarchien oder Zykel auf natürliche Weise abbilden. Solche Struktureigenschaften müssen deshalb über künstlich hinzugefügte Attribute kodiert werden. Das führt dann dazu, dass man Daten der Anwendungsdomäne mit Daten, die ausschließlich der internen Verwaltungen dienen, mischt. Bäume und Graphen, respektive, sind für die beiden genannten Fälle die geeigneteren Datenstrukturen. Der Vorteil dieser Linearitäts-Eigenschaft von EAV ist natürlich, dass man sie sehr einfach in SQL-Tabellen speichern kann.