Database
 sql >> Base de données >  >> RDS >> Database

Un modèle de base de données pour une enquête en ligne. Partie 1

Je dois créer le design d'une nouvelle base de données qui sera la couche de données pour une candidature; l'application sera une enquête en ligne ou des sondages comme Survey Monkey. Mon défi est que la fonctionnalité dont j'ai besoin n'est pas prise en charge par les sites d'enquête existants, je dois donc créer la mienne. Ce dont j'ai besoin est une enquête conditionnelle (si la réponse à la question 4 est "oui", alors nous posons la question 5 et sautons la question 6; mais si la réponse à la question 4 est "non", alors nous sautons la question 5 et posons la question 6 ).

Je vais écrire une série d'articles sur cette conception et étendre la conception à chaque fois, donc cet article porte principalement sur la mise en scène de la base de données d'enquête de base. Dans les prochains articles, je travaillerai sur les fonctionnalités plus avancées liés à un ordre conditionnel des questions dans une enquête et à l'administration des enquêtes.

Domaine

Le domaine d'une enquête en ligne est basé sur un questionnaire ou un sondage composé d'une série de questions. Les répondants répondront à l'enquête et nous devons stocker leurs réponses.

Pour l'instant, nous allons commencer par des questions ouvertes qui consistent en une question et une réponse.

Dans les futures versions du modèle, nous voudrons définir l'ordre des questions dans l'enquête, si les questions sont conditionnelles ou non, et les différents types de questions (comme les choix multiples).

Fonctionnalité

Comme mentionné, nous demanderons aux répondants pour répondre à l'enquête (elle ne sera pas ouverte à tout le monde) et nous devons stocker leurs réponses. De plus, le même participant peut revenir et mettre à jour ses réponses. Stockage des réponses peut être un peu difficile car nous aurons besoin de tableaux liés aux questions d'origine, mais avec des réponses pour chacun des répondants qui répondent à l'enquête.

Dans les futures versions du modèle, nous ajouterons des administrateurs des sondages en ligne.

Enfin, il faudra des rapports et des analyses :quelles ont été les réponses ? Combien de réponses ont été reçues des différents sous-groupes ? À quelles questions n'ont pas répondu le plus souvent (pour identifier les questions mal formulées) ?

Entités et relations

Voyons voir :nous avons un sondage (ou questionnaire) composé d'une série de questions. Pour l'instant, nous ne commençons que par des questions ouvertes, il n'y a donc pas besoin de réponses possibles liées à la question, comme cela serait nécessaire pour les questions à choix multiples. L'ordre des questions dans l'enquête sera fixe (défini lors de la création de l'enquête), mais dans les futures versions du modèle, nous aimerions ajouter l'option d'un chemin conditionnel à travers l'enquête.

Évidemment, nous aurons besoin de répondants et de leurs réponses. Comme mentionné, nous ajouterons l'administration des utilisateurs dans les futures versions du modèle.

Conception formelle

Maintenant que nous connaissons les entités et les relations, nous sommes prêts à construire notre Entity Relationship Diagram (ERD). Pour ce faire, nous utiliserons Vertabelo , un outil en ligne de modélisation de base de données. Si vous n'avez pas encore de compte Vertabelo, vous pouvez vous inscrire ici pour un essai gratuit.

Pour notre enquête en ligne, nous commencerons par l'enquête, ses questions associées et l'ordre dans lequel les questions sont affichées. Nous ajoutons les répondants, puis lions les enquêtes auxquelles un répondant a fourni des réponses et leurs réponses à une enquête.




Pour l'instant, utilisons cela comme base et ajoutons de la complexité dans les futures versions du modèle.

Conclusion

Une fois notre conception de base définie, nous pouvons maintenant commencer à réfléchir à des améliorations. Dans les prochains articles, je travaillerai sur les fonctionnalités plus avancées telles que :

  • Différents types de questions telles que les questions à choix multiples
  • Ordre conditionnel des questions dans une enquête
  • Administration des enquêtes.