Hallo,
ich bin bei der Planung eines Projektes an einem Punkt, an dem ich mir nicht gänzlich sicher bin, welche Art der Datenhaltung angebracht wäre.
Es geht um einen Fragekatalog, der alle möglichen Antworten dynamisch abdecken können soll. Im einfachsten Fall gibt es eine MultipleChoice-Frage. In komplexesten Fall eine Frage mit einem frei konfigurierbaren Formular mit diversen Eingabefeldern - auch Select-Boxen.
Und genau hierbei stoße ich auf Probleme bei der Normalisierung der Datenbank.
Vereinfachtes Beispiel:
BUILDER_INQUIRY besitzt einen reply_type (input, multiple_choice, etc). Anhand diesen könnte ich dann in der Anwendung die entpsrechende Referenztabelle joinen.
BUILDER_REPLY_INPUT und BUILDER_REPLY_MULTIPLE_CHOICE sind nur zwei Beispiele der möglichen Antwort-Typen.
Problembeschreibung Selectbox (Bsp):
Ein Inquiry könnte den Reply-Typen "INPUT" besitzen. Durch 1:n könnten dem Inquiry mehrere Inputs zugeordnet werden. Gesetz den Fall, dass davon eines eine Selectbox ist, müssten nun auch die Values und Keys entsprechend angegeben werden können. Das hieße ich müsste extra (=ausschließlich) für die Selectboxen weitere Felder hinzufügen. Oder eine weitere Tabelle erstellen.
Mir ist der Anwendungsfall irgendwie zu flexibel um ihn normalisiert zu halten.
Daher meine Frage, ob in diesem Fall nicht evtl. zu einer NoSQL-Datenbank zu raten wäre.
Über Eindrücke würde ich mich freuen.
Danke & MfG
M.Klein