26-03-2008, 02:15 PM
(Modification du message : 08-09-2008, 07:03 PM par Sephi-Chan.)
Salut à tous,
Dans le cadre de Seelies, je dois lancer à intervalle régulier (de l'ordre de la demi-heure) une requête qui détermine le niveau de possession de chaque Vol sur chaque territoire.
Je n'arrive cependant pas à pondre la requête qui me convient, la plus optimisée. C'est pourquoi je fais appel à vous pour m'aider à la mettre au point.
Voici mes tables simplifiées (pour ne garder que l'essentiel) :
L'objectif est donc de déterminer un pourcentage de possession pour chaque territoire et chaque Vol.
Par exemple, si sur un même territoire T1 il y a deux Seelies du Vol A qui ont respectivement une importance de 10 et de 30 ainsi qu'une Seelie du Vol B qui a une importance de 20.
Il faut que la (ou les) requête modifie la valeur de possession de chaque entrée de la table flight_has_territory pour avoir un pourcentage. (P(T, A) = (∑(importances(A, T1)) * ∑(importances(T1)) / 100) )
Possession de T1 (en %) pour le Vol A = (30 + 10) * ((30 + 10 + 20) / 100)
La difficulté, c'est que je veux que les arrondis soient faits en faveur du Vol le moins représenté. Et je n'arrive pas à le faire.
J'espère que vous pourrez m'aider et je vous en remercie d'avance.
Sephi-Chan
Dans le cadre de Seelies, je dois lancer à intervalle régulier (de l'ordre de la demi-heure) une requête qui détermine le niveau de possession de chaque Vol sur chaque territoire.
Je n'arrive cependant pas à pondre la requête qui me convient, la plus optimisée. C'est pourquoi je fais appel à vous pour m'aider à la mettre au point.
Voici mes tables simplifiées (pour ne garder que l'essentiel) :
Territories a écrit :Flights
flight_id
Seelies a écrit :seelies
seelie_id
territory_id : Territoire sur lequel se trouve la Seelie.
importance : Indice de représentation. Une Seelie puissante a un indice plus grand, alors qu'une Seelie jeune n'est pas très représentative.
Territories a écrit :territories
territory_id
Flight has Seelie a écrit :flight_has_seelies
/* On a une cardinalité 1, n car les Seelies pourront à terme avoir plusieurs Vols, des Vols secrets, notamment. */
flight_id
seelie_id
Flight has Territory a écrit :flight_has_territory
flight_id
territory_id
possession : pourcentage de possession du territoire.
L'objectif est donc de déterminer un pourcentage de possession pour chaque territoire et chaque Vol.
Par exemple, si sur un même territoire T1 il y a deux Seelies du Vol A qui ont respectivement une importance de 10 et de 30 ainsi qu'une Seelie du Vol B qui a une importance de 20.
Il faut que la (ou les) requête modifie la valeur de possession de chaque entrée de la table flight_has_territory pour avoir un pourcentage. (P(T, A) = (∑(importances(A, T1)) * ∑(importances(T1)) / 100) )
Possession de T1 (en %) pour le Vol A = (30 + 10) * ((30 + 10 + 20) / 100)
Citation :A : T1 : 66%
B : T1 : 34%
La difficulté, c'est que je veux que les arrondis soient faits en faveur du Vol le moins représenté. Et je n'arrive pas à le faire.
J'espère que vous pourrez m'aider et je vous en remercie d'avance.
Sephi-Chan