Schéma de base de données pour les questions conditionnelles dans un système d'enquête
Le schéma de base de données fourni, composé de tableaux pour l'enquête, la question, la réponse et les réponses possibles. , répond au besoin d’un système d’enquête simple. Cependant, pour incorporer des questions conditionnelles, des considérations supplémentaires sont nécessaires.
Présentation de la logique conditionnelle
La clé pour prendre en charge les questions conditionnelles réside dans la liaison de l'ensemble de données pour identifier les relations entre les questions. et leurs réponses respectives. Une table supplémentaire, QuestionDependency, peut être introduite pour définir ces dépendances.
Table QuestionDependency
La table QuestionDependency établit les prérequis d'affichage de certaines questions . Il comprend les colonnes suivantes :
Exemple :
Prenons l'exemple où la question « Quelle est votre marque de cigarettes préférée ? » (Question B) ne doit être affichée qu'aux personnes ayant répondu « Oui » à la question « Achetez-vous des cigarettes ? (Question A). La table QuestionDependency aurait l'entrée suivante :
DependentQuestionID | PrerequisiteQuestionID | PrerequisiteAnswerID |
---|---|---|
2 | 1 | 1 |
Requêtes de base de données pour la logique conditionnelle
Pour implémenter la logique conditionnelle, le système d'enquête devrait interroger la QuestionDependency tableau pour déterminer quelles questions doivent être affichées en fonction des réponses précédentes de l'utilisateur. Ceci peut être réalisé à l'aide de requêtes telles que :
SELECT QuestionID FROM Question WHERE QuestionID NOT IN ( SELECT DependentQuestionID FROM QuestionDependency WHERE PrerequisiteQuestionID = 1 AND PrerequisiteAnswerID = 2 )
Cette requête renverrait une liste d'identifiants de questions pour les questions qui doivent être masquées aux utilisateurs qui ont répondu « Non » à la question A.
En incorporant la table QuestionDependency et en implémentant des requêtes de base de données appropriées, le schéma proposé fournit un moyen flexible et efficace de prendre en charge les questions conditionnelles dans un système d'enquête.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!