No kidding! You didn't mention which platform it was! Magento is the one I struggled with for quite awhile. The EAV structure is pretty intense in that product. It became more efficient to use PHP and the Magento framework to do queries on the database than to actually use SQL and it still wasn't exactly easy to do ad-hoc queries. It's really annoying when half of the joins are on the same table!
http://thedailywtf.com/Articles/Database-Changes-Done-Right.aspx
[Allow me to introduce you to one of the Web's best-kept secrets: the A tag. -ShadowMod]