Partage
  • Partager sur Facebook
  • Partager sur Twitter

besoin de petits conseils pour la création d'un BDD

Sujet résolu
    13 juin 2010 à 22:51:37

    bonjour à tous et à toutes.

    Je suis en train de réaliser un petit projet web (petit RPG par navigateur, rien de bien compliqué, mais je voudrai essayer de faire ça bien :p:) )
    Je réalise le MCD de ma base et j'aurai besoin de quelques conseils pour bien réaliser cette partie.

    voilà mes questions :

    1)je voudrais stocker un certain nombre de texte, de taille assez conséquente. j'ai entendu parlé des blobs, mais est-ce le meilleur moyen de stocker de grands quantitées de texte?? ou alors il existe d'autres moyens de stocker du texte et de le récupérer rapidement.

    2)j'aimerai créer un inventaire, et je me demande comment bien le réaliser. Voilà mon idée
    je suis partie sur une table INVENTAIRE contenant un ID et un nombre max d'objets, et une tables par type de matos (par exemple ARME, ARMURE ...) . ensuite j'ai créé une table "de jointure" pour faire la liaison avec un ID INVENTAIRE, un ID ARME par exemple ainsi que le nombre d'objet de ce type.
    est ce que cela vous parai correcte??

    merci d'avoir prit le temps de me lire ;)

    Cordialement IceWind
    • Partager sur Facebook
    • Partager sur Twitter
      13 juin 2010 à 23:57:06

      Pour la question 1 il y a des champs texte, qui sont bien plus adaptés je pense, les blobs sont utilisés pour stocker des objets binaires.

      Pour la 2, j'ai pas trop compris ce que tu propose, mais je pense que le nombre max d'objets peut être hardcodé si il est commun à tous les joueurs et pas destiné à évoluer, sinon il vaut mieux le stocker comme caractéristique du personnage (inutile de mettre ça dans une table à part). Par contre dans la table inventaire tu peux mettre les objets que les joueurs ont dans leur inventaire comme tu l'a décrit (une référence à l'ID du joueur qui le possède, et une qui mène à la description de l'objet en question).
      • Partager sur Facebook
      • Partager sur Twitter

      Blond, bouclé, toujours le sourire aux lèvres...

        14 juin 2010 à 23:34:20

        merci d'avoir prit le temps de me répondre.

        pour le 1, j'essayerai peux être les deux, pour voir lequel est le plus rapide.

        pour la 2ème partie,effectivement mettre le nombre d'objet directement dans le profil de perso est une bonne idée.

        finalement je pense faire ma gestion d'inventaire de cette façon : une table pour l'ensemble des objets, avec un champs type, et plusieurs caractéristiques :

        voilà le plan de la base :
        id_obj
        nom
        description
        type
        carac1
        carac2
        ... (si besoin)

        pour un objet de type arme :
        id_obj :1
        nom : épée longue
        description : attention ça coupe !!
        type : arme
        carac1 : 20
        carac2 : 50
        ...

        en disant que carac1 c'est les dégats min et carac2 dégats max pour les objets de type arme

        Si quelqu'un a une autre idée, il est le bienvenue.

        encore merci IceWind

        Je ne met pas directement en résolue au cas où quelqu'un d'autre voudrai réagir ^^
        • Partager sur Facebook
        • Partager sur Twitter
          16 juin 2010 à 9:49:23

          1) Pour une question de lisibilité des données, de performance et de recherche ultérieure dans tes textes, j'utiliserais également un champ de type texte....

          2) Je dirais qu'à vouloir tout mettre dans une seule table, tu risque de vouloir ajouter un jour une caractéristique qui ne sera pertinente que pour un certain type d'objet de l'inventaire et pas pour tous...ta première proposition serait alors beaucoup plus juste, plus claire, plus lisible.

          Disons que ca dépend de la portée de ton projet et de son évolution.

          Si tes objectifs sont limités, alors ne t'embête pas et fais ta seconde version.
          Si ton site Web va évoluer, alors réalise ta première version afin d'éviter un bricolage ultérieur, la réécriture de ton code, ou une illisibilité importante des données et de leur sens en cas de base volumineuse (du genre: "euh je ne sais plus ce que ca représente la caractéristique 123 pour les bottes de roi, faut que j'aille regarder dans le code...")
          • Partager sur Facebook
          • Partager sur Twitter
            16 juin 2010 à 19:08:59

            Si je repars sur la première idée, je voit pas trop comment faire la requête sql : un inventaire, une table pour faire la liaison et plusieurs tables de type d'objet. elle vas mettre un peu de temps à être récupéré nan? Si on multiplie par quelques joueurs, c'est la cata o_O;)
            • Partager sur Facebook
            • Partager sur Twitter
              17 juin 2010 à 0:05:16

              Je rejoins LoupSolitaire pour le point n°2 , à cela j'ajouterais que si tu veux gérer les types d'objet ajoute une table type que tu joins à la table objet. Tu as une seule table objet, et une seule table type, pourquoi voudrais-tu plusieurs tables ???

              Pour le point n°1 , la doc dit que la seule différente entre text et blob c'est que blob est sensible à la casse.

              EDIT : si tes objets ont des "types" de caractéristiques différentes (je parle pas de la valeur de ces caractéristiques, mais bien des caractéristiques elles-mêmes), alors tu dois créer une table caractéristique qui contiendra les différentes caractéristiques, puis une table data qui contiendra les valeurs des caractéristiques pour chaque armes. (j'te fais une représentation graphique et je reviens ^^)

              Représentation graphique
              • Partager sur Facebook
              • Partager sur Twitter
                17 juin 2010 à 8:49:21

                J'adhère...c'est évolutif et les données y seront lisibles ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  17 juin 2010 à 13:18:20

                  que dire à part merci?? ;)

                  effectivement comme ça je vais pouvoir faire un bon inventaire.

                  merci d'avoir prit le temps de faire une représentation graphique.

                  je présenterai mon projet quand il sera plus avancé.

                  maintenant on peux dire que le sujet est clos ^^
                  • Partager sur Facebook
                  • Partager sur Twitter

                  besoin de petits conseils pour la création d'un BDD

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown