Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Think about it: how do you reconstruct a users data with this design (called EAV), compared to a traditional users table? This design has its use cases though.
–
dezsoApr 23 '13 at 21:24

1

If you are using Postgres, have a look at hstore. It is essentially a key/value store (or to go with the hype: a NoSQL) which will make this kind of dynamic attribute much easier to deal with.
–
a_horse_with_no_nameApr 23 '13 at 22:01

1

From my point of view, if you are forced to use EAV, it means you failed at getting good requirements and specifications for your project in the first place. So maybe you should look back at your project requirements and work on them.
–
guigui42Apr 24 '13 at 2:53

1

this is the first question in any job interview for application dba. the advantage is as you said - you can easily add attributes. the draw down is that you have to do a lot of joins for querying that data or for filtering by attributes. think of that - how often you add attributes ? how often you query the data ? ....
–
hakiApr 24 '13 at 9:33