Maison > base de données > tutoriel mysql > Comment un schéma de base de données peut-il gérer efficacement les questions conditionnelles dans un système d'enquête ?

Comment un schéma de base de données peut-il gérer efficacement les questions conditionnelles dans un système d'enquête ?

Barbara Streisand
Libérer: 2025-01-06 15:43:47
original
654 Les gens l'ont consulté

How Can a Database Schema Effectively Handle Conditional Questions in a Survey System?

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 :

  • DependentQuestionID : ID de la question qui dépend d'une réponse précédente.
  • PrerequisiteQuestionID : ID de la question dont la réponse déclenche l'affichage des données dépendantes question.
  • PrerequisiteAnswerID : ID de la réponse spécifique à la question préalable qui détermine si la question dépendante est affichée.

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
)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal