Type d'un champs dans une table

Sh@tter Messages postés 157 Date d'inscription   Statut Membre Dernière intervention   -  
Sh@tter Messages postés 157 Date d'inscription   Statut Membre Dernière intervention   -
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?

A voir également:

4 réponses

Sh@tter Messages postés 157 Date d'inscription   Statut Membre Dernière intervention   46
 
Ah ouai ok!! Bon jv quand même pas aller jusque là mais c'était à titre informatif.
Merci pour tes réponses!
1
toto
 
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
toto
 
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   Statut Membre Dernière intervention   46
 
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