Devo creare un sondaggio in cui le risposte sono archiviate in un database. Mi sto solo chiedendo quale sarebbe il modo migliore per implementarlo nel database, in particolare le tabelle richieste. Il sondaggio contiene diversi tipi di domande. Ad esempio: campi di testo per commenti, domande a scelta multipla e, eventualmente, domande che potrebbero contenere più di una risposta (vale a dire controllare tutte le risposte pertinenti).
Ho escogitato due possibili soluzioni:
Crea una tabella gigante che contiene le risposte per ogni presentazione del sondaggio. Ogni colonna corrisponderebbe a una risposta dal sondaggio. cioè SurveyID, Answer1, Answer2, Answer3
Non penso che questo sia il modo migliore poiché ci sono molte domande in questo sondaggio e non sembra molto flessibile se il sondaggio deve cambiare.
L'altra cosa a cui ho pensato è stata la creazione di una tabella delle domande e una tabella delle risposte. La tabella delle domande conterrebbe tutte le domande per il sondaggio. La tabella delle risposte conterrebbe le risposte individuali del sondaggio, ciascuna riga collegata a una domanda.
Un semplice esempio:
tblSurvey : SurveyID
tblQuestion : QuestionID, SurveyID , QuestionType, Question
tblAnswer : AnswerID , UserID , QuestionID , Answer
tblUser : UserID, UserName
Il mio problema con questo è che potrebbero esserci tonnellate di risposte che renderebbero la tabella delle risposte piuttosto grande. Non sono sicuro che sia fantastico quando si tratta di esibizioni.
Gradirei idee e suggerimenti.