Tables liées les unes aux autres ...

Eléphant du PHP | 360 Messages

25 juin 2007, 16:29

Bonjour,

Comment créer les 3 tables VILLE, DEPARTEMENT et REGION sachant que dans les 2 dernieres tables j'ai un champs contenant la prefecture de chacun d'eux. Cette préfécture étant une ville ...
Les créations de tables doivent etre faites dans l'ordre de dépendance.
Logiquement une VILLE dépend d'un DEPARTEMENT qui dépend lui meme d'une REGION mais sachant que la REGION et le DEPARTEMENT dépendent d'une VILLE ... Il y a de quoi se tirer les cheveux ...

Alors déjà pour le remplissage ... c'est dur mais encore il suffit d'autoriser les champs vides pour les préféctures ... mais pour la création de la table il va forcément retourner une erreur ...

QUE FAIRE ?????

:cry:
Dites ce que je fais, ne faites pas ce que je dis ...

Mammouth du PHP | 693 Messages

25 juin 2007, 16:37

Il faut un peu de methode.

Tout d'abord, les liaisons valables pour toutes les entrées.

Une ville appartient forcément à un département, donc la table VILLE aura une colonne departement qui réferera à son département. Pareil pour le département qui dépend de la région.

Ensuite,le cas des préfectures et des capitales de regions. Comme chaque départmeent à une unique préfecture, on ajoute à la table DEPARTEMENT une colonne préfecture qui renvoie à la ville qui est la préfecture. Pareil pour la table REGION.

Voila, j'espère que ca t'a aider.

Eléphant du PHP | 360 Messages

25 juin 2007, 16:53

Dans la logique c'est clair.
Ce que tu me dis est simple !

Là où se situe mon problème c'est que dans un Script SQL tu dois créer d'abord les tables non dépendantes des autres puis celles qui ont des "FOREIGN KEY".
Et là dans mon cas, c'est le même cas que l'oeuf et la poule : par lequel commencer sachant qu'ils forment une boucle !
Si tu fais une requete contenant une clé étrangère sans que la table référencée existe, il t'affiche un message d'erreur ...
Dans mon cas, mes tables se references les unes aux autres ... du coup erreur lors de l'execution du script ...

Ais-je bien exprimé mon problème ?
Dites ce que je fais, ne faites pas ce que je dis ...

Mammouth du PHP | 693 Messages

25 juin 2007, 16:59

TU peux ajouter des clef étrangère après, une fois que toutes tes tables sont faites.

Pa exemple tu fais d'abord les clefs étrangères ville->département et départmeent->region, puis une fois les tables créées, tu modifies les tables REGION et DEPARTEMENT pour ajouter les clef étrangère pour les préfectures.

Eléphant du PHP | 360 Messages

25 juin 2007, 18:33

Exact !!!!

Merci beaucoup !!!
J'avais oublié ... :oops:
Dites ce que je fais, ne faites pas ce que je dis ...