I have a personal project that I'm planning to implement, but having difficulty with coming up a good solution to below problem.
The basic idea is to provide a simple tool for users to collect data from other people ( similar to a survey ).
Users will be able to create several (up to 20) form fields. I can dynamically create a database table for each user-created form, however this doesn't sound like a good solution.
What would be the best way to do this? I'm planning to use Postgresql for this project. I don't know much about Amazon's SimpleDB, or Google's BigTable. Can those serve better to my problem?
Just have a table of questions, a survery table and a survey_questions table. In the survey table pop in a row for detais about the survey (who's doing it, name of survey etc). In survey_questions two columns - question_id and survey_id. There will be up to 20 rows per survey.
This is a very basic deign and you might well need more tables eventually but it covers the problem you discuss and no need to dynamically create tables.