PSY38X2 : Traitement de données en Psychologie - TD No3

Utilisation d'un SGBD relationnel - Deuxième partie

 

 

 

1) Reprendre le travail réalisé dans la fiche de TD No 2

Pendant la session de travail, vous utiliserez de préférence votre compte sur le serveur Samba (volume U:) ou le disque D: comme support de la base de données,.

 

Si votre base de données se trouve sur votre compte sur le serveur, vous pouvez l'ouvrir à l'aide d'un double-clic.

Sinon, vous devez copier la base de données ONG.MDB, dans l'état où elle se trouve à la fin de la fiche de TD N1 sur le disque de travail (serveur ou E:)

 

N.B. Si vous n'avez pas de base de données ONG.MDB convenable sur votre compte ou sur une disquette, copiez la base W:\PSY3\TD ACCESS\ONG-FinTD1.MDB sur votre volume (U:) ou le disque D: et ouvrez l'exemplaire obtenu par copie.

 

2) Créer des formulaires et des requêtes

Les formulaires sont des objets permettant de réaliser des écrans de présentation ou vues sur les données de la base. Nous souhaitons par exemple pouvoir consulter :

2.1 Le cas le plus simple : un formulaire de saisie et de consultation de la table Intervenants.

Le résultat final pourrait avoir l'aspect ci-dessous :

Exercices de monitorat : 1) Refaites la manipulation décrite ci-dessus, en utilisant cette fois l'assistant Assistant Formulaire. Observez les différences de comportement entre l'assistant Assistant Formulaire et l'assistant Formulaire Instantané: Colonnes. : le premier vous laisse choisir les champs qui apparaîtront dans le formulaire, et l'enregistre automatiquement en lui attribuant comme nom le titre que vous avez spécifié. Le second sélectionne automatiquement l'ensemble des champs de la table, mais vous laisse le soin d'enregistrer le formulaire.

2) Définir de même un formulaire de saisie de la table Interventions.

 

2.2 Le formulaire pour les interventions

Nous souhaitons réaliser un formulaire affichant les données relatives aux interventions, et mentionnant notamment les nom et prénom du responsable. Un tel formulaire contient des données en provenance des deux tables. Plus précisément, chaque page d'écran affiche des données obtenues en associant :

et ces deux lignes sont liées par la relation que nous avons définie dans le TD précédent.

Cette situation est ici assez simple pour être prise en charge automatiquement par l'assistant Assistant Formulaire. Elle correspond à la situation-type suivante :

2.2.1 Création du formulaire

Microsoft Access compose alors le formulaire et l'enregistre sous le nom Interventions avec responsables. Le résultat final pourrait avoir l'allure ci-dessous :

2.3 Un formulaire avec sous-formulaire : les responsables

Dans le cas du formulaire précédent, les données présentes dans une fiche étaient issues d'une seule ligne de chacune des deux tables Intervenants et Interventions (pas de données répétitives, pas de listes). La structure du formulaire que nous voulons réaliser maintenant est différente : pour chaque intervenant (= 1 ligne de la table des intervenants) nous souhaitons afficher la liste des interventions dont il est ou a été responsable (= plusieurs lignes de la table des interventions). Dans Access, ceci est réalisé en créant un formulaire principal comportant un sous-formulaire. Le résultat final aura l'allure suivante :

2.3.1 Réalisation du formulaire

Remarque. Les possibilités des assistants nous permettent de créer sans trop d'efforts des objets "complexes" tels que le formulaire précédent. Mais la "magie" a ses limites, et si la structure de nos données est plus compliquée, il faut revenir à des solutions moins automatisées, comme nous le verrons dans la suite de cette étude.

3) Les autres tables du cas ONG

Pour obtenir une base de données conforme au MCD indiqué au début de polycopié précédent, trois autres tables sont nécessaires. Ces trois tables ont la signification suivante :

3.1 Ajout des tables à la base de données ONG

Pour ajouter ces tables à votre application, vous pouvez utiliser l'une des deux méthodes suivantes :

3.1.1 Importer des tables Access.

3.1.2 Copier-coller entre bases de données Access.

Si la méthode précédente ne produit pas l'effet escompté, on pourra procéder de la manière suivante :

3.2 La sémantique des tables Sites, Se déroule et Affectations.

3.2.1 Extrait de la table Sites :

Code Site

Nom Site

Pays Site
BAND Bandiagara Mali
DJEN Djenné Mali

 

Univers du discours : les sites de codes BAND et DJEN sont les villes de Bandiagara et Djenné, au Mali.

3.2.2 Extrait de la table Se déroule :

Code Intervention

Code Site

Type Site
A03 ARME Principal
A03 BOGO Secondaire

 

Univers du discours : L'intervention de code A03 se déroule sur les sites codés ARME et BOGO. Le premier est le site principal de cette intervention.

3.2.3 Extrait de la table Affectations :

Code Intervenant

Code Intervention

Code Site

Début Mission

Fin Mission

18

R01 BAMA

12/12/1998

10/02/1999

 

Univers du discours : L'intervenant N 18 participe à l'intervention codée R01 sur le site codé BAMA du 12/12/98 au 10/02/99.

3.3 Les clés primaires et les relations entre les différentes tables

 

Observez la structure et les données de chacune de ces tables.

3.3.1 Définir les clés

Ouvrez chacune des trois tables en mode structure et définissez la clé de chacune d'elles :

 

3.3.2 Définir les relations

Il faut ensuite définir les relations qui doivent lier nos tables (ou vérifier et compléter les relations existantes).

 

 

4) D'autres formulaires de consultation

On veut pouvoir consulter les fiches relatives aux interventions indiquant notamment la liste des sites concernés.

Les données concernées proviendront des tables Interventions et Sites. Cependant, la table Se déroule joue ici un rôle essentiel : c'est elle qui établit le lien entre les données des deux tables précédentes.

Si l'on veut continuer à utiliser l'Assistant Formulaire, il est essentiel qu'au moins un champ de la table Se déroule soit présent dans le formulaire. Nous choisirons ici le champ Type Site.

 

Remarque.

 

Essayez de refaire le même formulaire, mais en omettant le champ Type Site. Vous constaterez qu'Access ne proteste pas, mais fournit un résultat erroné. En fait, en fouillant dans la structure du formulaire, on peut s'apercevoir qu'Access utilise alors la table Affectations pour réaliser la jointure entre les deux tables précédentes.

 

5) Exercices de monitorat.

* Réaliser un formulaire donnant pour chaque intervention, les coordonnées de son responsable et la liste des sites.

* Réaliser un formulaire donnant pour chaque intervenant, la liste de ses missions.

* Réaliser un formulaire donnant pour chaque intervention, la liste des intervenants.

 

5.1 Suite de l'exercice "Bibliothèque"

 

Créez une relation entre le champ NUMERO de la table Abonnés et le champ CODE ABONNE de la table Ouvrages. N'activez pas le contrôle de l'intégrité référentielle (et demandez-vous pourquoi ...).

 

Définissez un formulaire de consultation des fiches des ouvrages.

 

Créez un formulaire comportant un sous-formulaire permettant d'obtenir les abonnés, ainsi que la liste des ouvrages empruntés par chacun d'eux.

 

5.2 Cas Suivi Psychologique

 

Les services d'action sanitaire et sociale vous ont chargé d'assurer le suivi psychologique de jeunes enfants. A cette fin, vous les observez dans des conditions variées :

Après chaque observation, vous rédigez quelques lignes de "mémo" que vous voulez pouvoir retrouver sans peine. Vous décidez également du délai souhaitable avant la prochaine observation du sujet, et de la nature (individuelle ou collective) de cette observation. Exemples :

Vous décidez de constituer une base de données sous Microsoft Access pour rassembler les informations relatives à l'organisation de cette activité : coordonnées des sujets, caractéristiques des séances, etc. Après réflexion, vous organisez vos données dans trois tables, avec les champs suivants :

 

N.B. Les champs Délai et Nature se rapportent à la prochaine observation que l'on prévoit de faire pour l'enfant. Le champ Délai contient le délai souhaitable, exprimé en nombre de jours. Un délai égal à 0 indique que vous pensez arrêter le suivi de l'enfant. Le champ Nature contient l'un des termes Individuelle, Collective. ou Indifférent. Le champ Réf-rapport contient un pointeur vers le mémo que vous avez rédigé (le nom du fichier correspondant, par exemple).

 

Le fichier W:\PSY3\TD ACCESS\SuiviPsy.MDB contient une base de données constituée selon la structure définie ci-dessus. Recopiez-le sur votre disquette ou votre compte sur le serveur pour pouvoir l'utiliser en lecture/écriture.

 

1) Définir les clés des tables et les relations nécessaires entre les tables.

 

2) Saisir les données relatives à un enfant dont on vient de commencer le suivi (deux observations seulement), en respectant la cohérence des données.

 

3) Ajouter à l'une des tables de la base de données un champ donnant une information de nature psychologique (contenu réel au choix), et compléter ce champ pour quelques enregistrements.

 

4) Réaliser un formulaire donnant, pour chaque enfant, la liste des observations dont il a été l'objet.