JeuWeb - Crée ton jeu par navigateur
[DEMANDE VERIFICATION] Bdd pour JDR - 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 : [DEMANDE VERIFICATION] Bdd pour JDR (/showthread.php?tid=216)

Pages : 1 2


[DEMANDE VERIFICATION] Bdd pour JDR - TomC33 - 28-02-2007

Bonjour,

Vous pourriez me dire si ma bdd est correcte pour un jeu de role ?

Code PHP :
<?php 
CREATE TABLE
`_joueurs` (
`
pseudo` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,
`
mdp` VARCHAR( 80 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,
`
pvdebase` INT( 50 ) NOT NULL ,
`
pvdejeu` INT NOT NULL ,
`
xp` INT NOT NULL ,
`
end` INT NOT NULL ,
`
for` INT NOT NULL ,
`
dex` INT NOT NULL ,
`
sag` INT NOT NULL ,
`
int` INT NOT NULL ,
`
pa` INT NOT NULL ,
`
xpnextlevel` INT NOT NULL
) ENGINE = INNODB CHARACTER SET latin1 COLLATE latin1_swedish_ci

Merci par avance


RE: [DEMANDE VERIFICATION] Bdd pour JDR - NicoMSEvent - 28-02-2007

tout dépends ce que tu comptes en faire... il y aura de la magie? combien de type de magies? (feu-eau-noir-blache-terre-air, ... ?) résistance et puissance pour chacune de ces magies (natives) ? classe du personnage? metier? on pourrait compléter ça a l'infini... définis les regles Wink


RE: [DEMANDE VERIFICATION] Bdd pour JDR - Seren - 28-02-2007

En plus, je dirais que ce qui est important dans une base de donnée relationnelle c'est pas uniquement la structure de chaque table prise indépendamment mais les relations entre elles.

En gros définis toutes les règles, et ensuitre crée la ou les tables.

Par exemple je vois pas de coordonnées ou de position dans ta table. ça veut dire qu'il n'y en a pas dans ton jeu ? Ou que les coordonnées sont dans une autre table ? C'est impossible à dire...


RE: [DEMANDE VERIFICATION] Bdd pour JDR - TomC33 - 28-02-2007

désolé,
Oui pardon c'est une table qui est déjà dans une bdd.
Ensuite en fait a force servira à dire "si 5 force alors possibilité d'acheté une epee sinon "vous avez pas assez de force".
Pour la magie en fait sagesse = idem que force : si 5 de sagesse alors possibilité d'apprendre soin. Sinon "vous n'avez pas assez de sagesse".
Ensuite soin rendra plus de pv si la sagesse est plus élevée.
L'int (intéligence) servira a apprendre les sorts de combats (pour le moment je ne vais pas faire de distinctions dans le jeu. Le feu fera les memes dégats que la glace ou l'air ou autre ... sauf si j'arrive comprendre comment faire).
Ensuite le sort appris (boule de feu par exemple) fera plus de degats avec 5 d'int que 1 par exemple.

Y'aura pas de metier (dans un premier temps) ni de classe prédéfinie (car je ne sais pas faire ... sauf si je fais un truc du genre : choississez d'ete guerrier ou mage et dans ce cas les points de caracs seront prédéfinie en fonction de la classe sélectionnée).


RE: [DEMANDE VERIFICATION] Bdd pour JDR - pascal - 28-02-2007

et il manque un identifiant numérique;

et les mots réservés sont à éviter comme nom de champ : int, end

A+

Pascal


RE: [DEMANDE VERIFICATION] Bdd pour JDR - TomC33 - 28-02-2007

coucou,
un identifiant numérique (id en auto incrementation ??)
ok je vais carrement les nommer par inteligence, force, endurence ... je ne savais pas. Pourquoi ?


RE: [DEMANDE VERIFICATION] Bdd pour JDR - NicoMSEvent - 28-02-2007

TomC33 a écrit :coucou,
un identifiant numérique (id en auto incrementation ??)
ok je vais carrement les nommer par inteligence, force, endurence ... je ne savais pas. Pourquoi ?
int = le format de nombre entier
end = fin

si tu nommes certains champs comme ça, ça pourrait poser les problèmes par la suite... comment ton SGBD va gérer ces mots spéciaux? quand tu va lancer des requetes dynamiques, est-ce que ça ne va poser un problème au niveau du langage hote (PHP) ?

Il vaut mieux éviter dès le départ les noms ambigus.


RE: [DEMANDE VERIFICATION] Bdd pour JDR - pascal - 28-02-2007

si on nomme un champ comme un mot clé de SQL, alors quand on l'utilise dans une requete, il faut l'entourer avec le caractere ` ( alt gr + 7 ) ce qui est vite très lourd.

A+

Pascal


RE: [DEMANDE VERIFICATION] Bdd pour JDR - TomC33 - 28-02-2007

Coucou,
C'est noté et aussitôt modifié par les noms complets (merci).
Le champs "ID" je le fais en INT aussi ?
Sinon le reste, j'ai choisi comme il fallait en INT sachant que ce seront des variables fixe (pas de 1,5 point de vie) ?

-------------------------------------------------

Voila ce que j'ai refais :

Code PHP :
<?php 
CREATE TABLE
`_joueurs` (
`
id` INT( 20 ) NOT NULL AUTO_INCREMENT ,
`
pseudo` TEXT NOT NULL ,
`
mdp` VARCHAR( 80 ) NOT NULL ,
`
pointdevie` INT( 50 ) NOT NULL ,
`
pvjeu` INT NOT NULL ,
`
endurence` INT NOT NULL ,
`
force` INT NOT NULL ,
`
dexterite` INT NOT NULL ,
`
sagesse` INT NOT NULL ,
`
intelligence` INT NOT NULL ,
`
experience` INT NOT NULL ,
`
pointaction` INT( 3 ) NOT NULL ,
INDEX ( `id` )
)
ENGINE = innodb;



RE: [DEMANDE VERIFICATION] Bdd pour JDR - icien - 28-02-2007

Tu peux peut-être optimiser en modifiant quelques Type de données. Par exemple si tes caractéristiques ne dépassent pas 255 sans être négatif, tu peux mettre un TINYINT UNSIGNED. De plus INT(50) me parait élevé pour stocker des HPs, un simple INT devrait suffire. Pareil pour l'id du joueur a mon avis un SMALLINT UNSIGNED (65535 joueurs maxi) me parait suffisant. Pour finir, je ne crois pas que stocker un mot de passe de 80 caractères soit obligatoire. Je n'ai jamais entré un mot de passe de plus de 20 caractères.