Différentes valeurs dans un champ de BDD

Bonjour,
Je dois créér une bdd avec dans un champ la nécéssité de mettre plusieurs valeurs. Quel type de chap utilisé ? est-ce que enum fait l'affaire et si oui comment l'utilise-t-on ?

exemple : max dupont fait partie de la famille dupont dont l'id-famille est 2. il se marie et fait également partie de la famille durant dont l'id-famille est 3
Pour max il faut donc que dans un champ id-famille je stocke la valeur 2 et la valeur 3.

Merci pour votre aide
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. merci pour vos eclaircissements !!!

    une autre question si possible, je prépare ma bdd avec un champ set dans lequel sera stocké les différents id_famille du fameux max dupont. comment faire cette saisie via phpmyadmin ???
    1. Salut tu peut essayer le type SET qui s'utilise comment ceci : SET('valeur1','valeur2', 'valeur3'...)
      1. et donc pour ma requete en gardant l'exemple ci dessus, si je cherche les membres de la famille dupont ce sera :

        ... where id_famille =2
      2. @ledudoui par contre il faudrait faire un tableau pour savoir quelle valeur correspond à quelle famille
    2. Contributeur
      Un peu d'analyse :

      [ Familles ] 1,N ---( faire partie )--- 1,N [ Personnes ]

      Ce qui signifie : "Une famille comporte une ou plusieurs personnes, une personne fait partie d'une ou plusieurs familles".

      1,N de chaque côté, ça se traduit par la création d'une table intermédiaire :

      Familles (IDFamille, NomFamille)
      Personnes (IDPersonne, NomPersonne, PrenomPersonne)
      LiensFamiliaux (#IDPersonne, #IDFamille)

      Remplissons un peu les tables pour l'exemple...

      Table Familles

      IDFamille NomFamille

      1 Dupont
      2 Martin
      3 Durand

      table Personnes

      IDPersonne NomPersonne PrenomPersonne
      1 Dupont Jean
      2 Dupont Alice
      3 Martin Albert

      Jean Dupont (IDPersonne 1) et Alice Dupont (IDPersonne 2) font tous deux partie de la famille Dupont, qui a l'IDFamille 1 :

      Table LiensFamiliaux :

      IDFamille IDPersonne
      1 1
      1 2

      Maintenant, nous voulons dire que Alice Dupont (IDPersonne 2) fait aussi partie de la famille Martin (IDFamille 2) :

      La table LiensFamiliaux devient donc :

      IDFamille IDPersonne
      1 1
      1 2
      2 2

      Et voilà, de cette façon tu peux avoir des membres dans plusieurs familles à la fois.

      Ensuite, il faut simplement faire les requêtes en prenant en compte cette table intermédiaire.