Tutoriel BD PDF
Tutoriel BD PDF
Tutoriel BD PDF
Rgles essentielles :
Il faut : Eclater linformation ; Rassembler ce qui peut ltre en catgories (familles ou rubriques) ; Avancer par tapes (chacune doit tre oprationnelle) ; Mettre dans une rubrique annexe tout ce que lon ne peut pas ranger dans une catgorie prcise ; Etre patient.
Mais tout se rgle dabord avec une feuille de papier et un crayon ! La phase papier/crayon doit tre suffisamment claire et exacte pour passer la pratique immdiatement. Ceci implique dtablir et de suivre un cahier des charges et de raliser une tape de brain storming. Finalement le schma des relations doit conduire la ralisation dune premire version de la base ACCESS. Il existe une mthode pour raliser (construire) une base de donnes MERISE Sans le savoir ou le dire on va appliquer les principes de cette mthode et faire preuve de bon sens.
MERISE : Vocabulaire de spcialiste Fait pour organiser le travail des informaticiens (annes 60-70) et rendre le traitement de linformation structure plus performant Modle conceptuel des donnes vision pratique de la base de donnes (vocabulaire logiciel de la base de donnes)
(Nous passerons outre les dtails dune ventuelle version Excel pour nous pencher exclusivement sur la faon de raliser une base Acces fonctionnelle) Aussi surprenant que cela puisse paratre, une base de donnes relate une histoire ! Lhistoire qui est sous jacente (et rpte autant de fois que ncessaire) dans cette base est : < Ltudiant Machin a obtenu la note X sur 20 dans la matire Truc enseigne par le prof Bidule >
- tutoriel -
Pascal Rigolet
Sept. 2011
On soccupe dabord du contenant avant le contenu. Il faut donc structurer ce contenant Commenons donc par clater et catgoriser linformation, ceci va permettre de reprer les futures tables et de dfinir les futurs champs des enregistrements. On repre ainsi que 3 catgories (tables) peuvent tre ainsi facilement cres regroupant une information cohrente. Il reste un problme : o ranger les notes ?
Etudiants Nom Prnom E-mail Identificateur tudiant Notes Annexe Notes Rsultats ??
Maintenant que ltape de conceptualisation est termine, nous pouvons commencer le travail dans Access
Une rgle essentielle : il faut viter les doublons Lunicit de linformation est plus facilement assure par un codage numrique. Au dbut, cela surprend un peu, mais sy fait rapidement lorsque lon constate tous les avantages que cela procure en souplesse dans la cration, la gestion et lutilisation pratique de la base de donnes. Table_enseignant Id_prof matire tel texte (nom) Id_matiere texte intitule numrique (entier) coef
Table_matire numro auto cl primaire Id_etudiant texte nom numrique (entier) prenom e-mail Id_INE
- tutoriel -
Pascal Rigolet
Sept. 2011
(Nous abordons alors laspect contenu pour la premire fois) Commenons par nous faciliter la tache en rcuprant les noms des tudiants depuis un fichier texte 1 / Enregistrer la feuille excel en format texte (.txt) (sparateur tabultation) 2 / Ouvrir access, dans donnes externes : importer fichier .txt, dans la boite de dialogue choisir le bon sparateur et cocher 1re ligne contient les noms des champs si besoin 3 / On peut choisir de laisser access choisir une cl primaire ou choisir le champ de la cl primaire ou ne pas indiquer de cl primaire. 4 / Il faudra ajouter cette table le numro dindex de chaque enregistrement (ID_etudiant) 5 / Enregistrer la table / elle est dsormais totalement utilisable
- tutoriel -
Pascal Rigolet
Sept. 2011
Table_notes code_etudiant numrique cl trangre code_matiere numrique note sur 20 numrique Table_notes = TABLE CENTRALE
(sans sen rendre compte on vient galement de crer une table intermdiaire permettant ltablissement de relations de type n m, dite galement 1 plusieurs) On a cr un champ code_etudiant (ajout dans la table table_tudiant) pour avoir un numro unique. Dans table_tudiant : clic droit Id_etudiant cl primaire (ou clic direct sur cl primaire)
Le champ correspondant la cl primaire contient une information rendant lenregistrement complet UNIQUE Quand un champ correspond la cl primaire il ne peut pas tre supprim (il faut au pralable supprimer lattribut cl primaire) Pour crer une relation : - Toutes les tables devant tre mises en relation doivent tre fermes - cliquer-glisser du champ Id_etudiant (table_tudiant) vers code_etudiant (table_notes) - dans la fentre de dialogue cocher Appliquer lintgrit rfrentielle et mettre jour en cascade les champs correspondants
- tutoriel -
Pascal Rigolet
Sept. 2011
Table_tudiant Table_matire Id_etudiant nom prenom e-mail Id_INE numro auto cl primaire texte texte texte numrique Id_matiere intitule coef code_enseignt numro auto cl primaire texte numrique numrique
Table_enseignant Id_enseignant nom code_matiere qualit tel e-mail numro auto cl primaire texte numrique cl trangre texte numrique texte
Ca colle bien avec lhistoire raconter : Ltudiant machin a obtenu la note X sur 20 dans la matire truc enseigne par le prof bidule. Tout va bien, on a bien travaill.
plusieurs
Hypothses : 1. un tudiant a plusieurs notes mais une seule par matire 2. Un enseignant peut enseigner plusieurs matires 3. Chaque matire son coefficient 4. Il y a un seul correcteur par matire
Exercice : comment transformer cette structure pour tenir compte du fait quune matire peut galement faire intervenir plusieurs enseignants (il y a plusieurs solutions) ? Premire base Access - tutoriel Pascal Rigolet Sept. 2011 5
Premier enregistrement auto pour chacune des tables non dfini + valeur par dfaut = 1 pour tous les code_... Permet de ne pas avoir de problme et toujours avoir des liaisons qui marchent. Listes de choix Dans table_matire il faut pouvoir imposer que le coefficient soit compris dans une liste : On cre une nouvelle table Table_coef avec un seul champ coef_matiere qui est numrique. Dans Table_matiere on change le type de donnes (si cela ne marche pas effacer le champ puis recommencer) et on slectionne assistant liste de choix au lieu de numrique. Assistant liste de choix doit rechercher dans table,., on choisit Table_coef puis le champ coef_matiere. Ainsi lorsque lon veut renseigner dun coefficient dans le champ coef on dispose dun ascenseur qui nous permet de choisir parmi les valeurs de coef_matiere dans la Table_coef. !!! Attention !!! on peut mettre dautres valeurs, si lon veut rester dans la fourchette donne par la Table_coef il faut aller dans valide si >0 Et <=5
- tutoriel -
Pascal Rigolet
Sept. 2011
Relations
Finalement un compromis possible est celui figurant ci-dessous
- tutoriel -
Pascal Rigolet
Sept. 2011
On peut sintresser intgrer lensemble dans la spcialit (module) choisie par les tudiants. Pour Chaque module il y aura une srie de notes par tudiants (correspondant aux matires dfinissant le module). Cela peut donner le schma suivant :
Table_notes code_etudiant numrique cl trangre code_matiere numrique cl trangre numrique note sur 20
Table_etudiant Table_matiere Id_etudiant nom prenom e-mail Id_INE numro auto cl primaire texte texte texte numrique Id_matiere intitule coef code_enseignt numro auto cl primaire texte numrique numrique
Table_enseignant Id_enseignant nom code_matiere qualit tel e-mail numro auto cl primaire texte numrique cl trangre texte numrique texte
Table_module Id_module code_etudiant responsable secretaire code_APOGEE numro auto cl primaire numrique cl trangre texte texte numrique
- tutoriel -
Pascal Rigolet
Sept. 2011
Rgles daccs/de priorits SQL : system query langage (transparent pour nous) langage de programmation reconnu par Access
Exercice : extraire la table rsultat de la requte (matire= Gologie ) et raliser le graphe de la rpartition des notes en classes de 2 points.
- tutoriel -
Pascal Rigolet
Sept. 2011
Rgle du 80/20
A lissue de ce travail, nous sommes prts nous intresser des considrations plus environnementales
- tutoriel -
Pascal Rigolet
Sept. 2011
10
Comment renseigner la base des spcialits (4) suivies par ltudiant(e) ??? (variante)
But : pouvoir sortir la liste des tudiants pour chaque spcialit + pouvoir sortir la liste des spcialits pour chaque tudiant (1 ou plusieurs) Crer une nouvelle table. Chaque tudiant peut suivre une ou plusieurs spcialits. Crer une table avec la liste des spcialits pour pouvoir choisir dans la Table_master la spcialit dans la liste Liste_master.
Table_master_tudiant Rgle du 80/20 : code_etu numrique code_specialite numrique Permet de combiner indpendamment des informations nouvelles corrles (spcialits = intitul prcis du master) Soit la nouvelle table Table_master est en amont de Table_matire, soit la Table_master directement relie par une relation de 1 plusieurs (1 n) la Table_tudiant.
Table_tudiant Id_etudiant nom prenom e-mail Id_INE numro auto cl primaire texte texte texte numrique Table_master
Les requtes permettent dafficher (ou non) cette nouvelle information avec les autres. Liste_master
Nom_master
texte
- tutoriel -
Pascal Rigolet
Sept. 2011
11