[ORACLE] clés étrangeres de differentes tabls

Résolu/Fermé
kismetgram Messages postés 9 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 6 septembre 2008 - 28 janv. 2008 à 12:15
 nanci - 28 janv. 2008 à 13:16
Bonjour,

construisant actuellement une base de données sur les joueurs de tennis je m'interroge sur le fait que je doive créer ou non plusieurs tables intermédiares voici le pb jai une table joueur(id_joueur, nom_joueur , caractéristique , ...) et court( id_court, nom, type surface ... ) et une troisieme pays(id_pays, nom_pays, nationalité)

j'aimerais savoir si je dois impétaivement créer 2 tables intermédiares : reside (id_joueur, id_pays) et se_situe (id_court, id_pays)

ou s'il y a une autre maniere de faire en incluant directement id_pays ans les tables joueur et court


merci d'avance sur les précisions que vous pourrez m'apporter

7 réponses

dites moi d'abord pour la relation pays quel sont les champs qu vous en y besoin?
0
SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 128
28 janv. 2008 à 12:31
vu qu'un court ne peut être que dans un seul pays, tu peux inclure une clé étrangère vers un pays dans ta table listant les cours.
de même pour les joueurs.
par contre, un joueur peut jouer sur plusieurs cours différents et un cours peut recevoir plusieurs joueurs. pour celà, il ta faut une table de liaison entre les cours et le joueur, pour pouvoir faire apparaitre plusieurs vois un joueur sur la liste des scours et plusieurs fois un cours sur la liste des joueurs. ça te permet également de garder un historique de quel joueur a joué sur quel cours. alors que tes tables cours et joueurs sont des photos prises à l'instant t
enfin, c'est comme ça que je vois les choses
au final, tout dépend de ce que tu veux faire
0
alors si j'ai bien compris votr forme relationnelle devient
cours( id_court, nom, pays,type surface ... )
joueur(id_joueur, nom_joueur , nationnalité,caractéristique , ...) et court
se-faire(id_court,id_joueur,date)
vous n'etes pas besoin de créer la table pays
0
SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 128
28 janv. 2008 à 12:55
si, on peut créer une table pays, pour mettre une clé étrangère vers elle dans les tables joueur et cours, afin de pouvoir spécifier dans quel pays se trouve le cours et de quelle nationalité est le joueur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
et b1 tu ajoute le champ pays dans la table cours et le champ nationnalité dans la table joueur comme j'ai vous y indiqué ttal'heur
0
SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 128
28 janv. 2008 à 13:10
sauf que si tu veux une description complète de ton pays, tu n'optimisera pas l'espace de stockage en faisant comme tu fais. la construction que je te propose te permet d'avoir toutes les infos sur la pays, qu'il soit relié au cours ou au joueur, en minimisant l'espace de stockage.
0
ok donc c est comme vous avez fait mais en ajouttant
se-faire(id_court,id_joueur,id_pays,date)
pour sauver l'historique
0