Frage

Ich werde auf einer Anwendung arbeiten, die unsere Kunden ermöglichen Felder zu definieren, die Benutzer in einer Art von Feedback / Umfrage-Umgebung angezeigt. Zum Beispiel könnte eine Pizzeria ein Feld für Ihren Lieblings-Belag zu fragen hat, eine Bar könnte Ihre Lieblingsbiermarke hat.

Das System muss in der Lage sein, unsere Kunden zu handhaben lassen, erstellen und diese Felder ändern, da sie auf den spezifischen Kunden abhängig sind und wahrscheinlich nicht dupliziert werden. Es wäre ideal, wenn es eine Möglichkeit war Vorschläge an den Kunden auf ähnliche Kunden Felder basierend vorzulegen; zum Beispiel, wenn wir eine zweite Pizzeria anmelden, auf der Admin-Seite definieren Felder haben könnte es sagen, dass ähnliche Unternehmen wählten die folgenden Fragen zu stellen, und eine Liste der „Probe“ Werte darstellen.

Wäre das für diese Tabelle ein guter Kandidat für das Entity-Attribute-Value (EAV) Modell sein? Ein traditionelles relationales Modell nicht funktionieren würde, weil es viele Felder als „user1“ und dergleichen, was natürlich sehr unhandlich für alles, was bedeuten würde.

War es hilfreich?

Lösung

Nein, das System Sie beschreiben keine EAV erfordern, obwohl das, was Sie unten sehen können erscheinen einige gemeinsame Elemente mit EAV-Modelle haben:

CLIENT (clientId, client)

SURVEY (surveyId, clientId)

BEFRAGTE (respondentId, surveyId, respondentName, respondentEmail)

Frage (QuestionID, surveyId, questionText) z.B. "Liebling Topping"

OPTION (QuestionID, response) z.B. "Sardellen", "pepperoni"

RESPONSE (QuestionID, respondentId, response)

kann ein Client viele Umfragen erstellen, von denen jeder viele Fragen haben, einige mit den vorgeschlagenen OPTIONS. Ein Befragter antwortet auf eine Umfrage, und ihre Antworten werden jeweils als Reaktion aufgezeichnet. RESPONSE.responseText kann oder auch nicht einen bestimmten OPTION.responseText entspricht, je nachdem, ob sie eine Option gepflückt oder getippt ihre eigene Antwort.

Dies ist nur ein Beispiel, es gibt viele Variationen dieses Modell, das Sie wahrscheinlich machen müssen, um Ihre spezifische Anforderungen zu entsprechen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top