Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1127 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Question de definition de champ

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question de definition de champ

n°1194214
protoss_tt​h
May the Code be with you
Posté le 07-09-2005 à 15:50:48  profilanswer
 

Bonjour,
 
je realise un questionnaire du type multiple-choice pour une évaluation en ligne. Pour une question donnée plusieurs solutions sont envisageables 5 au total, cela ressemble schematiquement à ca:
 
Question 124: la pizza margaritha contient:
 
a. concombre
b. pamplemousse
c. tomate
d. fromage
e. peche
 
http://www.wh-hms.uni-ulm.de/~or2/Bilder/DB_proposals.jpg
http://www.wh-hms.uni-ulm.de/~or2/Bilder/DB_proposals2.jpg
 
 Est-il possible d'utiliser dans la definition du type de  mon champ sol1 (SET) les valeurs des colonnes precedentes? en l'occurence fromage et tomate, sachant que mes 5 solutions possibles changent à chaque question.
 
 
... de sorte à obtenir pour mon champ sol1  
set('valeur de prop1a','valeur de prop1b','valeur de prop1c,'...etc...')
et non pas
set('a', 'b', 'c', 'd', 'e')
et si oui comment??
 
Merci d'avance pour le coup de pouce.
 

mood
Publicité
Posté le 07-09-2005 à 15:50:48  profilanswer
 

n°1194271
Mara's dad
Yes I can !
Posté le 07-09-2005 à 16:29:05  profilanswer
 

Non, les valeurs d'un champ de type SET sont définies une fois pour toutes.
 
Remaques à propos de ton modèle de données :
 
Il me semble un peu faible et figé.
Il serait beaucoup plus souple d'utilisation avec plusieurs tables : Questions, Propositions, Solutions et éventuellement Résultats (ceux des Evalués à mettre en relation avec une table des Evalués si tu en as une.).
 
A+


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°1194272
Mara's dad
Yes I can !
Posté le 07-09-2005 à 16:29:17  profilanswer
 

Non, les valeurs d'un champ de type SET sont définies une fois pour toutes.
 
Remaques à propos de ton modèle de données :
 
Il me semble un peu faible et figé.
Il serait beaucoup plus souple d'utilisation avec plusieurs tables : Questions, Propositions, Solutions et éventuellement Résultats (ceux des Evalués à mettre en relation avec une table des Evalués si tu en as une.).
 
A+


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°1194273
Mara's dad
Yes I can !
Posté le 07-09-2005 à 16:30:14  profilanswer
 

Désolé pour la double réponse, j'ai eu un message d'erreur du forum, alors j'ai reposté :(


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°1194282
jagstang
Pa Capona ಠ_ಠ
Posté le 07-09-2005 à 16:35:45  profilanswer
 

prop1a, prop1b, prop1c,...
 
c'est typiqueme le cas où il faut modéliser ta base un peu mieux. avec 3 tables au minimum


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1194371
protoss_tt​h
May the Code be with you
Posté le 07-09-2005 à 17:49:30  profilanswer
 

jagstang a écrit :

prop1a, prop1b, prop1c,...
 
c'est typiqueme le cas où il faut modéliser ta base un peu mieux. avec 3 tables au minimum


 
hmm.. je vois pas pourquoi. prop1a, prop1b, prop1c,prop1d, prop1e est un groupe de propositions correspondant à une question avec au grand max 3 groupes soit 15 propositions pour une question.
c'est un peu comme si j'avais:
nom, prenom, pseudo, age, adresse | tel, lieu de naissance....etc...
 
 
au plus ce que je pourrais faire c'est mettre mon 1er groupe (prop1a, prop1b, prop1c,prop1d, prop1e) dans une table et (prop2a, prop2b, prop2c,prop2d, prop2e) dans une autre mais je vois pas trop l'interet dans ce cas précis.
 
Enfin si t'as une proposition concrète je suis à l'écoute.
Merci pour la reponse rapide en tous cas, je me doutais un peu que ca ne marcherait pas vu que la reference MySQL n'avais rien precisé.. mais ca coute rien de demander. :jap:  
 
 
Quant à faire une table pour les solutions j'y ai reflechit aussi mais bon... faire une table seulement pour marquer la solution ca va me faire un bon flan de requettes a taper pour sortir quoi que ce soit, alors que en fin de compte tout va ensemble, là aussi ca m'aiderait si vous précisiez ce que ca me permettrait de faire et ce que ca m'empeche de faire... j'ai un peu de mal à avoir une vision globale de l'utilité de toute une multitude de tables.
 
J'ai deja une table de questions, une pour les propositions éventuellement une pour les réponses , histoire de pas melanger les torchons et les serviettes, une pour les évalués (ID_évalué,nom.prénom...) et une bien sûr une dans laquelle je place le nombre de points par question(ID_évalué,points_question_124, points_question_125, points_question_126,.....).
 
Là aussi faut-il que je crée une table pour chaque question afin d'y stocker les points de chaque évalué? si je pose par exemple 100 questions ca me ferait 100 tables...? et vu que le tout est censé être dynamique (php) bonjour le bazar. :pt1cable:  
Je voudrais quand même arriver à faire un truc propre et lisible, donc si vous avez des suggestions je suis preneur, quitte à y passer du temps. Vous pensez quoi du modèle?
 
 
Mon questionnaire est en fait un jeu de questions avec des sous-questions(3 au plus)

Question 124:

  • la pizza margaritha contient: (2pt)

a. concombre
b. pamplemousse
c. tomate
d. fromage
e. peche
 

  • et elle se mange: (2pt)

a. chaude
b. froide
c. moisie
d. verte
e. pas
 
Question 125:

  • vous faites du vélo

a. en ville
b. à la montagne
c. de course
d. moteur
e. cation

n°1194467
Beegee
Posté le 07-09-2005 à 20:33:48  profilanswer
 

Pourquoi tu sépares les questions des propositions ? Tu as plusieurs ensembles de propositions pour une même question ?
 
Intuitivement, j'aurais fait une seule table, par exemple:
 
- id de question,
- text de la question,
- proposition 1,
- booléen pour dire que la proposition 1 est correcte / fausse,
- proposition 2,
- booléen pour dire que la proposition 2 est correcte / fausse,
- etc.
 
Ca c'est dans le cas où le nombre de propositions est figé, sinon, faire une table à part, avec id question, et proposition / booléen par exemple.
 
Ca permet d'avoir des réponse correctes multiples à une même question ... Ca permet également d'afficher facilement la / les bonnes réponses en bouclant sur les propositions, et en regardant les booléens.

n°1194559
Mara's dad
Yes I can !
Posté le 07-09-2005 à 23:28:14  profilanswer
 

protoss_tth a écrit :

J'ai deja une table de questions, une pour les propositions éventuellement une pour les réponses , histoire de pas melanger les torchons et les serviettes, une pour les évalués (ID_évalué,nom.prénom...) et une bien sûr une dans laquelle je place le nombre de points par question(ID_évalué,points_question_124, points_question_125, points_question_126,.....).
 
Là aussi faut-il que je crée une table pour chaque question afin d'y stocker les points de chaque évalué? si je pose par exemple 100 questions ca me ferait 100 tables...? et vu que le tout est censé être dynamique (php) bonjour le bazar. :pt1cable:  
Je voudrais quand même arriver à faire un truc propre et lisible, donc si vous avez des suggestions je suis preneur, quitte à y passer du temps. Vous pensez quoi du modèle?
 
 
Mon questionnaire est en fait un jeu de questions avec des sous-questions(3 au plus)


 
Le nombre de point n'a pas besoin d'une table à part, c'est une propriété de la question, donc ça va dans la table des questions.
 
Je vois un truc comme ça :
 
Table "Questionnaire" (pour gérer plusieurs questionnaires)
ID
LIBELLE (Nom/Titre du questionnaire)
ACTIF (Booléen)
...
 
Table Question
ID
ID_QUESTIONNAIRE (Id du questionnaire auquel appartient la question)
ID_QUESTION (ID de la Question principale si c'est une sous-question, sinon NULL)  
ORDER_NUM (Numéro d'ordre de la question dans le questionnaire ou dans la liste des sous-questions)  
LIBELLE (Texte de la question)
POINTS
...
 
Table Proposition
ID
ID_QUESTION
LIBELLE (Texte de la proposition)
VALID (Booléen qui indique que la réponse est juste ou non, sinon faire une table Reponse si plusieurs solutions sont possibles)
 
Table Evalue
ID
NOM
PRENOM
EMAIL
...
 
Table Evaluation
ID
DATE_TEST
ID_EVALUE
ID_QUESTIONNAIRE
ID_QUESTION
ID_PROPOSITION
...
 
Avec un modèle de ce genre, sauf erreur,  tu peux tout faire ! il n'y a pas de limites en nombre de question, de proposition et de sous-question.
Une même personne peux même faire le test plusieurs fois.
Tu peux choisir de stocker le total de points dans une table intermédiaire ou de ne pas stocker le détail des réponses, pour optimiser le nombre de requête, mais avec ce modèle il n'y a pas de redondance d'info et donc moins de risque d'erreur.
 
T'as essayé la programation objet ?
 
Pas besoin d'une table par question !
 
Remaque, quand tu commence à te dire que tu vas avoir besoin d'une table par "TRUC" (cf 100 questions -> 100 tables), c'est qu'il y a un gros problème dans ton modèle...
 
A+


Message édité par Mara's dad le 07-09-2005 à 23:34:30

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°1194639
jagstang
Pa Capona ಠ_ಠ
Posté le 08-09-2005 à 08:59:57  profilanswer
 

protoss_tth a écrit :

hmm.. je vois pas pourquoi. prop1a, prop1b, prop1c,prop1d, prop1e est un groupe de propositions correspondant à une question avec au grand max 3 groupes soit 15 propositions pour une question.
c'est un peu comme si j'avais:


j'avais pas compris comme ça  [:jagstang]


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1194763
protoss_tt​h
May the Code be with you
Posté le 08-09-2005 à 11:14:49  profilanswer
 

Super merci pour les conseils. Je trouve la structure de la table question particulierement interessante je vais d'ailleurs la reprendre pour l'adapter à mes differents types de questions.
J'ai aussi en tête de gerer les synonymes et avec ce modèle j'aurais une gestion très efficace je pense.
 
C'est vrai que j'avais pas l'intention de faire un systeme aussi flexible mais qui peut le plus peut le moins comme on dit.
 
Thanks.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Question de definition de champ

 

Sujets relatifs
[Matlab] question sur les figures[Mysql] Question sur version
Question XML-FlashQuestion index FullText
SQL Server : Variable du type d'un champ de la baseFonction mail() :petite question
[php] question toute simple sur le retour de 'date("d")'question sur la compilation
textarea : définition ?question existentielle MySQL : INT(x)
Plus de sujets relatifs à : Question de definition de champ


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR