Take the 2-minute tour ×
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.

I have a pretty simple question, but it seems that there are controversies as to how to solve it in the best possible way.

Say I have a web app that makes online surveys. My challenge is that each of these surveys must be isolated from one another (their address book, responses, etc.) while allowing duplication, deletion, backups (of only one survey, not of the whole database).

I know that some apps, like LimeSurvey that has a good reputation for online surveys, create a new set of tables for each survey. This seems to go against everything I've always considered as best practice, but on the other end it seems to simplify many things: the duplication of databases, the de facto separation between databases, etc..

Still, I am not convinced that this is the way to go. What is your opinion? How would you do it?

share|improve this question
1  
If there are many controversies for your question you will only obtain more controversial answers if you don't ask for very specific details. –  Andreas Jun 27 '13 at 9:11
add comment

migrated from stackoverflow.com Jun 27 '13 at 9:30

This question came from our site for professional and enthusiast programmers.

1 Answer

A lot will depend on the high-level objectives of your project. A generic solution is probably better suited to a single database, like SurveyMonkey for example. I am sure that they do not create a new database every time.

But let's say that you want to create a survey package that can run on a laptop or on many different web sites. Then you create a database per survey. The use cases here are say a global survey with each country running its own version of the same survey. Or in the US, each State running its own version. These are usually not generic, they are project-related. This is the model that LimeSurvey uses.

Interesting question. I look forward to what other people say.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.