JeuWeb - Crée ton jeu par navigateur
[REGLE] Où mettre les détails? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [REGLE] Où mettre les détails? (/showthread.php?tid=506)



[REGLE] Où mettre les détails? - fiatt - 05-12-2006

Bonjour tout le monde.

Je me pose une question existentielle.

Où stocker et comment faire apparaitre les infos détaillées d'objets, bâtiments etc.

Il y a les infos nécessaires à la fabrication/construction du dit objet/bâtiment.
Pour celle-ci je pense les mettre dans une ou des tables, selon le cas, de la base de donnée car il va y avoir des calculs dessus.

Maintenant les infos de type "caractéristiques"?
pour un véhicule: sa vitesse, sa capacité de transport etc.
pour une arme: son taux d'attaque, sa résistance etc.
De plus ces infos changent selon le niveau de l'objet ou/et du joueur.

Est-il judicieux de mettre tout ca dans une table spéciale? Il va être difficile de mettre des infos différentes dans une même colonne (la vitesse d'un véhicule va mal avec la résistance d'un arme :mauvaisSmile
Dans plusieurs tables alors? hmmm, risque d'augmentation significative du nombre de table...

Dans un fichier texte peut-être?
même si j'ai 30000 désignations ca ne me prendra aucune place au niveau BDD, au pire quelques Mo d'espace disque (et encore). Mais alors comment y récupérer des infos bien précises pour affichage?


RE: Où mettre les détails? - gtsoul - 05-12-2006

il faut que tu cites précisement tes entités et les renseignements que tu souhaites avoir. Ensuite on pourra t'aider.

ex :
vehicule
modèle / poids / vitesse
jeep / 900 / 120
tank / 5000 / 90

arme
modèle / poids / puissance / portée
k-bar / 1 / 50 / 0
m-16 / 5 / 40 / 300


RE: Où mettre les détails? - joshua - 05-12-2006

il vaut mieux avoir plusieurs tables. Cela ne change pas grand chose au final et nourrit la clarté.
Moi je pousse le vice jusqu'à avoir plusieurs BDD.....


RE: Où mettre les détails? - fiatt - 05-12-2006

gtsoul a écrit :il faut que tu cites précisement tes entités et les renseignements que tu souhaites avoir. Ensuite on pourra t'aider.

Cela risque d'être fastidieux car la liste est longue...

Pour essayer de faire simple:

BATIMENTS
Chaque bâtiment est composé de différents "modules" qui ont leurs propres carac selon leur fonctionnement -> impossible de les mettre ensemble (dans un tableau/table je veux dire).

MACHINES
Idem que pour les bâtiments, tout dépend du travail qu'elle effectuent. De plus elles sont évolutives et personnalisables.

OBJETS
Pour ne rien dévoiler, prenons les armes et objets classiques du jeu de rôle.

De plus toutes ces carac sont évolutives selon le niveau....

joshua a écrit :il vaut mieux avoir plusieurs tables. Cela ne change pas grand chose au final et nourrit la clarté.
Moi je pousse le vice jusqu'à avoir plusieurs BDD.....
C'était ma première idée mais je me demande si un fichier texte ne serais pas mieux? Par contre je ne sais pas si l'accès en lecture/écriture y est facile....


RE: Où mettre les détails? - pascal - 05-12-2006

je pense qu'une modélisation par méta données s'impose, quitte à la retravailler après:
http://sqlpro.developpez.com/cours/modelisation/metadonnees/

A+

Pascal


RE: Où mettre les détails? - fiatt - 05-12-2006

Je viens de jeter un oeil sur cette présentation des méta données.
C'est plutôt intéressant. Je vais tenter de le comprendre demain midi pendant ma pause déjeuner lol

Sans rire ca semble être prometteur. Reste à savoir si je vais pouvoir l'appliquer à mes données.


RE: Où mettre les détails? - Maegia - 05-12-2006

Quel est le mal à multiplier les tables... ? C'est le principe même d'une base de données, soit stocké le plus grand nombre de données possible de manière claire et concise, non ?


RE: Où mettre les détails? - gtsoul - 06-12-2006

le principe d'une bdd est d'avoir accès au maximum d'infos, de manière indexée, sans que celles-ci soient redondantes; donc abandonne l'idée du fichier texte, car tes infos seront de toutes façon linéaires ET l'accès à celles-ci ne pourra pas être simultané, ce qui plombera tes performances.

Et si tu ne souhaites/veut pas dévoiler la structure de tes données, on aura beaucoup de mal à le faire à ta place. Donc cherche des cours de modélisation/gestion de sgbd et bonne chance.


RE: Où mettre les détails? - fiatt - 06-12-2006

gtsoul a écrit :le principe d'une bdd est d'avoir accès au maximum d'infos, de manière indexée, sans que celles-ci soient redondantes; donc abandonne l'idée du fichier texte, car tes infos seront de toutes façon linéaires ET l'accès à celles-ci ne pourra pas être simultané, ce qui plombera tes performances.

Ok, c'est ce que je voulais savoir. Merci.

gtsoul a écrit :Et si tu ne souhaites/veut pas dévoiler la structure de tes données, on aura beaucoup de mal à le faire à ta place. Donc cherche des cours de modélisation/gestion de sgbd et bonne chance.
Pardon si je me suis mal exprimé mais je ne demande aucunement que quelqu'un fasse le travail à ma place. Je recherche juste des avis de personnes expérimentées sur ce sujet.

J'ai bien relu le lien donné par Pascal et j'en ai déduis que les Méta données ne sont pas pour moi, et ceci pour deux raisons.
Ce système de stockage de l'information risque de me compliqué la tache plutôt que l'inverse. De plus je ne pense pas être en mesure de pouvoir l'exploiter à sa juste valeur.

Je vais donc opter pour la multiplication des tables et comme le dit Maegia, autant utiliser les outils de la manière qui leur correspond le mieux, au meilleur de leur capacités.

Pour ce qui est de la redondance, j'en reparlerai très certainement dans un autre post car une question me taraude. Laissez moi juste le temps d'affiner ma réflexion à ce sujet et je vous en ferais part.

En tout cas merci de votre aide qui m'est, comme d'habitude, très précieuse. :respect:

P.S. J'ajoute "REGLE" au topic mais cela ne veut pas dire que je ne lirais plus les messages... Wink