It is well known that Magento implements an entity-attribute-value data model. A key table in the implementation is the ‘eav_attribute’ table, who’s exposition is the subject of this blog post.
Magento uses five ‘types’ to store attribute data: datetime, decimal, int, text, and varchar(these are strongly motivated by the corresponding mySQL datatypes). So when a new eav entity type is created in Magento there are actually six tables created; one to store the entity and one for each of these ‘types’ of attribute data. The fact that this type of entity has a certain attribute is recorded in the ‘eav_attribute’ table which has the following schema:
CREATE TABLE 'eav_attribute' (
'attribute_id' smallint(5),
'entity_type_id' smallint(5),
'attribute_code' varchar(255),
'attribute_model' varchar(255),
'backend_model' varchar(255),
'backend_type' varchar(8),

