Search code examples
oracle-databasedatabase-designumlentity-relationshipentity-attribute-value

Data Modeling for EAV


How are others using relational modeling tools to map a logical model or one in third normal form to a database that uses EAV?


Solution

  • EAV is a non-relational design. You can't achieve any normal forms with EAV, because it fails to be a relation.

    EAV is an example of the Inner-Platform Effect antipattern.

    If you need many attributes, you could consider serializing to a blob of XML and storing that XML in a CLOB column.