![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Conception Le forum qui vous aide à résoudre vos questions relatives à la modélisation de votre base de données sous Access. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 28
|
Bonjour, je suis nouveau sur ce forum et je demande votre aide svp!
Voila mon problème: Je travaille pour une compagnie de formation et on m'a demandé de créer une base de données afin d'enregistrer les formations données. Exemple, quand on donne une formation, nous remplissons une feuille de liste de présence avec le titre du cours, le code de cours, la date et l'heure, le formateur et son matricule, le centre de formation impliqué ainsi que le local . Puis nous inscrivons le nom du participant, son matricule, l'usine d'ou il vient et il signe cette feuille comme preuve de sa participation à cette formation. Mon patron voudrait qu'après chacune formation, nous ajoutions les informations dans la base de données afin d'avoir un suivi sur QUI a suivi QUELLE formation exactement. Donc, un participant pourra suivre plusieurs formation, donnés par différents formateurs à différents endroits. J'ai pensé faire genre 6 tables : Employés, Cours, Endroit, Formateur, Période, Résultat mais je ne suis pas sur si c'est justifié. J'aimerais svp votre aide sur quelle table je devrais faire, Je joint un exemple de feuille de présence pour vous donné une idée des informations . Dite le moi si vous avez besoin de plus d'informations! Et merci à l'avance pour votre aide! |
|
|
|
|
|
#2 (permalink) |
|
Membre régulier
![]() Date d'inscription: juillet 2008
Messages: 117
|
Bonjour
Ta base de donnees n'est pas si complexe. Dans tes tables, je remplacerais Endroit avec Centre de Formation (Centre si tu as besoin de faire court). A quoi te sert Periode? Dans la fiche ou dans ta description je ne vois pas l'interet de cette table. Maintenant que tu as tes tables, tu dois remplir leur champs. Dis-nous ce que tu penses mettre. |
|
|
|
|
|
#4 (permalink) | ||
![]() |
Quand on se lance dans la création d'une base de données, il faut commencer par la CONCEPTION. Tiens ! C'est justement le forum dans lequel tu postes !
1) A partir du cahier des charges, déterminer quelles sont les entités à gérer. Au vu de ce que tu as écrit, je vois des : - Participants - Formateurs - Cours - Centres de formation - Locaux J'ai à peu près la même liste que la tienne : Citation:
2) Etablir les associations entre les entités. La partie importante de ton texte en ce domaine est la suivante : Citation:
En disant ça autrement, un Employé peut ou pas suivre jusqu'à plusieurs Cours. Nous avons donc l'association : Employés -0,n----Suivre----0,n- Cours b) "donnés par différents formateurs à différents endroits" Un détail qui a son importance et qui n'est pas super clair dans ta description : Est-ce que 1 formation = 1 cours ? Pour le moment je suppose que oui. Nous avons ici deux associations : - Formateur -0,n----Délivrer----0,n- Cours - Cours -0,n----Se dérouler----0,n- Lieux J'arrête là pour ce soir et te laisse continuer à réfléchir. Si tu es perdu, n'hésite pas à consulter la méthode Merise.
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
||
|
|
|
|
|
#5 (permalink) |
|
Membre régulier
![]() Date d'inscription: juillet 2008
Messages: 117
|
Oui il faut regarder les relations, mais comme les entites etaient a peu pres bien je ne les ai pas evoquees.
A moins que ca soit reutilise ailleurs, je ne vois pas l'avantage d'avoir les deux tables "Centre de Formation" et "Locaux" car tu vas avoir une relation 1-1 entre les deux. Par contre tu as retire la table Resultats, je ne suis pas sur d'avoir suivi. * Quelle est la difference entre Cours et Formation? (l'un pourrait etre pour le cours dispense par le formateur, l'autre pour la formation suivie par un employe) * Si Resultats est un attribut de Formation, alors il doit y avoir une relation 1-n entre Formation et Employe (Participant). En effet un seul attribut ne peut pas contenir tous les resultats de tous les employes qui ont suivi le cours. Donc un enregistrement de Formation correspond a un seul employe. Ma proposition est au contraire de garder une table separee pour les resultats, avec une relation 1-n entre Resultat et Cours ainsi qu'une relation 1-n entre Resultat et Employe. Il y a aussi une relation 1-n entre Cours et Formateur, une relation 1-n entre Cours et Centre de Formation et une relation n-n entre Cours et Employe (plusieurs employes assistent a un cours, chaque employe suit plusieurs cours). |
|
|
|
|
|
#6 (permalink) |
![]() |
Salut,
Tu devrais commencer par regarder l'index Access. Tu y aurais trouvé 2 super articles sur la gestion de planning.... de formation !! qui peuvent te mettre sur la voie pour créer la base. http://jeannot45.developpez.com/arti...stionplanning/ http://jeannot45.developpez.com/arti...ionplanningv2/
__________________
Responsable Office Futurs Modérateurs, Rédacteurs : We need you Access : Les Cours, Les Sources et Les FAQs Office Avant de poster : les choses importantes à lire pour la bonne tenue du forum.sinon Ma boite à MPs n'est pas l'annexe du forum |
|
|
|
|
|
#7 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 28
|
Merci pour votre aide, cela devient de plus en plus clair!
Voici alors mes tables/champs que j'ai pensé: Participants (Matricule, Prénom, Nom, Usine/service, commentaires) Cours (Code_cours, Titre cours, Session, Durée, Date, Heure) 1ière question : Je pourrais donner le même cours à une autre date et heure de cette façon? Je continue Centre (ID, Usine, Édifice, Local) Formateurs (ID, Prénom, Nom) Résultats (Rés. théorique, Rés. pratique, commentaires) Question : Je doit donner une clé pour cette table? si oui je ne voit pas quoi mettre) Maintenant, si vous pensez que cette structure est bonne, est-il possible d'avoir un formulaire ou j'indique le cours avec TOUS les participants d'un coup? (Un genre de champ "multi-entrées") Et si j'utilise cette structure et que je donne le même cours à deux dates différentes, ils se comptabiliseront ensemble ou seront deux cours distincts? Encore une fois merci pour votre aide! |
|
|
|
|
|
#8 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 28
|
Voici aussi les relations que j'ai pensé:
Cours --N--------1-- Formateurs (Un cours est donné par un seul formateur à la fois, mais un formateur peut donner plusieurs cours) Cours --N--------1-- Résultats Cours --N--------1-- Centre (Le même cours peut être donné a plusieurs endroits, MAIS a un seul a la fois) Cours --N--------N-- Participants Participants --N--------1-- Résultats Cela a du sens vous croyez? |
|
|
|
|
|
#9 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 28
|
Après analyse, voici mon questionnement :
Étant donné que le même cours peut être donné à des dates différentes, je devrais alors faire une table horaire avec les champs Date et heure non? avec comme relations : Cours --N--------1-- Horaire Ca fait beaucoups de questions! |
|
|
|
|
|
#10 (permalink) |
|
Membre régulier
![]() Date d'inscription: juillet 2008
Messages: 117
|
Si "Code cours" est le meme pour un cours donne a deux dates differentes, alors tu ne peux pas l'utiliser comme clef avec ton schema. Deux options:
1- Ajoute un compteur a la table et utilise-le comme clef 2- Utilise Code cours + Date + Heure comme clef (ou Code cours + Session si c'est unique) Pour Resultat, la clef peut etre un compteur ou bien composee de Matricule participant, ID formateur et ID cours. Pour le formulaire oui c'est possible. |
|
|
|
|
|
#11 (permalink) |
![]() |
Moi je différencierais le cours de la session de formation.
Un cours est un enseignement donné. Une session de formation est un cours donné à une certaine date, par un certain formateur, à un certain nombre de participants, dans un certain lieu. Donc on aurait plutôt les tables : Cours (Code_cours, Titre cours, Durée, ...) Session(Session_Id, Session_Date, Session_Heure, Session_FK_Local, Session_FK_Formateur_ID, ...) Participer(Participer_FK_MatParticipant, Participer_FK_Session_Id, Participer_Resultat, ...) Par ailleurs, si tu as plusieurs locaux dans tes centres de formation, il te faut éclater en deux tables. C'est pour ça que j'ai mis ci-dessus la clé étrangère 'Session_FK_Local'. Sinon tu es sur la bonne voie.
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
|
|
|
|
|
#13 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 28
|
Ouais, c'est bon d'avoir une table "Session"
Alors je recapitule: Participants (Matricule, Prénom, Nom, Usine/service, commentaires) Cours (Code_cours, Titre cours, Session, Durée) Formateurs (ID, Prénom, Nom) Résultats (Rés. théorique, Rés. pratique, commentaires) Session (ID_Session, Participants, Cours,Formateurs, Date, heure, Usine, Édifice, Local) Je n'ai donc plus besoin de la table Centre, puisque la date, l'heure, l'usine, l'édifice et le local sera unique pour chaque Session Ca commence a prendre forme et je vous en remerçie! Vous me perdez avec votre table PARTICIPER!!!! |
|
|
|
|
|
#15 (permalink) | ||
![]() |
Ca ne me semble toujours pas top !
Supprime la colonne Session. Citation:
Tu es bien obligé de créer une association entre la session et les participants. C'est le but de la table Participer. Et du coup les résultats de la formation reçue par un participant lors d'une session sont des données qui sont portées par l'association Participer et donc incluses dans la table Participer. Donc vire la table Résultats. Citation:
Si la notion de centre de formation n'a pas de raison d'être parce qu'elle se rattache toujours à une partie d'une usine, vire là. Mais peut-être que c'est une notion plus large, du genre "Centre de Formation du Sud-Ouest" situé dans l'usine de Toulouse mais qui couvre assure aussi les formations pour les usines de Bordeaux, Pau et Tarbes. A toi de voir ce que tu as besoin de gérer.
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
||
|
|
|
|
![]() |
![]() |
||
Base de données gestion formation
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|