Table MySQL

Utilisateur anonyme -  
zcrew Messages postés 251 Statut Membre -
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. zcrew Messages postés 251 Statut Membre 25
     
    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...
    1
  2. Utilisateur anonyme
     
    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
    0
  3. zcrew Messages postés 251 Statut Membre 25
     
    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
    0
  4. Utilisateur anonyme
     
    Oui, ok
    Mais comment tu arrives à l'id.. pays/region ... ?
    Ca fait faire une autre requête précédente ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zcrew Messages postés 251 Statut Membre 25
     
    sans requete précise je ne peux pas te dire grand chose, tu veux faire quoi exactement ?
    0
  7. Utilisateur anonyme
     
    Si dans cette table, je veux rechercher par exemple une région, il me faudra bien l'id de cette région ?
    0
  8. zcrew Messages postés 251 Statut Membre 25
     
    Bah oui , chaque table contient un id, un nom et l'id de son "parent" (sauf pour PAYS bien sur)
    0