Modele de table pour jointure

cyril - 22 févr. 2015 à 10:37
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 24 févr. 2015 à 19:24
Bonjour,
je recherche un modèle de table simple 3 ou 4 champ pour comprendre les jointure,
j'ai trouver plein de cour sur les requête au sujet des jointure mais j'aimerai d'abord comprendre comment créer 2 table avec une jointure
j'ai essaye de créer 2 table avec un même id sur mes 2 table mais phpmyadmin me dit que c'est impossible de le faire donc j'ai du mal comprendre une explication
si une personne peu m'éclairer svp

3 réponses

Blue22Eagle Messages postés 10 Date d'inscription dimanche 14 décembre 2014 Statut Membre Dernière intervention 2 octobre 2017
23 févr. 2015 à 09:01
Salam et bonjour,
d'abord il faut comprendre le concept de la jointure, essayer de créer manuellement vos table et votre jointure sur MS Access, ensuite allez voir la requête sql générée automatiquement (faite attention au différence de langage sql entre les outils, moi-même j'ai été confronté à pas mal de différence entre le mysql de PhpMyAdmin et le sql de MS Access,
en général, la jointure ce fait comme suit :

table 1: Personne --> Id-P | Nom | Prenom | Age
table 2: Voiture --> Id-V | Id-P | Marque | Model | Motorisation

Jointure :
Select Personne.Nom, Personne.Prenom, Personne.Age, Voiture.Marque, Voiture.Model from Personne Inner Join Voiture on Personne.Id-P = Voiture.Id-P;
bonne chance.
0
bonjour et merci pour la réponse,
mon problème est surtout sur les id normalement on doit les mettre en auto incrément ceux que je fait mais dans la table 2 de ton exemple je ne peu pas mettre les 2 id en auto incrément es ce normal ou cela viens de ma version de mysql ?
et merci encore pour la reponse
0
Blue22Eagle Messages postés 10 Date d'inscription dimanche 14 décembre 2014 Statut Membre Dernière intervention 2 octobre 2017 > cyril
24 févr. 2015 à 15:56
salam et bonjour,

l'auto-incrémentation s'avère bien dans le cas où je n'ai pas besoin de la valeur de l'id, comme le Id-P de Personne et le Id-V de Voiture (chaque nouvel enregistrement "tuple" à besoin d'un nouveau identificateur, peut importe lequel),
mais dans la table Voiture le Id-P doit pointer sur une personne bien spécifique (celle qui possède cette voiture), et donc pas un nouveau numéro (l'auto-incrément n'a dans ce cas aucun sens), exemple :

la table Personne reçoit un nouvel enregistrement le jour ou cyril achète une voiture (cyril reçoit un nouveau Id-P qui est le 12500),

la table Voiture reçoit un nouvel enregistrement car cyril a acheté une voiture toute neuve (félicitation pour la Xsara!) qui à un nouveau Id-V, le 62000),

jusque-là, pas de problème pour utiliser l'auto-incrément,

mais
pour dire que cette Xsara est possédée par cyril, le dernier enregistrement dans la table Voiture doit être :
Id-V | Id-P | Marque | Model | Motorisation
-------- --------- ---------- -------- ----------------
62000 | 12500 | Citroën | Xsara | 1.8 D

le 12500 est le Id-P du dernier enregistrement de la table Personne,

j'espère ne pas avoir chambouler les choses,

à votre service.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
24 févr. 2015 à 16:09
Bonjour

Pour compléter la réponse de Blue22Eagle

mon problème est surtout sur les id normalement on doit les mettre en auto incrément ceux que je fait mais dans la table 2 de ton exemple je ne peu pas mettre les 2 id en auto incrément es ce normal ou cela viens de ma version de mysql ?


Cela n'a aucun rapport avec ta version de Mysql....
On ne peut mettre en auto-incrément qu' UN SEUL id par table...


Pour t'aider à comprendre les jointures... voici un petit exemple de tables :


Chaque élève .. durant l'année.. est noté ( en math.. en Français...etc....)
On stocke ces notes dans la talble NOTES.
La relation entre la table ELEVES et la table NOTE se faisant par l'intermédiaire du N°Eleve ( ou l'id ELEVE si tu préfères..)
De la même manière... pour savoir à quoi fait référence la Note.. on à la Table MATIERE ... et on sait même si la note est due à une évaluation de type BAC_BLANC ou CONTROL_CONTINU...etc....
0
merci pour vos réponse c'est beaucoup plus clair je me douté bien qu'il y avais un problème il s'avère que c'était juste un problème de compréhension qui est résolu maintenant je préfère çà qu'un problème de version sql il me reste plus cas me replonger dans les cours pour faire des requête maintenant
merci encore
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
24 févr. 2015 à 19:24
Bon courage.

Par contre....
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
Rejoignez-nous