Best beginner resources for understanding the EAV database model?

Please LogIn to Reply!

Post By: admin | 26-01-2012 06:35 Reply

I'm doing some custom work with Magento, which has a database design based upon the EAV model, and I need some good resources/tutorials that explain the EAV database model. Please don't provide Wikipedia as a resource... I'm looking for something that teaches EAV in a friendly way for beginners.

In a nutshell, EAV is optimized for getting data in, not getting data out. But that might be an acceptable trade-off. I managed a project that had to develop a general clinical trial data management system. There could not be many common data elements because each trial needs to collect different data. Capturing data was urgent; we had to develop data entry pages under pressure. Reports are harder with EAV, but they're also less urgent, and with some clever thought they can be simplified a bit. EAV has served us well.

The friendliest thing you can do for a beginner is to teach them the down side of EAV.

The up side of EAV is so seductive that a lot of newbies will dig a very big hole for themselves before they realize it.

Hopefully the google search will reveal at least some of the down side.

You should check this article: The EAV/CR Model of Data Representation.

It describes EAV with Classes and Relationships, a more OO approach and not just a plain reference-key-value implementation.

See Dinua V, and Nadkarnia P. Guidelines for the Effective Use of Entity-Attribute-Value Modeling for Biomedical Databases. Int J Med Inform. 2007 ; 76: 769–779. http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2110957

`Reply Or Comment!
Please LogIn to Reply!