Ich muss eine Umfrage erstellen, in der die Antworten in einer Datenbank gespeichert werden. Ich frage mich nur, wie dies am besten in der Datenbank implementiert werden kann, insbesondere in den erforderlichen Tabellen. Die Umfrage enthält verschiedene Arten von Fragen. Zum Beispiel: Textfelder für Kommentare, Multiple-Choice-Fragen und möglicherweise Fragen, die mehr als eine Antwort enthalten können (dh alle zutreffenden prüfen).
Ich habe zwei mögliche Lösungen gefunden:
Erstellen Sie eine riesige Tabelle, die die Antworten für jede Umfrage enthält. Jede Spalte würde einer Antwort aus der Umfrage entsprechen. dh SurveyID, Answer1, Answer2, Answer3
Ich denke nicht, dass dies der beste Weg ist, da diese Umfrage viele Fragen enthält und nicht sehr flexibel erscheint, wenn sich die Umfrage ändern soll.
Das andere, woran ich dachte, war das Erstellen einer Frage- und Antworttabelle. Die Fragentabelle würde alle Fragen für die Umfrage enthalten. Die Antworttabelle würde individuelle Antworten aus der Umfrage enthalten, wobei jede Zeile mit einer Frage verknüpft ist.
Ein einfaches Beispiel:
tblSurvey : SurveyID
tblQuestion : QuestionID, SurveyID , QuestionType, Question
tblAnswer : AnswerID, UserID , QuestionID , Answer
tblUser : UserID, UserName
Mein Problem dabei ist, dass es Unmengen von Antworten geben könnte, die die Antworttabelle ziemlich groß machen würden. Ich bin mir nicht sicher, ob das in Bezug auf die Leistung so großartig ist.
Ich würde mich über Ideen und Vorschläge freuen.