C'est tout à ton honneur d'avoir défendu ainsi ton système.
Je trouve en effet qu'il a ses bons côtés, ce sera vraiment un jeu de tactique et de gestion d'alliances pour le coup.
Je vois que tu as défini les 4 tables nécessaires, mais la diplomatie des alliances ne va-t-elle pas être gérée de la même manière ? Un joueur peut être ennemi d'une alliance, ou c'est seulement alliance-alliance ?
Si c'est alliance-alliance + alliance-joueur + alliance-territoire ça t'en ajoute 5 de plus, et dans ce cas peut-être faudrait-il passer à un système générique à 5 champs (typeA, idA, typeB, idB, statutAB). L'avantage d'un tel système c'est la "compactisation" du système (et la possibilité d'ajouter de nouvelles interactions sans ajouter de nouvelles tables), en revanche le schéma n'est plus normé : il n'a plus de représentation sous forme de relation (une clé étrangère "générique" relative à plusieurs tables, je ne crois pas que ça existe formellement) et n'assure plus seul la cohérence des données.
Je trouve en effet qu'il a ses bons côtés, ce sera vraiment un jeu de tactique et de gestion d'alliances pour le coup.
Je vois que tu as défini les 4 tables nécessaires, mais la diplomatie des alliances ne va-t-elle pas être gérée de la même manière ? Un joueur peut être ennemi d'une alliance, ou c'est seulement alliance-alliance ?
Si c'est alliance-alliance + alliance-joueur + alliance-territoire ça t'en ajoute 5 de plus, et dans ce cas peut-être faudrait-il passer à un système générique à 5 champs (typeA, idA, typeB, idB, statutAB). L'avantage d'un tel système c'est la "compactisation" du système (et la possibilité d'ajouter de nouvelles interactions sans ajouter de nouvelles tables), en revanche le schéma n'est plus normé : il n'a plus de représentation sous forme de relation (une clé étrangère "générique" relative à plusieurs tables, je ne crois pas que ça existe formellement) et n'assure plus seul la cohérence des données.
Ressources [PHP][MySQL][prototype.js]