BDD_jointure et besoin de "sous_jointure" - 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 : BDD_jointure et besoin de "sous_jointure" (/showthread.php?tid=2930) Pages :
1
2
|
BDD_jointure et besoin de "sous_jointure" - biboum - 21-08-2008 Bon chacun son niveau...^^ Je vois des sujets dont j'en comprend même pas le sens^^. Vu que je débute, j'ai des problèmes simple...logique. Mon problème se passe au niveau de la BDD. J'avais déjà eut un soucis au même niveau dans un autre post de la partie débug. Je pense que c'était ce que voulais me dire les gens qui m'y répondaient...mais j'avais pas encore assez d'expérience et de comphréension pour comprendre et savoir faire ce qu'il me disait. Aujourd'hui j'ai besoin de refondre ma BDD. Actuellement c'est composé ainsi : id l pays l région1 l population1 l région2 l population2 l région3lpopulation3... Bref c'est lourd d'autant qu'aujourd'hui j'ai un autre soucis qui se pose, j'aimerai intégré pour chaque région un score qui lui soit propre. Donc il va falloir que l'id_région1 soit joint à région1 qui corresponde avec population1... Mais donc cela sous-entend que pour chaque région corresponde une table. N'y a t'il pas plus simple ? Moins lourd parce que là le serveur àvec des tables à répétition il va quand même sacrément souffrir...Bref comment faire de bonne table et de bonne jointure ? RE: BDD_jointure et besoin de "sous_jointure" - Sephi-Chan - 21-08-2008 En fait, il faut que tu organises tes tables selon une relation 1, n. C'est à dire que tu as une table Pays et une table [font=Regions[/font]. Citation :Pays : Citation :Regions : Ainsi, il devient très simple de récupérer les informations : Code : SELECT P.pays_id, Cela va te sortir un jeu de résultat de ce genre : Citation :1 : France : 1 : Ile-de-France : 35 Sephi-Chan RE: BDD_jointure et besoin de "sous_jointure" - biboum - 21-08-2008 Donc il faudrait aussi que je crée une nouvelle table avec la population ? Citation :Pays : Citation :Regions : Citation :region_id ? Ca me parait tellement simple ... RE: BDD_jointure et besoin de "sous_jointure" - Roworll - 21-08-2008 Citation :Donc il faudrait aussi que je crée une nouvelle table avec la population ?Ca dépend. Si la population est directement attachée à la région, tu peux l'intégrer directement comme une colonne dans ta table de région. Par contre, si tu veux gérer plusieurs type de population par région, il te faudra une table supplémentaire. RE: BDD_jointure et besoin de "sous_jointure" - biboum - 21-08-2008 Ha oui ce que j'avais pas compris taleur...c'est que l'id_pays fais la liaison avec la région, et l'id_région fais sa liaison avec d'autres élements... En effet le fait d'integrer la population directement avec les régions fais moins de liaison inutile...mais dans le cas où il y a jusqu'à 50régions par pays, cela ne va pas justement empecher d'avoir une lecteur claire ? parce que ca ferait 50régions différentes, mais 180pays...donc on va dire une moyenne de 20régions par pays donc 3600régions, donc 3600population, 3600scores, ...diviser tout ca en table différente, facilitera t'il la lecture en base de donnée et l'exécution des requetes ? Le plus éfficace pour le serveur quoi... RE: BDD_jointure et besoin de "sous_jointure" - Ter Rowan - 21-08-2008 tu auras probablement plus de chance de comprendre avec un tuto pour apprendre la modélisation de "base" que ce que je vais écrire mais bon. globalement la démarche doit être la suivante tu identifies les différents objets que tu vas manipuler pays, région, population, etc... une fois fait tu identifies les liens entre tes objets lien entre pays et région lien entre région et population une fois que tu as la liste de tes liens tu te poses la question pour chaque lien de la "cardinalité" le 1, n de sephi. Est ce qu'il y a plusieurs régions dans un pays ? Est ce qu'il y a plusieurs pays pour une région ? tu as trois cas : 1) [plusieurs régions dans un pays] ET [plusieurs pays dans une région] alors tu as trois tables : une table pays (avec id pays) une table région (avec id région) une table lien pays région (avec id pays ET id région) 2) [plusieurs régions dans un pays] et [un seul pays dans une région] alors tu as deux tables : une table pays (avec id pays) une table région (avec id région et id pays) 3) [une seule région dans un pays] et [plusieurs pays dans une région] alors tu as deux tables : une table pays (avec id pays et id région) une table région (avec id région) concernant la population il faut te poser diverses questions : y a t il plusieurs populations dans une région (ex cheval, chien, homme) dans ce cas tu dois créer un nouvel objet type de population et recommencer la moulinette vu plus haut (ceci peut se discuter, tu peux aussi, si les types de population sont figés, considérer n colonnes de population par la suite de ce que je vais dire) maintenant imaginons il n'y a qu'un type de population. dans le cas 1) [plusieurs régions dans un pays] ET [plusieurs pays dans une région] si tu as une valeur de population pour la région entière (pas de split par pays) alors tu mets dans la table Région si tu as une valeur de population par couple [région pays] alors tu mets dans la table de lien Pays Région dans le cas 2) [plusieurs régions dans un pays] et [un seul pays dans une région] alors tu mets la donnée dans la table région dans le cas 3) [une seule région dans un pays] et [plusieurs pays dans une région] si tu as une valeur par pays tu mets la donnée dans la table pays sinon, tu mets la donnée dans la table région en espérant avoir un peu aidé A noter, c'est la "base" pour manipuler des bases de données. Donc ne fait rien de poussé tant que ces notions ne deviennent pas "triviales" pour toi, tu passeras sinon ton temps à refaire et défaire bon courage RE: BDD_jointure et besoin de "sous_jointure" - biboum - 21-08-2008 Oulalalalala Mais tu me fais quoi Rowan :p Je pensais avoir eut une illumination et compris ce que les précédents me disaient et voilà que tu arrives ^^ Je ne suis pas sur que la façon comment tu visualises la chose me soit déjà accéssible. Je garde bien sur un lien pour ce que tu dis...je pense que le jour où j'aurais encore un peu cheminé je me souviendrai de ce post et de ta réponse auquel j'y trouverais le sens caché, ...Mais là...j'ai rien compris.Désolé M'enfin je vais continuer dans l'optique de Sephi-chan et de roworll, quitte à devoir refaire et défaire par la suite, mais au moins le cheminement fera son cours et j'en apprendrais toujours... Merci beaucoup Rowan, je me sens un peu idiot de pas pigé ce que tu racontes en fait... RE: BDD_jointure et besoin de "sous_jointure" - Ter Rowan - 21-08-2008 biboum a écrit :Merci beaucoup Rowan, je me sens un peu idiot de pas pigé ce que tu racontes en fait...n'est idiot que celui qui reste sur ses positions sans s'ouvrir, pas celui qui cherche à comprendre y a deux possibilités pour ta non compréhension : - soit je ne me suis pas expliqué suffisamment clairement (vocabulaire peut être, ou démarche), c'est bien possible - soit tu as raté ce que sous entend l'ensemble de tous nos posts (sephi, rowolf) essaies de modéliser cet exercice : je veux créer un jeu simulant l'industrie automobile il existe plusieurs sociétés (peugeot, bmw , etc...) et chaque société à différents modèles de voiture de plus chaque voiture a un prix de vente et un coût de production décrit nous le modèle de tout cela à vos copies RE: BDD_jointure et besoin de "sous_jointure" - biboum - 21-08-2008 je veux créer un jeu simulant l'industrie automobile il existe plusieurs sociétés (peugeot, bmw , etc...) et chaque société à différents modèles de voiture de plus chaque voiture a un prix de vente et un coût de production décrit nous le modèle de tout cela 2 à vos copies Base de donnée => Industrie automobile (passionnant le nom du jeu :p) Citation :Société : Citation :modèle de voiture : Citation :production : Dans mon idée formuler au dessus, il y a une table société et un champ "nom". Il y a une table "modèle de voiture" lié avec un id_société à la table "société", le nom des modèle de voiture et un autre champ qui correspond au modèle de voiture. Et enfin une troisième table "production" qui est lié par "id_modèle" à la table "modèle voiture" où il y a les couts de production et de vente en fonction de chaque modèle. Après il s'agira de lier tout ca dans les instructions. Si je suis le résonnement que j'ai compris j'en arrive à ca. RE: BDD_jointure et besoin de "sous_jointure" - Ter Rowan - 21-08-2008 t y es presque explique moi pourquoi cette table : Citation :production : ou retrouves tu le id_modèle de manière unique ? |