Board logo

subject: The Advantages Of Eav For Magento Developers [print this page]


If theres one thing thats a real mind boggler for Magento developers at the first go, its definitely the Entity, Attribute and Value (EAV) database architecture. And to make things worse, an apparent absence of documentation on EAV diverts people from the fact that it can be an asset in Magento development. Here you will learn how and why the EAV works and what benefits you can derive out of this amazing architecture. For this purpose, opening up a Magento development database with the help of a tool like PHPMyAdmin is usually recommended.

Understanding EAV: Now let us try and dissect the EAV for a Magento developer by understanding each of the components within it.

Entity: The entity section of the architecture makes up of Magento data items like products, categories, customers and orders, and each of these items has its own entity record in the database.

Attribute: Within each entity are data items that are known as the attributes. Exemplarily speaking, within the entity called product will be attributes like name, price and status.

Value: Value is the only part of all the three in the EAV architecture thats somewhat easy enough to comprehend since it is merely a value that is linked to an attribute.

The functioning of the EAV: Many people are of the opinion that databases were a lot simpler prior to the entry of Magento development. For instance, an e-commerce application developer would in those days simply look at about 2-3 tables; one that would comprise all the product information, one that would have the category information and optionally a third that would link the two components. On the other hand, Magento has a dizzy collection of about 40 tables just for the product and category entities. Now lets look at the table for products to gain a clearer idea about the functioning.

Unlike other databases that stack up all the product info under one table, Magento further divides them into sub tables, with the topmost table being assigned the title of catalog_product_entity. Comprising of simple base information, this table makes it possible to construct a full product record by joining attributes to the product entity table.

The reason that EAV is so highly recommended is because it is highly flexible and upgradable in comparison to the usual database architectures. Here, any Magento developer will have the ability to add attributes to just about any entity without the need to modify the core database architecture. The only drawbacks of the EAV are perhaps its somewhat slow speed and the early complications that junior developers face in learning to use it.

by: Christa Hooks




welcome to loan (http://www.yloan.com/) Powered by Discuz! 5.5.0