12-05-2011, 10:01 AM
Bonjour,
J'avance tranquillement dans mon projet mais je me retrouve face un petit problème.
Je n'ai jamais été une flèche dans la modélisation de base de données ni en création de requêtes alambiquées et je dois préparer un système de prérequis pour la construction de mes bâtiments. Par exemple, pour construire une scierie, je doit au préalable avoir un bâtiment principal de niveau 2.
Mes relations sont donc basées sur l'existence d'un bâtiment mais également sur le niveau de celui-ci.
J'aurais souhaité avoir votre avis sur ma façon de procéder. Voici mes tables
Une table bâtiments construits avec id, niveau, id_utilisateur
Une table bâtiments requis avec id_batiment_a_construire,id_batiment_requis,niveau_requis
La où ça coince c'est lorsque je souhaite afficher tous les bâtiments non construits ET dont la construction est autorisée. A mon sens j'exécute beaucoup trop de requêtes.
-1 je récupère tous les bâtiments non construits.
-2 Je parcours ceux-ci et pour chaque je récupère leurs prérequis
-3 Pour chaque résultat je refais une requête pour vérifier que le bâtiment requis est bien construit et est au bon niveau.
donc dans le cas ou je n'ai qu'un bâtiment non construit qui aurait 3 prérequis, cela me fait 5 requêtes pour la vérification !
J'aurais donc voulu savoir si vous voyiez un moyen plus simple de gérer ça
Merci d'avance !
J'avance tranquillement dans mon projet mais je me retrouve face un petit problème.
Je n'ai jamais été une flèche dans la modélisation de base de données ni en création de requêtes alambiquées et je dois préparer un système de prérequis pour la construction de mes bâtiments. Par exemple, pour construire une scierie, je doit au préalable avoir un bâtiment principal de niveau 2.
Mes relations sont donc basées sur l'existence d'un bâtiment mais également sur le niveau de celui-ci.
J'aurais souhaité avoir votre avis sur ma façon de procéder. Voici mes tables
Une table bâtiments construits avec id, niveau, id_utilisateur
Une table bâtiments requis avec id_batiment_a_construire,id_batiment_requis,niveau_requis
La où ça coince c'est lorsque je souhaite afficher tous les bâtiments non construits ET dont la construction est autorisée. A mon sens j'exécute beaucoup trop de requêtes.
-1 je récupère tous les bâtiments non construits.
-2 Je parcours ceux-ci et pour chaque je récupère leurs prérequis
-3 Pour chaque résultat je refais une requête pour vérifier que le bâtiment requis est bien construit et est au bon niveau.
donc dans le cas ou je n'ai qu'un bâtiment non construit qui aurait 3 prérequis, cela me fait 5 requêtes pour la vérification !
J'aurais donc voulu savoir si vous voyiez un moyen plus simple de gérer ça
Merci d'avance !