0% ont trouvé ce document utile (0 vote)
7 vues6 pages

Gestion des absences par base de données

exercice 02

Transféré par

Anna Toupin
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues6 pages

Gestion des absences par base de données

exercice 02

Transféré par

Anna Toupin
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TD N°2 - Une base de données avec plusieurs tables

SIG

Nous avons vu au cours de la première partie, que les bases de données sont capables de recenser des

informations dans des tables Nous allons maintenant voir qu'il est possible de les relier afin de pouvoir

partager les informations entre-elles.

Analyse d’un cas : La gestion des absences

Monsieur Bernard gère les absences dans un établissement scolaire. Dès qu’une absence est constatée, un

ticket d’absence est établi. Celui-ci précise l’élève concerné ainsi que le motif de l’absence.

BILLET D’ABSENCE N° Établi le

Nom : Prénom :

Depuis le : À h

Retour le : À h

Motif : Absence justifiée £ Oui £ Non

1. Analyse de la situation

Le Modèle Conceptuel des Donnée (schéma relationnel) suivant présente la base de données gérant les

absences.

Billets d’absence

Numéro_abs

Date_début_abs

Heure_début_abs

Date_fin_abs
Elèves
Absence_justif_abs
(0,n) (1,1) Motifs
Numéro_élève Concerner
#Numéro_élève
Nom_élève (1,1) (0,n)
Comporter Numéro_motif
#Numéro_motif
Prénom_élève Nom_motif

Analyse du schéma : repérer les différentes tables ? repérer les différents identifiants (les clés) ? pourquoi

retrouve-t-on dans la table billets d’absence, une référence au numéro d’élève et au numéro de motif ?

comment l’information est-elle partagée ?


TD N°2 : une base de données avec plusieurs tables - Page 2

1.1 Mettre en « relation » les tables

Les tables sont reliées entre-elles en utilisant une « association », symbolisée par un rond avec pour nom un

verbe à l'infinitif. Dans le schéma proposé, nous avons deux associations : concerner et comporter.

De chaque côté de l'association, les « cardinalités » viennent indiquer le nombre minimum et maximum de

fois où les enregistrements d’une table participent à l’association. Le premier chiffre correspond au minimum

(0 ou 1), et le second au maximum (1 ou n). Dans le cas présent :

w chaque billet d’absence concernera au minimum un et au maximum un élève et un élève peut avoir

au minimum aucun ou au maximum plusieurs billets d’absence.


au minimun 1
w à chaque billet d’absence correspondra ______________________________ motif bien précis et un motif
au minimun n
sera présent ______________________________ sur plusieurs billets d’absence.

Lorsque l’on se trouve en présence d’une cardinalité (1,1) ou (0,1), cela veut dire qu’il s’agit
d’une relation obligatoire ou facultative mais avec un maximum d’une occurrence.
___________________________________________________________________________________________________________________________

___________________________________________________________________________________________________________________________

Dans le cas présent, chaque billet d’absence concernera un élève précis et comportera également un motif.

La « clé étrangère » est un attribut qui fait référence à une autre table. _________________________________________

Elle permet de relier les données entre différentes tables en assurant la cohérence.
___________________________________________________________________________________________________________________________

___________________________________________________________________________________________________________________________

La clé étrangère est obligatoirement la clé primaire d'une autre table. Elle se situe toujours dans la table

positionnée du côté de la cardinalité (0,1) ou (1,1).

Elle est formalisée dans le schéma relationnel par un dièse « # », qui précède la clé.

1.2 Pourquoi décomposer la base de données en plusieurs tables ?

FIGURE : Vision en extension de la base de données « Gestion des absences »


TD N°2 : une base de données avec plusieurs tables - Page 3

En analysant la figure, il apparaît plusieurs raisons à l’éclatement de la base en plusieurs tables :

w Réduire la taille de la base de données, en évitant de ressaisir plusieurs fois les mêmes informations ;

w Faciliter la saisie d’informations récurrentes (en utilisant des listes déroulantes) ;

w Éviter les erreurs de saisie (orthographe ou erreur de frappe) ;

w Faciliter la mise à jour des informations.

2. Rédiger le modèle relationnel

L’objectif du modèle relationnel est de rendre compréhensible le Modèle Conceptuel des Données (MCD) par

le logiciel de base de données. Il s’agit d’une traduction.

Dans le cas présent, nous allons retrouver nos 3 tables qui s’appelleront des relations.

ELEVES (Numéro_élève, Nom_élève, Prénom_élève)

MOTIFS (Numéro_motif, Nom_motif)

BILLETS D’ABSENCE (Numéro_abs, Date_début_abs, Heure_début_abs, Date_fin_abs, Absence_justif_abs,

#Numéro_élève, #Numéro_motif)

Afin de relier les différentes relations, il faut utiliser des clés étrangères précédées par un # que l’on vient

positionner dans les relations qui reçoivent l’information.

Par exemple, pour créer le lien entre la relation BILLETS D’ABSENCE et la relation ELEVES, il faut intégrer la clé

étrangère #Numéro_élève dans la relation BILLETS d’ABSENCE.

À chaque billet d’absence, on affectera un numéro d’élève unique.

Dans le logiciel Access, nous utiliserons dans la table « BILLETS d’ABSENCE », l’assistant liste de choix, afin de
créer les liens avec les tables « ELEVES » et « MOTIFS ». Il sera ensuite possible d’affecter à chaque billet
d’absence, un élève et un motif précis qui sera unique pour chaque billet.
TD N°2 : une base de données avec plusieurs tables - Page 4

3. Mise en application sur le logiciel Access

1) Créer la table « Elèves », puis saisir quelques enregistrements

Nom du champ Type de données Propriétés du champ


Numéro_élève NuméroAuto Clé primaire - Légende : Numéro

Nom_élève Texte court Légende : Nom

Prénom_élève Texte court Légende : Prénom

2) Créer la table « Motifs », puis saisir quelques enregistrements

Nom du champ Type de données Propriétés du champ


Numéro_motif NuméroAuto Clé primaire - Légende : Numéro

Nom_motif Texte court Légende : Motif

3) Créer la table « Billets d’absence », puis saisir quelques enregistrements

Champ Format Informations complémentaires


Numéro_abs NuméroAuto Clé primaire - Légende : Numéro

Date_debut_abs Date/Heure « Date, abrégé » et masque de saisie - Légende : Date de début

Heure_début_abs Date/Heure « Heure, abrégé » et masque de saisie - Légende : Heure de début

Date_fin_abs Date/Heure « Date, abrégé » et masque de saisie - Légende : Date de fin

Heure_fin_abs Date/Heure « Heure, abrégé » et masque de saisie - Légende : Heure de fin

Absence_justif_abs Oui/Non Légende : Absence justifiée

R Je veux que le champ Liste de choix extraie les valeurs d’une autre
table ou requête.
Numéro_élève Sélectionner la table « Elèves »
Assistant
Ü Sélectionner les champs : « Numéro_élève », « Nom_élève » et
liste de choix
« Prénom_élève »
Elèves Numérique
Pas de tri nécessaire
£ décocher « Colonne clé cachée » - Saisir l’étiquette « Elèves »
R Activer l’intégrité des données
R Je veux que le champ Liste de choix extraie les valeurs d’une autre
table ou requête.
Numéro_motif
Assistant Sélectionner la table « Motifs »
Ü liste de choix Sélectionner les champs : « Numéro_motif », « Nom_motif »
Motif Numérique Pas de tri nécessaire
R cocher « Colonne clé cachée » - Saisir l’étiquette « Motifs »
R Activer l’intégrité des données

4) Afficher les relations en vous rendant dans l’onglet « OUTILS DE BASE DE DONNÉES », rubrique « Relations…»

et en choisissant « Relations ».

5) À l’aide de l’assistant formulaire, créer un formulaire avec les informations sur les élèves et les absences (voir

point 4.3.2. ci-après).


TD N°2 : une base de données avec plusieurs tables - Page 5

4. Tutoriel détaillé sur Access

4.1 Utiliser l’assistant liste de choix pour relier les tables

En utilisant l’assistant « Liste de choix… », Access va créer automatiquement la relation entre les tables et

également appliquer l’« intégrité référentielle ».

L’ « intégrité référentielle » est un mécanisme permettant d’éviter les anomalies dans une base de

données. Elle permet de vérifier l’existence de la valeur (la référence) de la clé étrangère par rapport à la

valeur de la clé primaire correspondante.

Il n'est pas possible de faire référence à une valeur dans une clé étrangère, qui n'a pas été déjà enregistrée en

clé primaire. Dans le cas présent, il ne sera pas possible de réaliser un billet d’absence s’en avoir au préalable

saisie la fiche élève dans la table.

L'intégrité référentielle vérifie également que la clé primaire et la clé étrangère ont le même format de données

(texte, numérique, date...).

4.2 Afficher les relations existantes entre les tables

8 Onglet « OUTILS DE BASE DE DONNÉES » à rubrique « Relations…» à Choisir « Relations »

FIGURE : Onglet « OUTILS DE RELATION » - « CRÉER »

Pour que les données s’échangent entre les tables, il faut que vos tables soient reliées entre-elles et que

l’intégrité référentielle soit appliquée.

Il faut donc systématiquement vérifier que vos relations sont établies avant de commencer à réaliser des

saisies.
TD N°2 : une base de données avec plusieurs tables - Page 6

w Pour ajouter une table dans les relations :

8 Choisir « Afficher une table » à double-cliquer sur la table à rajouter.

w Pour relier deux tables :

8 Utiliser l’ »assistant liste de choix » ou réaliser un glisser-déposer d’une clé étrangère vers une clé primaire.

w Pour appliquer l’intégrité référentielle sur une relation :

8 Double-cliquer sur la relation à Cocher « Appliquer l’intégrité référentielle ».

w Pour supprimer une relation :

8 Cliquer sur la relation à appuyer sur la touche « Sup ».

4.3 Créer des formulaires avancés

Avant de créer des formulaires, fermer tous les onglets (tables, formulaires, relations…).

Créer un « formulaire double affichage »

Ce formulaire offre deux affichages simultanés :

m un affichage formulaire « simple » présentant un enregistrement précis dans la partie haute

m un affichage formulaire « feuille de données » dans la partie basse.

Les deux formulaires sont synchronisés.

8 Cliquer sur une table dans le volet de navigation à Onglet « CRÉER » à Rubrique « Formulaires » à Choisir

« Plus de formulaires » puis « Formulaire double affichage ».

Créer un « formulaire intégrant un sous-formulaire »

Nous allons créer un formulaire qui comprendra des informations sur chaque élève et également des

informations sur les absences de celui-ci.

8 Onglet « CRÉER » à Rubrique « Formulaires » à choisir « Assistant formulaire » à Ajouter les champs des

tables « Elèves » et « Billets absence » à Afficher vos données en fonction de « Elèves », en utilisant un

« formulaire avec sous-formulaire »

Intégrer une liste déroulante de sélection dans la zone d’en-tête

8 Basculer en mode création à Rubrique « OUTILS DE CRÉATION DE FORMAULAIRE – CRÉATION », rubrique

« Contrôles » à choisir « Zone de liste déroulante » et insérer là dans la zone d’en-tête à cocher « Rechercher

un enregistrement dans mon formulaire… » à Sélectionner « Numéro_élève ».

Vous aimerez peut-être aussi