Purpose: To introduce the goals of EAV database modeling, to describe the situations where entity-attribute-value (EAV) modeling is a useful alternative to conventional relational methods of database modeling, and to describe the fine points of implementation in production systems.
Methods: We analyze the following circumstances: (1) data are sparse and have a large number of applicable attributes, but only a small fraction will apply to a given entity; (2) numerous classes of data need to be represented, each class has a limited number of attributes, but the number of instances of each class is very small. We also consider situations calling for a mixed approach where both conventional and EAV design are used for appropriate data classes.
Results and conclusions: In robust production systems, EAV-modeled databases trade a modest data sub-schema for a complex metadata sub-schema. The need to design the metadata effectively makes EAV design potentially more challenging than conventional design.