Storing complex userdata Assume a tool where one can create an useraccount, then store 'fields' for that account. Each field can contain zero or more 'sub-fields' and each of those can contain zero or more strings.

I wonder how a proffesional developer would design a database structure for such a use case.

My approach would be:


Create a table for each user
Add two rows, fields and id
store a big JSON object in the first row, which contains every subfield and its strings


But somehow i think that this won't be the best way to solve this and i'm having a giant brain fart.

I would greatly appreciate any suggestions.
I did a presentation about alternative ways of defining "extensible" relational database schema at the Percona Live MySQL Conference &amp; Expo in April 2013.  Here's a link to my slides:

http://www.slideshare.net/billkarwin/extensible-data-modeling