Vous êtes sur la page 1sur 11

Ralisation dune premire base de donnes (Tutoriel)

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)

Les diffrentes tapes de la ralisation de la base notes_tudiants

(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 >

Premire base Access

- 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 ??

Enseignants Identit Tel Matire

Matire Coefficient Intitul

Il y a ici potentiellement 3-4 feuilles Excel


ON NE FIGURE PAS LES OPERATIONS ET AUTRES REQUETES SUR LES DONNEES BRUTES

Maintenant que ltape de conceptualisation est termine, nous pouvons commencer le travail dans Access

Premires tapes avec Access


Cration de tables : il est clair que 4 tables (a y est le mot est lch) vont tre cres lune aprs lautre On renseigne les noms des champs et le type des donnes (ne pas se tromper dans les formats). On peut ajouter des champs nimporte quel moment en basculant vers le mode cration Enregistrement de la table en cours (soit clic droit puis Enregistrer, soit la bascule en mode feuille de donnes demande automatiquement si lon veut enregistrer les modifications)

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

Table_tudiant numro auto cl primaire texte texte texte numrique

Table_notes nom_etu matire note sur 20 texte (nom) texte numrique

Premire base Access

- tutoriel -

Pascal Rigolet

Sept. 2011

Importation dun fichier Excel/dun fichier .txt

(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

Premire base Access

- tutoriel -

Pascal Rigolet

Sept. 2011

Cration des relations


Facilitons nous la tche en crant la table Table_notes Icne relations dans menu feuille de donnes ATTENTION lunicit de linformation ! (cil faut faire la chasse aux doublons). Pour rendre linformation unique on lassocie une ou plusieurs cls dites cls primaires.

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

Premire base Access

- tutoriel -

Pascal Rigolet

Sept. 2011

Schma des relations


Table_notes code_etudiant numrique cl trangre code_matiere numrique cl trangre numrique note sur 20

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

Premire base Access

- tutoriel -

Pascal Rigolet

Sept. 2011

Relations
Finalement un compromis possible est celui figurant ci-dessous

(hypothse : un seul enseignant par groupe) Cration de requtes


Exemple : filtrer les tudiants qui ont eu la moyenne et afficher dans ce cas leurs nom et prnom, la matire ainsi que la note obtenue dans la matire Onglet creer : requte simple

Premire base Access

- 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

Premire base Access

- tutoriel -

Pascal Rigolet

Sept. 2011

Rgles daccs/de priorits SQL : system query langage (transparent pour nous) langage de programmation reconnu par Access

Exportation vers un fichier excel

Exemple : rsultat dune requte

Exercice : extraire la table rsultat de la requte (matire= Gologie ) et raliser le graphe de la rpartition des notes en classes de 2 points.

Premire base Access

- tutoriel -

Pascal Rigolet

Sept. 2011

Les 4 mtiers qui se cachent derrire une base de donnes :


ladministrateur de la base qui gre les informaticiens (crent le SGBD, dfinissent les requtes, fonctions, validations etc) , les personnes qui renseignent la base de donnes (donnent un contenu fiable la base) et celles qui saisissent les donnes. Besoin de faire des tests pour rvler le maximum derreur mises jour de la base.

Rgle du 80/20

Rgle du 80/20 : ( propos de la recherche de performance)


Sapplique la notion de cahier des charges Cahier des charges : objectifs 100% des charges ralises On passe 20% du temps pour honorer 80% du cahier des charges. Pour sintresser au reste (dtails) du cahier des charges (20% restant), le temps y consacrer est indfini Le parfait nexiste pas, il faut dj faire quelque chose de bien. Apprendre travailler vite et bien. Aller lessentiel (au plus vident).

A lissue de ce travail, nous sommes prts nous intresser des considrations plus environnementales

Premire base Access

- 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

Id_master Intitule Responsable

numro auto cl primaire liste texte

Nom_master

texte

Premire base Access

- tutoriel -

Pascal Rigolet

Sept. 2011

11