Type d'un champs dans une table

Fermé
Sh@tter Messages postés 157 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 octobre 2009 - 13 oct. 2008 à 11:00
Sh@tter Messages postés 157 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 octobre 2009 - 13 oct. 2008 à 15:54
Bonjour à tous,

Voilà ma question : est-t-il possible dans une base de données de mettre un champs qui contiendra plusieurs données?

Par exemple si je souhaite avoir un champs 'Couleurs préférées'. Dans ce cas une personne peut avoir une ou plusieurs couleurs, il faut donc que le champs puisse contenir plusieurs valeurs, et pas une seule...
Comment faire SVP?

4 réponses

Sh@tter Messages postés 157 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 octobre 2009 46
13 oct. 2008 à 15:54
Ah ouai ok!! Bon jv quand même pas aller jusque là mais c'était à titre informatif.
Merci pour tes réponses!
1
Bonjour

Tu as toujours le droit de mettre des couleurs séparées par des virgules par exemple, mais il faut alors un tas de traitements pour extraire les informations, ajouter ou retirer une couleur de la liste, etc... Bref c'est la galère.
Tu as très probablement intérêt à créer une table séparée pour les couleurs, avec juste deux colonnes : une première pour l'identificateur qui te permet de faire le lien avec la 1ère table, et une deuxième pour la couleur
0
Le type enum peut servir à coder les couleurs. Si la liste des couleurs est bien définie au départ, tu définis un enum qui peut valoir 'bleu', 'rouge' etc...
L'intérêt par rapport à un champ texte est le codage plus concis ( la bdd remplace chacun de mots par un nombre 1, 2, 3 etc) ce qui réduit la taille de la base et accélère les manipulations (recherches et autres).
L'inconvénient (ou un autre avantage ?), c'est que si un poète a envie de mettre 'azur' et que tu ne l'avais pas prévu, il ne peut pas. Il faut que tu modifies la définition de ton enum pour ajouter 'azur'.
0
Sh@tter Messages postés 157 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 octobre 2009 46
13 oct. 2008 à 11:24
Oui c'est vrai que la première solution paraît assez complexe. Je vais donc tenter la seconde ^^

Juste une petite question encore : à quoi sert le type ENUM stp?

Merci pour ta réponse et ta rapidité en tout cas toto!
-1