• Turning into Magento EAV model (http://www.magentocommerce.com/wiki/_media/doc/magento---sample_database_diagram.png?cache=cache), EntityAttributeValue table is splitted in 5 different tables: EntityAttributeValue_datatime, EntityAttributeValue_int, EntityAttributeValue_decimal, EntityAttributeValue_text, EntityAttributeValue_varchar. This solution improve storage but it increase the model complexity.

    There are a bit of EAV model in Microsoft CRM, is a clear example of business requirement flexibility where entities are pre-defined but attributes can be manage by the end users.

    In my opinion EAV is a good & nice model with a huge weakeness: performance and complexity (as a colleague said above it's too far away from the logical model)

    A nice discussion in this thread.