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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SGBD/Mysql] Choix multiples et stockage en BDD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SGBD/Mysql] Choix multiples et stockage en BDD

n°498144
deliriumtr​emens
sic transit intestinal...
Posté le 26-08-2003 à 09:48:55  profilanswer
 

Lut,
 
Ayant à récupérer une base Access pour en faire une utilisation constructive sur le web, je me pose des questions sur la logique de la personne qui l'a construite et ce que je peux en faire.
 
Comme il y a des chances que je passe le tout en Mysql, n'hésitez pas à orienter vos réponses de ce côté.
 
Il y a en particulier dans la base de nombreux champs correspondant à ce qui deviendra des checkbox (choix multiples, donc).
 
La gestion actuelle dans la base Access est de traiter chaque choix par un champ différent de type booléen.
 
Me posais la question de savoir si c'était la manière la plus cohérente de traiter ces cas, si un champ unique avec différentes valeurs regroupées (traitées ensuite par explode et implode) était plus logique, ou encore si un champ de type ENUM était plus approprié (sachant que les choix sont >64).
 
Bref, faire une base avec des multitudes de champs ou augmenter les traitements par PHP...
 
Si les 2 dernières solutions sont plus cohérentes, comment gérer l'import des données (y en a pas des millions, mais réentrer manuellement le tout me paraît un poil lourdingue).
 
Merchi d'avance.

mood
Publicité
Posté le 26-08-2003 à 09:48:55  profilanswer
 

n°498202
the real m​oins moins
Posté le 26-08-2003 à 10:35:46  profilanswer
 

la maniere la plus propre c'est la maniere "normalisée"
(style une table 'questionnaire' et une table 'reponses_possibles' qui contient X records par questionnaire)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°498235
deliriumtr​emens
sic transit intestinal...
Posté le 26-08-2003 à 10:51:43  profilanswer
 

J'y avais vaguement songé, ça nous fait donc une table pour chaque série de checkbox.
 
C'est certainement le plus "normalisé" (Les champs de types ENUM ou SET sont du Mysql et pas du SQL ?).
 
Comme la chose doit être en plus multilingue, ça me paraît assez pratique.
 
Par contre pour l'import des données je sens que je l'ai assez profondément avec ce système, vu la différence de structures...
 
Merchi.

n°498237
the real m​oins moins
Posté le 26-08-2003 à 10:52:24  profilanswer
 

mais non, pas une table pour chaque série de checkbox !! :heink:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°498246
deliriumtr​emens
sic transit intestinal...
Posté le 26-08-2003 à 10:58:04  profilanswer
 

Hmpfff...
 
So what ?  
 
S'il y a plusieurs séries de checkbox et plusieurs autres champs dans le formulaire, qu'est-ce qui va où ?
 
(Parce que la seule fois où j'ai pratiqué la chose, en ASP/Access, j'avais un cas de choix multiples et j'ai fait une table liée à la table "principale" avec les différents choix).
 
Je m'excuse d'être un poil con, mais je prendrais volontiers des précisions.

n°498263
the real m​oins moins
Posté le 26-08-2003 à 11:04:52  profilanswer
 

create table questionnaire (
id bigint auto_increment,
titre varchar(50),
description longtext,
auteur varchar(50),
date_debut datetime,
date_fin datetime);
 
create table questions (
id bigint auto_increment,
lang char(2),
questionnaire_id bigint,
question longtext);
 
create table questions_choix (
id bigint auto_increment,
question_id bigint,
reponse varchar(255));
 
 
je te laisse pondre les requetes :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°498269
deliriumtr​emens
sic transit intestinal...
Posté le 26-08-2003 à 11:08:40  profilanswer
 

:jap:  
 
Z'êtes bien bon, monseigneur.
 
Mon neurone devrait se montrer capable de requêter là-dessus.

n°498271
the real m​oins moins
Posté le 26-08-2003 à 11:09:17  profilanswer
 

DeliriumTremens a écrit :

:jap:  
 
Z'êtes bien bon, monseigneur.
 
Mon neurone devrait se montrer capable de requêter là-dessus.

syntaxe non garantie, et j'ai surement oublier de penser à des "details", mais bon t'as l'idée quoi ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

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

  [SGBD/Mysql] Choix multiples et stockage en BDD

 

Sujets relatifs
[PHP/MySQL] Probleme de guillemets : A L'AIDE !![MySQL] Comment incrémenter une valeur contenue dans un tableau ??
Enregistrer des images en BLOB dans la BDD - Mauvaise idée ?Topic sur les livres PHP / MYSQL + opinions
[MySQL] A quoi sert l'attribut UNIQUE ??[MySQL] Comparaison avec des type DateTime...
[MySQL] Astuce pour qu'un count( ) vide retourne la valeur 0 ?[php/MySQL]Comment renvoyer la derniere valeur d'une colonne donné ?
[ MySql ] Problème "Table inexistante" ou "Champs pas dans field list"[MySQL] jointure dans syntaxe update
Plus de sujets relatifs à : [SGBD/Mysql] Choix multiples et stockage en BDD


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