03-05-2011, 08:38 PM
Je dirai exactement pareil:
Une table pour définir les valeurs
type_villes
id|nom
type_terrain
id|nom
Une table qui défini les villes construites
id|type_ville
Et enfin une table terrain qui regroupe les infos de la map
X|Y|type_terrain|id_ville
Si id_ville est a 0 (défaut) alors il n'y as pas de ville.
Tu peut optimiser en mettant que si l'enregistrement d'une case est inexistant alors la case n'a pas de ville et est un terrain de type 1... mais sa casse toute la logique des liaisons et sa posera probléme lors de la construction d'une ville sur cette casse... a éviter donc je pense...
Je pense pas que une jointure pour récuperer les 12 cases avec leur terrain et la ville associée soit un probléme vu que seule le premier traitement est long (sélectionner la case par X/Y) mais que comme tu ne peut pas procéder autrement.
Les autres traitements (récuperer la ville et le terrain) utilisent les id définis en primary sur ces tables, il n'y as donc pas moyen de faire beaucoup mieux a mon sens!
Une table pour définir les valeurs
type_villes
id|nom
type_terrain
id|nom
Une table qui défini les villes construites
id|type_ville
Et enfin une table terrain qui regroupe les infos de la map
X|Y|type_terrain|id_ville
Si id_ville est a 0 (défaut) alors il n'y as pas de ville.
Tu peut optimiser en mettant que si l'enregistrement d'une case est inexistant alors la case n'a pas de ville et est un terrain de type 1... mais sa casse toute la logique des liaisons et sa posera probléme lors de la construction d'une ville sur cette casse... a éviter donc je pense...
Je pense pas que une jointure pour récuperer les 12 cases avec leur terrain et la ville associée soit un probléme vu que seule le premier traitement est long (sélectionner la case par X/Y) mais que comme tu ne peut pas procéder autrement.
Les autres traitements (récuperer la ville et le terrain) utilisent les id définis en primary sur ces tables, il n'y as donc pas moyen de faire beaucoup mieux a mon sens!