On Fri, Oct 23, 2009 at 5:53 PM, Leif B. Kristensen <leif@xxxxxxxxxxxxxx> wrote: > I've followed this list for quite a long time, and I think that I've > discovered a pattern that I would like to discuss. > > It seems like there are two camps considering EAV models. On the one > hand, there are researchers who think that EAV is a great way to meet > their objectives. On the other hand, there are the "business" guys who > thnk that EAV is crap. I think where people get into trouble with EAV is they tend to simplify data too much so that the database can no longer deliver on the requirements of the application. They then have to support those requirements in other layers on top of the database which adds complexity and eats performance. But judiciously to solve particular problems it can be a fine solution. ISTM the EAV debate is an example of a much broader debate going on in the information management world, which is whether to keep data-managing logic in the database or outside of the database. The 'in the database' camp tends to prefer things like views, rich constraints, stored procedures and other database features that support and maintain your data. 'out of the database' people tend to try and keep the database simple so they can manage things in an application framework or an ORM. The EAV position taken to the extreme could be considered the fundamentalists of the latter camp. People here are obviously more database biased...postgresql is probably the best open source solution out there that provides rich database features. Personally, I have long ago come to the position that I don't like code that writes sql (with certain limited exceptions)...generated sql tends to lead to many problems IMO. merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general