Organisation des tables - 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 : Organisation des tables (/showthread.php?tid=309) Pages :
1
2
|
Organisation des tables - fiatt - 08-10-2006 Salut tout le monde! Après des mois d'abscence je me décide enfin à me remettre à mon projet. Voici mon soucis actuel: J'essaye d'organiser mes tables pour la distribution des ressources du joueur. Un joueur possède des machines et ces machines produisent de la ressource. Chaque machine ne produit qu'un seul type de ressource (5 types différents) mais le joueur peut posséder plusieurs machines. J'ai donc au moins 2 tables: joueurs et machines Mais pour les ressources? dois-je les mettre dans une table "ressources" et si oui quelle pourrait être la clé primaire? Puis-je utiliser le clé primaire de la table "joueur" (Id_joueur) pour la mettre, toujours en clé primaire, dans la table "ressources" et y gérer les stocks des joueurs? Merci de votre aide. RE: Organisation des tables - Michu - 08-10-2006 De toute facons, pour pouvoir redonner les bonnes ressources aux bons joueurs il te faut un champ contenant soit l'id du joueur, soit son pseudo. Pour des questions de rapidité il vaut mieux utiliser un id plutôt que des caractères mais pour éviter les erreur tu peut aussi mettre les 2. moi je ferais comme ceci : id_joueur | ressource_1 | ressource_2 |...|ressource_5 RE: Organisation des tables - joshua - 09-10-2006 je te conseille de faire bien plus de tables: joueur machine ressource joueur_machine machine ressource comme ca tu fais le modele qui va bien dans lequel tu définis tes carac générales dans les noms "de base" et le specifique dans les "tables à nom mixtes". C'est vachement bien pour définir un modele objet mais ca t'oblige deriere a utiliser les contraintes sur els tables (style innoDB) qui dérriere t'assureront de la cohérence du tout. exemple: joueur: [id, nom] machine: [id,nom] joueur_machine [id_joueur,id_machine] where id_joueur = joueur.id et id_machine = machine.id l'avantage de ce modèle est de te faciliter la POO derrière avec un modele objet proche de ton modele en base. Passez a php5!! RE: Organisation des tables - fiatt - 09-10-2006 Merci de votre aide. Que pensez-vous de cette organisation: Première table: Joueurs avec id_pseudo (clé), pseudo, etc Seconde table: Machines avec id_machine (clé) , ressource_produite, vitesse_production etc Troisième table: Stock avec id_pseudo (clé étrangère), id_machine (clé étrangère également), stock_dispo, stock_max, date_dernier_calcul etc Ce qui fait que les deux premières tables sont utilisées pour stocker les infos des joueurs et des machines alors que la troisième sert à faire les calculs et y mettre les résultats. RE: Organisation des tables - joshua - 09-10-2006 le contenu est bien mais le nom pourra porter a confusion quand tu auras 50 tables.... RE: Organisation des tables - fiatt - 09-10-2006 Oui c'est vrai, mais les noms ne sont pas définitif. Par contre j'ai du coup un autre problème. L'utilisation de Clés étrangères n'est pas supporté par les tables MyIsam...et je ne sais pas quoi mettre en clé primaire de cette table... RE: Organisation des tables - joshua - 09-10-2006 si! il te suffit simplement de mettre en place innoDB ^^ Allez un peu de recherche google, tu verras c'est pas dur... le plus dur est de retrouver ses tables le jour ou tu changes de pc! RE: Organisation des tables - fiatt - 09-10-2006 ok je vais tenter merci de ton aide. RE: Organisation des tables - fiatt - 09-10-2006 mouais...bon j'ai tenter la création de tables innoDB mais je bloque sur la mise ne place de foreign keys avec phpmyadmin....impossible de savoir comment définir qu'un champ est une clé étrangère. Je vais probablement me simplifier la tache et ne faire q'une seule table. RE: Organisation des tables - joshua - 09-10-2006 tsss ne fait pas de betises ^^ La difinition de clé étrangère se fait tout simplement après avoir créé ta table. Tu la créé simplement ensuite tu vas dans el récapitulatif et tu dois avoir un onglet ajouter des relations ou un truc dans le genre, et hop c'est tout simple. |