1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2018
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Questions sur la structure d'une BDD pour un nouveau.

    Bonjour tout le monde

    Je suis actuellement en train de développer un outils en python (3.5) d'aide pour un jeu en ligne.

    Dans ce jeux, il est possible de faire des aventures. Dans chaque aventures, on rencontre des unités ennemis, qui ne sont pas les même d'une aventure à l'autre. J'ai donc du mettre en place un système de base de données (sqlite3) pour gérer ces aventures. Pour l'heure j'ai une table pas aventure avec deux champs (id, nom de l'unité qu'on peut rencontrer). Par exemple, dans l'aventure "la cité perdue", on peut rencontrer des chiens, des loups et des guerriers. J'ai donc ma table avec trois ligne (1,chien),(2,loups),(3,guerriers).

    Dans chaque aventures, les ennemis sont en fait dans des camps, j'aurais par exemple dans mon aventure 4 camps:
    • Camps 1 : 10 loups / 10 chiens
    • Camps 2 : 10 loups / 15 chiens
    • Camps 3 : 15 guerriers
    • Camps 4 : 5 loups / 5 chiens / 5 guerriers


    Et c'est là que j'ai un soucis. Je ne sais pas trop comment gérer ça "proprement".

    J'avais pensé à faire qqch du genre, j'ai une table principale qui regroupe toutes les aventures et qui possède deux champs (liste des unités, liste des camps).

    Le champs "liste des unités" serait une autre table avec deux champs (id, nom de l'unité).

    Par contre pour le champs "liste des camps", je galère. Je mettrais ça aussi dans une autre table mais je vois deux façons de faire cette table:
    1. une ligne par camps avec comme champs des doublons (nom de l'unité, quantité)
    2. une ligne par camps avec un seul champs qui serait une autre table, table composées de deux champs (nom de l'unité, quantité)


    Chaque solution pose une problème:
    La première : Dans mon exemple, j'ai un camps avec trois types d'unités, je vais donc devoir avoir 3 doublons (nom, quantité) comme champs dans ma table, sachant que tous ces champs ne seront pas utilisé tout le temps (si je n'ai pas exemple qu'un type d'unité dans mon camps, je vais avoir 4 champs non utilisés). En gros je vais devoir prendre le max pour chaque aventure...
    La seconde : Ca va me faire créer énormément de table : une table pour chaque camps, j'ai en gros 20 camps par aventure, 80 aventures soit en tout 1600 camps (tables) à la louche carré.

    Pour info, j'ai découvert la gestion de BDD ya un mois, j'en suis encore au niveau débutant (je gère le create, insert et select, ca va pas beaucoup plus loin). Je ne possède donc pas je pense beaucoup de concepts et je ne viens pas du monde web/gestion de base, je n'ai donc pas je pense la bonne façon de penser...

    Je suis donc preneur de tous vos conseils/avis/critiques pour m'aider

    Merci d'avance.

  2. #2
    Expert éminent

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    3 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 3 403
    Points : 7 566
    Points
    7 566
    Billets dans le blog
    1

    Par défaut

    Bonjour,

    Il faut ordonner un peu toutes les informations que vous avez commencé à mentionner :
    • Expliquez les termes, tout le monde ne connait pas ce jeu, certains termes qui vous semblent évidents peuvent être mal compris par les lecteurs
    • Eliminez les synonymes : est-ce que "camp" et "unité" sont la même notion ? si oui, ne conservez qu'un terme pour la suite du discours
    • Complétez les explications que vous avez mentionnées avec tout ce qui manque : comment sont définies les compositions des unités, y a-t- il des notions d'effectif mini, maxi, de force de chaque participant d'une unité, de force totale, les unités de forces différentes peuvent elle s'affronter etc...
      Par exemple qu'est-ce qui justifie que les 4 camps que vous mentionnez aient des compositions très différentes, leur force est elle égale, peuvent ils tous s'affronter, selon quelles règles ?...
    • Quand ce sera fait, rédigez le tout sous forme de règle de gestion identifiées par des numéros, ça simplifie les échanges



    Citation Envoyé par jujuu771 Voir le message
    Dans ce jeux, il est possible de faire des aventures. Dans chaque aventures, on rencontre des unités ennemis, qui ne sont pas les même d'une aventure à l'autre
    Par exemple ici, après avoir défini ce qu'est une unité, on pourra commencer à écrire les règles de gestion sous la forme :
    R001 : une aventure concerne une ou plusieurs unités
    ou bien
    R001 : une aventure concerne au moins deux unités (plus probable)

    R002 : une unité participe au plus à une aventure
    ou bien
    R002 : une unité participe à zéro ou plusieurs aventures
    etc...

Discussions similaires

  1. Pour structure d'une BDD MySQL
    Par TrAsHeR dans le forum Débuter
    Réponses: 1
    Dernier message: 03/03/2012, 20h55
  2. Réponses: 4
    Dernier message: 25/03/2008, 17h07
  3. Questions sur la création d'une BDD en SQL (débutant)
    Par CleeM dans le forum Langage SQL
    Réponses: 10
    Dernier message: 14/06/2007, 15h14
  4. Réponses: 5
    Dernier message: 13/10/2005, 12h46
  5. Utilisation d'une BDD pour (gros) logs
    Par Dinaïz dans le forum Décisions SGBD
    Réponses: 14
    Dernier message: 04/04/2005, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo