Bonjour à tous,
Je souhaite réaliser une BDD à partir des données d'un jeu en ligne (MOBA) que je récupère depuis le site officiel. Hélas, je ne sais pas comment bien les organiser dans ma BDD. Combien de tables ? Combien de champs par table ? Quelles relations ? Je débute en conception de BDD et je souhaite faire les choses correctement dès le départ ! En réalité j'ai plus de données que décrit ci-dessous mais j'ai mis l'essentiel :
- Chaque personnage du jeu possède [1, n] sorts
- Chaque sort possède un nom, un niveau auquel le sort est obtenu et 3 niveaux de puissance.
- Chaque niveau de puissance du sort possède [1, n] effets (ex : 30 à 150 dégats bruts, repousse la cible). Les effets augmentent en puissance et en nombre au fil des niveaux du sort.
- Chaque niveau de puissance du sort possède une zone d'effet (ex : 300 unités en cercle) et une portée (ex : 800 unités), augmentant au fil des niveaux du sort.
Voici l'exemple complet d'un sort existant :
Personnage : Trooper
Nom du sort : Feinte
Obtention du sort au niveau : 4
Niveau 1 du sort : 37 à 72 dégats physiques | Étourdit la cible | Zone : Ligne droite sur 200 unités | Portée : 500
Niveau 2 du sort : 65 à 110 dégats physique | Étourdit la cible | +10% d'armure | Zone : Ligne droite sur 350 unités | Portée : 600
Niveau 3 du sort : 100 à 163 dégats physiques | Étourdit la cible | +10% d'armure | Zone : Ligne droite sur 500 unités | Portée : 700
Je pensais faire les tables Personnage, Sort, Effet, EffetsSort et CaracSort :
Personnage : id_perNo, per_Nom
Sort : id_sorNo, sor_Nom, sor_NiveauObtention, idx_perNo
Effet : id_effNo, eff_Nom (plusieurs sorts peuvent infliger l'effet "Dégats physiques", par exemple)
EffetsSort : id_effSorNo, effSor_ValeurMin, effSor_ValeurMax, effSor_Niveau, idx_sorNo, idx_effNo
CaracSort : id_carNo, car_Portee, car_Zone, car_Niveau, idx_sorNo
Je sais que les champs xx_Niveau ne devraient se trouver qu'à un endroit, ce qui réduirait le nombre de tables, mais je n'arrive pas à trouver la solution la plus optimisée
Merci d'avance pour votre aide !
Message édité par purpleriver le 25-01-2017 à 19:46:58