Table MySQL

Bonjour,

J'aurais besoin de vos conseils pour la création d'un/de table(s)
Je pensais faire comme ça :

Pays | Region | Departement ....

Est ce mieux d'enregistrer dans Pays, région et département un numéro d'id qui sera lié a 3 autres tables ou bien mettre directement dans cette table ?

Car après j'aurais besoni de faire des recherches dans cette table donc je faire le meilleur moyen pour que ce soit optimisé ;)

Merci

7 réponses

  1. Bah oui , chaque table contient un id, un nom et l'id de son "parent" (sauf pour PAYS bien sur)
    1. Si dans cette table, je veux rechercher par exemple une région, il me faudra bien l'id de cette région ?
      1. sans requete précise je ne peux pas te dire grand chose, tu veux faire quoi exactement ?
        1. Oui, ok
          Mais comment tu arrives à l'id.. pays/region ... ?
          Ca fait faire une autre requête précédente ?
          1. Le département sait dans quelle région il est avec id_de_la_region, la région sait dans quel pays elle est avec id_du_pays. Pour tes recherches tu as :
            DEPARTEMENT.id_de_la_region = REGION.id
            et
            REGION.id_du_pays = PAYS.id
            1. Oui, c'est bien ce que je pensais faire mais une question me vient. C'est pour la recherche, est ce vraiment mieux ?
              Si je recherche par exemple un département ou une region, il faudrait lier les deux tables ? Tu ferais comment ?

              Merci
              1. Il vaut mieux stocker uniquement l'id du département et faire 3 tables :
                - PAYS : id - nom
                - REGION : id - nom - id_du_pays
                - DEPARTEMENT : id - nom - id_de_la_region

                Comme ça tu as une vraie hierarchie et tu peux donner des contraintes à tes utilisateurs, faire des recherches...