JeuWeb - Crée ton jeu par navigateur
Gestion données de mes objets - 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 : Gestion données de mes objets (/showthread.php?tid=1085)

Pages : 1 2 3 4


RE: Gestion données de mes objets - pascal - 18-04-2007

Michu a écrit :Avec 3 requêtes pointants chacune sur une de tes 3 tables.
2 peuvent même suffire si tu connait déjà le nom du joueur. La première récupère tout les objets détenus par le joueur et la deuxième te donne les caractèristiques de ces derniers.

Ce qu'il faut à tout prix éviter dans l'organisation de tes tables, c'est de te retrouver avec la même information à deux endroits différents. Mais si tu trouve cela nécessaire et plus claire tu peux utiliser 10 tables à la fois

:non:
une seul requete, avec deux jointures...

A+

Pascal


RE: Gestion données de mes objets - Sephi-Chan - 18-04-2007

J'avais commencé un petit tutorial sur les jointures : http://www.jeuweb.org/board/showthread.php?tid=1098

Que personne n'a commenté d'ailleurs... Je suis pourtant sur qu'il y à des critiques à y faire !


Sephi-Chan


RE: Gestion données de mes objets - nemesis_elite - 18-04-2007

Salut Sephi,

Si tu pouvais expliquer comment ,dans ce cas , récuperer les infos du perso et de l'objet qu'il possède ( en admettant qu'il n'en ai juste un par exemple ) grâce aux jointures, ,je t'en serai reconnaissant !

Smile

merci d'avance !


RE: Gestion données de mes objets - Plume - 18-04-2007

Avec un peu de réflexion, je suis sur que tu pourrais y arriver. .. ^^

Code :
SELECT <attribut> [, <attribut>]* FROM objets o, membres m, membres_objets mo
WHERE m.idMembre = ${idMembre}, m.idMembre = mo.idMembre, mo.idObjet = o.idObjet;

J'avoue qu'il y a un doute qui subsiste en moi rapport à la nécessité de : m.idMembre = ${idMembre}, m.idMembre = mo.idMembre
Plutôt que : mo.idMembre = ${idMembre}
Mais bon, tu demandes à avoir les informations aussi sur le joueurs. ..


RE: Gestion données de mes objets - arnaudrou - 19-04-2007

Mais pour revenir à l'organisation des tables, un prblème se pose à moi,
en effet dans la table membres_objet qui contient l'id du joueur et celui des objets, comment faire quand le joueur possède plusieurs objets?? Faire:

Idmembre / idobjet
50 5
50 6
50 8

ou bien:

Idmembre / idobjet
50 5;6;8

La premiere solution se révèle plus facile a faire mais cela ne va t-il pas devenir trop lourd si jai 1000 membres (le rêve) qui ont chacun 20objets soit 20000champs au lieux de 1000 dans la 2eme solution...


RE: Gestion données de mes objets - Michu - 19-04-2007

Moi je ferais ça :
id membre objet1 objet2 objet3
50 1 0 2


RE: Gestion données de mes objets - Roworll - 19-04-2007

Sans hésiter.

Idmembre / idobjet
50 5
50 6
50 8


Ca fera beaucoup de lignes dans la table mais offre plusieurs avantages
- Tu peux avoir une infinité d'objet par personne.
- Pas besoin de parser le contenu du champ idobjet pour savoir ce que possède la personne
- Facilité des mises à jour (ajout/suppression)
- C'est un design normalisé pour un SGBDR
- Ca simplifie la liaison avec la table Objets
- Les performances ne seront pas(peu) impactées par le nombre de lignes grace à la mise en place d'un index

et j'en passe...


RE: Gestion données de mes objets - joshua - 19-04-2007

+1 pour roworll. C'est la méthode que j'utilise!


RE: Gestion données de mes objets - arnaudrou - 19-04-2007

Je pense effectivement que je vais adopter la méthode proposé par Roworll.
Par contre qui peut m'expliquer:

- C'est un design normalisé pour un SGBDR
- Les performances ne seront pas(peu) impactées par le nombre de lignes grace à la mise en place d'un index

Merci d'avance!


RE: Gestion données de mes objets - Plume - 19-04-2007

Citation :SGBDR
J'adore les connaisseurs qui emploient des raccourcis comme ça où peu de personnes connaissent.
Donc déjà : Système de Gestion de Bases de Données Relationnel(les)
Ce qui implique qu'il faut déjà connaitre le relationnel -_-

Question performance, il parlait du nombre d'occurences qui seront plus nombreuses mais qui n'auront pas d'impact sur les performances de ton SGBD. Surtout en comparaison aux autres systèmes proposés ><