OVH Cloud OVH Cloud

[MySQL] champ checkbox et conception d'une table

1 réponse
Avatar
p_geni...
Bonjour,

je souhaite créer une table et y enregistrer les valeurs
d'un formulaire qui contient un champ de type checkbox (choix multiples)

j'hésite entre l'utilisation des types suivants:

- varchar (avec les choix séparés par une virgule)
- ou l'utilisation du type set('1','2','3') etc...

Il y a une centaine de valeurs pour le champ checkbox
avec un choix de 5 valeurs maxi.

et je pense déjà aux performances des recherches/mises à jours de cette
table.

j'aimerais avoir un retour sur les expériences des unes et des autres
avec les avantages et inconvénients des deux façons de faire

S'il y a d'autres façon de faire je suis preneur...

Pierre.





-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/

1 réponse

Avatar
Patrick Mevzek
Le Wed, 12 Jul 2006 14:39:27 +0000, p_geni a écrit :
- varchar (avec les choix séparés par une virgule)



Mauvaise idée, vous cassez le modèle relationnel.

- ou l'utilisation du type set('1','2','3') etc...



Je ne sais pas si c'est standard, et la même remarque que précédemment
s'applique je pense.

Il y a une centaine de valeurs pour le champ checkbox avec un choix de 5
valeurs maxi.

et je pense déjà aux performances des recherches/mises à jours de
cette table.



Une table qui enregistre chaque choix dans une ligne.
form_id
content

form_id correspond à une instance de votre formulaire
et content à une valeur choisie. Il y a autant de lignes que de valeurs
choisies.
Plus un checkbox_id (je ne suis pas sûr de comprendre votre
modélisation) éventuellement pour identifier le checkbox concerné (mais
le nom est mauvais, il faudra trouver mieux)

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
<http://www.dotandco.net/ressources/icann_registries/index>