|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour,
Je suis étudiant et dans le cadre d'un cours d'informatique je dois mettre au point une base de donnée avec Access 2003. Je dois pouvoir créer les tables, les relations, les requetes, les formulaires, les etats, les pages et créer certains macro. Mon idée est la suivante, créer une base de donnée regroupant toutes les données concernant les Grands Prix de Formule 1 depuis 1950. Le but ? Pouvoir accéder en quelques clics à des statistiques comme le nombre de grand prix gagnés par un pilote, le nombre de pole position, pouvoir mettre à jour les données sur les futures courses,... Comment me conseillez-vous de construire ma table ? Quelle doit-être la structure des relations ? Je vous remercie d'avance pour votre aide précieuse ! J'ai juste besoin d'un petit coup de pouce pour savoir comment je dois commencer à mettre au point cette base de donnée, le reste ne devrait pas me poser de problème comme j'ai un cours et un livre "Access 2003 : Notions de base" de Renaud ALAGUILLAUME comme support. [Benamour] |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() |
En fait voici à quoi j'ai pensé :
TABLE : Pilote - code pilote - nom - prénom - date de naissance - nationalité - année de début en F1 - année de fin de carrière TABLE : Ecurie - code écurie - pilote 1 - pilote 2 - date de création de l'écurie TABLE : Grand Prix - code grand prix - date du grand prix - circuit - pilote vainqueur TABLE : Pôle Position - Code pole-position - pilote en pôle TABLE : Champion - code champion - pilote champion (ayant gagné le championnat du monde) - année de la saison concernée Et donc je pense a une relation en étoile avec la table PILOTE au centre. Et de la part toutes les relations de 1 à plusieurs vers les tables ecurie, grand prix, pole position et champion. Tout étant relié par le nom de famille du pilote. Qu'en pensez-vous ? C'est viable ? Dois-je raouter quelque chose ? |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 318 ![]() |
Bonjour,
Je pense qu'un peu de lecture t'apporterais un peu plus de précision: http://mhubiche.developpez.com/Access/tutoJointures/ Bonne lecture...
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() |
Merci. je viens de parcourir ton lien et son contenu est plus ou moins semblable au cours que mon prof nous a donné. Est-ce que les tables que j'ai donné précédemment te semblent viables ?
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 115 ![]() |
Bonjour,
Je ne suis pas expert, je me permet quand même ce petit conseil : Je crois qu'il y a deux tables qui devraient être supprimées. 1 - Suppression de la table Pôle-position et ajout du champ PiloteEnPôle dans la table GrandPrix 2 - Suppression de la table Champion et ajout d'un champ Oui/Non : ChampionDuMonde et d'un champ Date : DateChampionDuMonde dans la table Pilote. Bon courage pour ton projet. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() |
Merci pour ton conseil mais comment faire quand un pilote est plusieurs fois champions du monde ? Il vaut mieux faire une autre table pour ca, non ?
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 115 ![]() |
Autant pour moi, tu as raison.
A moins que tu utilises la table Grandprix pour préciser le titre obtenu par le vainqueur de la course. Ca te permet de récupérer facilement la date et l'écurie. |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() |
j'ai un problème avec l'écurie en fait. Comment faire pour correspondre deux pilotes à une écurie ? Et pouvoir par la suite mettre à jour facilement les informations concernant une écurie (comme les deux pilotes changent souvent...).
|
|
|
00
|
|
|
#9 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
Bonjour
En effet je crois que la table T_Champion doit exister de meme qu'une table T_Courses qui permettra de suivre tous les résultats de chaque pilote TABLE : T_Pilote - CodePilote - NomPilote - PrenomPilote - DateNaissance - Nationalite - DebutF1 - FinCarriere TABLE : T_Ecurie - CodeEcurie - CodePilote1 - CodePilote2 - DateCreationEcurie - NomEcurie - NationaliteEcurie TABLE : T_GrandPrix - CodeGP - Circuit - PaysGP TABLE : T_Courses - CodePilote - DateCourses - PolePosition (Vrai/Faux) - PositionArrivee TABLE : T_Champion - CodePilote - AnneeChampion - NbrePoints Je me suis permis de reprendre tes noms de champs afin d'harmoniser le champ CodePilote. D'autre part, évite les accents et les espaces dans les noms de champs Voilà une autre piste à visiter Bon courage
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#10 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
Re,
J'ai hésité sur une table T_PiloteEcurie qui en fait contiendrait 3 champs TABLE : T_PiloteEcurie - CodeEcurie - CodePilote - SaisonGP
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() |
Mais il faut deux CodePilote pour T_PiloteEcurie comme il y a pour chaque saison 2 pilotes par écurie, non ? Est-ce que deux relations peuvent partir de la table T_PiloteEcurie vers le CodePilote de la table T_Pilote ?
je ne pense pas faire une table TABLE : T_Courses car sinon, je vais devoir encoder tous les résultats de tous les pilotes pour toutes les courses depuis 1950... et je dois dire que je manque un peu de temps ^^ |
|
|
00
|
|
|
#12 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
En effet tu auras deux enregistrements pas Ecurie
Quant à la table des Courses, je disais çà pour être un peu plus complet, c'est toi qui gère !
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() |
Oki, merci pour tous ces conseils !!! Grâce à vous je pense pouvoir commencer à mettre au point ma base de données :p
Je vais essayer de construire toutes mes tables avec toutes les relations puis poster ça sur le forum afin que vous puissiez donner votre avis sur la viabilité de ma base, merci beaucoup !! |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() |
je suis bloqué concernant les relations pour associer à une écurie deux pilotes en fonction de l'année (comme les pilotes changent parfois d'écurie d'une année à l'autre).
Voici ce que j'ai : ![]() Quelqu'un sait-il comment je dois procéder pour la relation ? Merci !! |
|
|
00
|
|
|
#15 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
Je crois que tu n'as pas bien compris mon post. En fait tu as UN SEUL CHAMP CodePilote dans la table T_EcuriePilote. Cependant cette table contiendra deux enregitrements (2 lignes) par ecurie.
Je ne comprend pas pourquoi tu as renommé les champs en ajoutant un Prefixe (P/C/E/EP). Tu vas te compliquer la vie pour la suite Au passage regarde ce tuto
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() |
Merci!
![]() Concernant les noms des champs avec "P_" "E_" ... c'est parce que j'ai lu dans le "Microsoft Access 2003 : Notions de base" de Renaud Alaguillaume que des noms comme Date ou Nom peuvent être à un moment inopportun, interprétés comme des mots-clés Access (Nom étant le nom du formulaire ou de l'état en cours et Date, la date du jour). Donc c'est pas mieux ? Merci beaucoup pour votre aide à tous !!!
|
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() |
Voila ce que donne mes relations :
![]() Est-ce que vous voyez des erreurs ? Ou je peux entamer les requêtes ? ^^ |
|
|
00
|
|
|
#18 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
Bonjour,
A propos des noms de champs : Ce que tu as lu est tout à fait vrai, c'est pour cela que l'on conseille de qualifier les champs qui risquent de générer des ambiguités Exemple : pour Nom mettre NomPilote Pour Année mettre AnneeGP (en effet, Année est une fonction de calcul) A propos de tes relations : Les clés primaires dans les tables T_GrandPrixPilotes et T_EcuriesPilotes ne sont pas obligatoires. Ce sont des tables de jointures entre T_GrandPrix et T_Pilotes ou entre T_pilotes et T_Ecuries (C'est à dire des tables qui permettent de résoudre un problème de relations de plusieurs à plusieurs Bonne continuation
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com