View Issue Details

IDProjectCategoryView StatusLast Update
0001288ECLERD[All Projects] Generalpublic2016-08-28 18:42
ReporterXenostomAssigned ToXenos 
PrioritynormalSeverityfeatureReproducibilityN/A
Status CloseResolutionfixed 
Product Versionv0 
Target VersionFixed in Version0.1.1 
Summary0001288: Ajouter la population
DescriptionLa population est concentrée dans les villes. Elle consomme des ressources que le préfet (département) doit lui fournir (faute de quoi elle ne sera aps contente). En échange, la population lui fournit des heures de travail (qu'il peut revendre pour acheter ses ressources).
La moitié des heures de travail de la population va au chef du département (part définie par l'Etat, dans une certain limite genre entre 25% et 75%?). Le reste va au maire.
TagsNo tags attached.
Attach Tags

Relationships

related to 0001300 CloseXenos [Abandon] Isometry Production des usines 
parent of 0001276 CloseXenos ECLERD Zoom commune 
parent of 0001277 CloseXenos ECLERD Zoom case 
child of 0001287 Understood ECLERD La population manifeste 
child of 0001289 Understood ECLERD Le maire gère la ville 
child of 0001303 UnderstoodXenos ECLERD Vieillissement / naissance de la population 
child of 0001304 Understood ECLERD Mouvements de population 

Activities

Xenos

Xenos

2016-08-13 23:10

administrator   ~0002144

J'ai hésité à stocker la population sous la forme "id_town, metier, age0, age1, age2,...age120" plutôt que sous sa forme actuelle de "id_town, metier, age, nombre_de_gens".

La première solution est clairement plus légère à stocker en BDD, alors que la deuxième, à cause des index (index sur id_town+metier+age), est bien plus lourde (400Mo pour 15.000 villes * 4 corps de métier *121 tranches d'âge).

En revanche, je pars quand même sur la seconde car si elle me permet, d'une part, de stocker de nouvelles informations (ie: satisfaction de la population par corps de métier & age), la première m'empêchais d'avoir un age de la retraite variable. En effet, pour trouver la population active d'un corps de métier, il aurait valu faire un "SELECT age18+age19+...+ageN" avec N qui est l'a^ge de la retraite, donc variable.

Cela m'aurait fait des queries dynamiques immondes à gérer.

A l'inverse, avec la seconde solution, je fais juste un "SELECT SUM(nombre_de_gens) ... WHERE id_town=... AND metier=... AND age BETWEEN 18 AND (SELECT AgeDeLaRetraite)"

Donc, je pars sur la 2nde solution, et au besoin (si la place manque vraiment), je pourrai peut-être supprimer des index.

Ah, et elle permet de faire le vieillissement de la population hypoer-facilement: "UPDATE ... SET age=age+1" !
Xenos

Xenos

2016-08-14 14:58

administrator   ~0002145

Last edited: 2016-08-27 23:40

La production de la population ira avec celle des usines (la ville est une "usine" avec de la population qui consomme les ressources des stocks de cette usine, et produit en échange des heures de travail qui iront dans ces mêmes stocks).
Xenos

Xenos

2016-08-22 19:10

administrator   ~0002164

Last edited: 2016-08-27 23:40

Pour le moment, osef de l'âge et des corps de métier: j'ajoute la population brute dans la ville, genre juste "500.000 habitants", point.

Après, j'affinerai.

Et donc oui, chaque habitant travaillera et produira des "heures de travail" qui seront utilisées dans les usines.

Issue History

Date Modified Username Field Change
2016-04-29 18:16 Xenostom New Issue
2016-04-29 18:16 Xenostom Status New => Understood
2016-04-29 21:13 Xenos Relationship added child of 0001285
2016-04-29 21:14 Xenos Relationship added child of 0001287
2016-04-29 21:14 Xenos Relationship added parent of 0001276
2016-04-29 21:14 Xenos Relationship added parent of 0001277
2016-04-29 21:15 Xenos Relationship deleted child of 0001285
2016-04-29 21:15 Xenos Relationship added child of 0001289
2016-04-29 21:20 Xenos Relationship added child of 0001303
2016-04-29 21:21 Xenos Relationship added child of 0001304
2016-04-29 21:23 Xenos Status Understood => Accepted
2016-08-13 21:14 Xenos Assigned To => Xenos
2016-08-13 21:14 Xenos Status Accepted => In progress
2016-08-13 23:10 Xenos Note Added: 0002144
2016-08-14 14:57 Xenos Relationship added related to 0001300
2016-08-14 14:58 Xenos Note Added: 0002145
2016-08-14 14:58 Xenos Status In progress => Ready
2016-08-14 14:58 Xenos Resolution open => fixed
2016-08-22 19:10 Xenos Note Added: 0002164
2016-08-22 19:10 Xenos Status Ready => Accepted
2016-08-22 20:33 Xenos Status Accepted => In progress
2016-08-22 22:11 Xenos Status In progress => Ready
2016-08-27 23:39 AutoUpdater Status Ready => Resolved
2016-08-27 23:40 AutoUpdater Fixed in Version => 0.1.1
2016-08-28 18:42 Xenos Status Resolved => Close