Exemple de types de questions jusqu'à présent: P>
Réponse unique à choix multiple (Think Radio Bouton) P> Li>
Choix multiple Réponse multiple (Cochez la case Pensez) P> LI>
correspondant (maintenant il existe de nombreuses permutations de sélections possibles) p> li> ul>
Je veux les stocker dans une structure de base de données pouvant être utilisée pour ces types et de nombreux autres types de questions à l'avenir, alors j'essaie de penser à un moyen d'être ... extensible? P>
À l'heure actuelle, j'ai (votre recommandation ne doit pas nécessairement être limitée par cela): p>
Une question peut avoir de nombreuses réponses. Une paire d'utilisateurs / de questions peut avoir beaucoup de chrosenanswers. P>
Cependant, je ne peux pas faire ce travail bien avec correspondant autant que je puisse dire, et je ne suis pas non plus convaincu que cela fonctionnera facilement pour une réponse multiple, ce qui signifie facilement le moins de logique nécessaire lors du calcul du Score total des personnes, etc. p>
Quelqu'un peut-il penser à un design qui me permettrait d'utiliser tous les trois types de questions de quiz ainsi que d'ajouter des futures? J'ai besoin d'inspiration, un changement de paradigme si vous voulez ... p>
Un exemple de types de questions futurs pourrait être «mettre cette liste de choses dans l'ordre séquentiel approprié» ... etc. p>
Il faut y avoir un moyen, cependant compliqué peut sembler, de prendre en compte tous ces différents types de questions possibles tout en vous laissant utiliser un moyen assez simple de calculer le score total pour un quiz à des fins de rapport, etc. en avant. P>
S'il vous plaît laissez-moi savoir dans les commentaires ici s'il y a des détails que je manque, mais il est préférable de supposer que je n'ai même pas examiné un détail que vous envisagez, car j'ai mis tout ce que j'ai mis dans La question déjà, mais je vais ajouter de la clarté comme demandé. P>
3 Réponses :
Une réponse unique est comme une réponse multiple avec une contrainte, de sorte que celles-ci peuvent facilement être stockées dans la même table. Donc, ce que vous avez déjà travaillé pour ces deux déjà. P>
Je conseillerais de tenter de consolider trop, car si vous avez besoin d'ajouter un autre type de question, vous risquez de vous retrouver à refacturer votre paradigme, ce qui sera non seulement un mal de tête pour les vieux types mais aussi plus, ou tout autant, travailler pour le nouveau type. C'est-à-dire ajouter des tables spéciales pour les questions de type correspondant. P>
Vous pouvez toujours combiner les résultats à l'aide d'une vue. Ainsi, des types individuels sont faciles à entretenir, mais les résultats combinés sont faciles à générer également. Laissez la base de données gérer la complexité, pas votre propre intelligence. (Si vous n'êtes pas d'accord avec cela, vous pouvez aussi bien écrire un moteur personnalisé plutôt que d'utiliser SQL en premier lieu. :-)) p>
Oui, mes pensées exactement, j'espérais qu'il y avait un paradigme très extensible que je n'avais pas envisagé, je cherche juste de l'aide de penser en dehors de la boîte ... peut-être une approche axée sur les données très méta, je ne suis pas sûr ... Aussi: Vous développez sur ce que vous entendez dans votre dernier paragraphe «Combinez les résultats à l'aide d'une vue» Cela peut être le billet que je dois juste avoir plus de détails sur ce que vous voulez dire
Si cela est pour une entreprise, j'irais pour des tables supplémentaires comme je l'ai recommandé. S'il s'agit d'un exercice académique, aime voir ce qui est possible, alors par tous les moyens, ajoutez des colonnes supplémentaires à votre table de questions et de réponse et faites-la aussi compliquée de regarder comme vous le souhaitez. :)
Vous pouvez facilement penser à "correspondance" autant de questions avec une réponse à choix multiple-choix p>
au lieu du bouton radio, je suggérerais une boîte déroulante. Layout fonctionnerait mieux. P>
Pour plus d'inspiration, vérifiez comment Lon-Capa le fait. P>
bonne chance! p>
Dans la conception ci-dessous, nous utiliserons une série de drapeaux dans la table des questions pour indiquer quel type de question est. Nous indiquons également le niveau de la question. La table de réponse est liée à la table des questions via la clé étrangère. La table de test complète tiendra les résultats des tests terminés. Un seul test incomplète est autorisé par utilisateur. Dans la table d'essai incomplète, nous allons relier la question à la table des questions (OOPS m'a raté la ligne de relation), qui reliera les réponses possibles que nous enregistrons les réponses donnent à l'utilisateur dans une colonne de chaîne de la table d'essai incomplète. < / p>
p>
Sweet merci, je vais prendre du temps et regarder ça
Pouvez-vous penser à une façon de le faire sur papier? Sinon, oubliez la conception de la base de données.
@AlexBrown Oui, nous sommes en train de le faire maintenant ... J'espérais juste que des conseils extérieurs nous aident à penser à sortir de notre "boîte"
@iosamurai je suis confronté à un problème similaire.