EAV stands for entity, attribute, and value, it is probably the most difficult concept for new Magento developers to grasp. While the EAV concept is not unique to Magento, it is rarely implemented on modern systems, on top of that, Magento implementation is not a simple one.
In order to understand what EAV is and what its role within Magento is, we need to break down it into the parts of the EAV model.
Entity: The entity represents the data items (objects) inside Magento products, customers, categories, and orders. Each entity is stored in the database with a unique ID.
Attribute: These are our object properties. Instead of having one column per attribute on the product table, attributes are stored on separates sets of tables.
Value: As the name implies, it is simply the value link to a particular attribute.
This design pattern is the secret behind Magento's flexibility and power, allowing entities to add and remove new properties without having to do any changes to the...