Ich muss eine Umfrage erstellen, deren Antworten in einer Datenbank gespeichert werden. Ich frage mich nur, wie ich dies am besten in der Datenbank implementieren kann, insbesondere die 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 (z. B. alles ankreuzen, was zutrifft).
Ich habe mir zwei mögliche Lösungen einfallen lassen:
-
Erstellen Sie eine riesige Tabelle, die Folgendes enthält die Antworten für jede Umfrage Eingabe enthält. Jede Spalte würde entspricht einer Antwort aus der Umfrage entsprechen, z. B. SurveyID, Answer1, Antwort2, Antwort3
Ich glaube nicht, dass dies der beste Weg ist. da es eine Menge Fragen gibt in dieser Umfrage und scheint nicht sehr flexibel, wenn sich die Umfrage ändern soll.
-
Die andere Sache, an die ich dachte, war eine Tabelle mit Fragen und Antworten Tabelle. Die Fragetabelle würde enthält alle Fragen für die Umfrage enthalten. Die Antworttabelle enthält einzelne Antworten aus der Umfrage, wobei jede Zeile mit einer Frage verknüpft ist.
Ein einfaches Beispiel:
tblSurvey : UmfrageID
tblFrage : QuestionID, UmfrageID , QuestionType, Frage
tblAntwort : AntwortID, Benutzer-ID , FrageID , Antwort
tblBenutzer : BenutzerID, Benutzernamen
Mein Problem dabei ist, dass es Tonnen von Antworten geben könnte, was die die Antworttabelle ziemlich groß wird. Ich bin nicht sicher, ob das so toll ist, wenn es die Leistung angeht.
Ich würde mich über jede Idee und jeden Vorschlag freuen.
0 Stimmen
Wie viel ist "ziemlich viel"? Geben Sie uns eine Schätzung, sprechen wir von einer Million oder von tausend Millionen?
1 Stimmen
SQL-Server sind eigentlich für die Arbeit mit "Tonnen" von Daten konzipiert. Sie sollten keine großen Probleme haben, mit dem von Ihnen erwähnten Schema zu arbeiten.