Travaux Dirigés TD_analyse d`un système d`information

publicité
Terminale GSI
B : services fournis par le système d'information et technologies associées
Travaux Dirigés TD_analyse d’un système d’information
Thème :
travail à faire pour le :
Analyse d’un système d’information
séquence de T.D.
Objectifs
Les objectifs de ce TD sont de vous permettre :
 Terminale B.1 La gestion des données (Interrogation d’une base de données)
 Comprendre la modélisation d’un système d’information
 Interroger un modèle relationnel
 Gérer une base de donnée relationnelle
 D’interroger une base de données
Le système d’information étudié
Modèle conceptuel des données
Dictionnaire des données
Mnémonique
Description
Nom
Nom d’une personne
Prenom
Prénom d’une personne
Nom fonction
Nom d’une fonction (proviseur,
proviseur
adjoint,
conseiller
principal d’éducation, surveillant
professeur, élève, parent, assistante
sociale)
Numero reunion
Numéro de la réunion
Libelle reunion
Libellé de la réunion
Date reunion
Date de la réunion
Heure reunion
Heure de la réunion
Duree reunion
Durée de la réunion
Numero salle
Numéro de la salle de la réunion
Numero personne Numéro d’une personne
Code fonction
Code de fonction
Numero salle
Numéro de la salle de la réunion
Capacite
Nombre de place de la salle
Description
Description de la salle
Eric CREPIN
Type
AN
AN
AN
Format
50
50
50
Remarque
obligatoire
obligatoire
obligatoire
N
AN
date
heure
heure
N
N
AN
N
N
AN
3
250
identifiant
obligatoire
obligatoire
obligatoire
obligatoire
obligatoire
identifiant
identifiant
identifiant
obligatoire
4
2
1
4
4
200
page 1
Terminale GSI
B : services fournis par le système d'information et technologies associées
Schéma entités/associations
REUNION
SALLE
numero salle
capacite
description
se déroule
0,n
ENTITE source
Une REUNION
Une PERSONNE
Une PERSONNE
Une FONCTION
Dans une SALLE
Une REUNION
1,1
numero reunion
libelle reunion
date reunion
heure reunion
duree reunion
PARTICIPE
1,n
Association
fait participer
participe à
posséde
est possédée par
se déroule
se déroule
0,n
PERSONNE
numero personne
nom
prenom
possede
1,1
Cardinalité
une ou plusieurs
aucune ou plusieures
une et une seule
aucune ou plusieures
aucune, une ou plusieurs
dans une et une seule
0,n
FONCTION
code fonction
nom fonction
ENTITE cible
PERSONNE
REUNION
FONCTION
PERSONNE
REUNION(s)
SALLE
Modèle logique des données
Modèle relationnel
FONCTION(code fonction, nom fonction)
code fonction clé primaire
PARTICIPE(numéro réunion#, numéro personne#)
numéro réunion, numéro personne clé primaire
numéro réunion clé étrangère en référence à REUNION
numéro personne clé étrangère en référence à PERSONNE
PERSONNE(numéro personne, nom, prénom, code fonction#)
numéro personne clé primaire
code fonction clé étrangère en référence à FONCTION
REUNION(numéro réunion, libellé réunion, date réunion, numéro salle, heure réunion,
durée réunion, numero salle#)
numéro réunion clé primaire
numéro salle clé étrangère en référence à SALLE
SALLE(numero salle, Capacite, Description)
numéro salle clé primaire
Les clés primaires sont soulignées gras
Les clés étrangères sont en italique suivies d’un #
Eric CREPIN
page 2
Terminale GSI
B : services fournis par le système d'information et technologies associées
Les données du système d’information étudié
Table PERSONNE
Numéro personne
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Table FONCTION
Code Fonction
A
C
D
E
P
R
T
Table REUNION
Numero reunion
1
2
3
4
5
Eric CREPIN
Prénom
Jean
Martin
Martine
Jeanne
Céline
Jean
Jean
Inès
Paul
Sylvain
Ali
Martine
Sarah
Annie
Ellie
Anne
Paul
Marc
Martin
Sylvie
Nom
Code fonction
CAISSE
PECHEUR
HAIE
HOLAPAIN
AIHAIRE
BONNOT
BONNOT
PERRET
ITTIC
HAIBON
MENTATION
HIQUE
ZAIN
MASSION
COPTAIRE
HANASSE
OCHON
ASSIN
GALL
HANKOR
E
E
P
E
P
E
P
P
E
E
R
A
E
D
C
C
T
T
T
T
Nom Fonction
Assistante sociale
Conseiller principal d’éducation
Proviseur adjoint
Elève
Professeur
Proviseur
Parent
Libelle reunion
rentrée professeur
rentrée élève
nouveaux professeurs
informations parents
conseil enseignement SVT
Date
reunion
01-sept-05
02-sept-05
01-sept-05
07-oct-05
12-nov-05
Heure
reunion
09:00
10:15
08:00
18:15
18:00
Duree
reunion
02:30
02:00
01:00
01:45
01:30
Numero
salle
15
1
2
15
15
page 3
Terminale GSI
B : services fournis par le système d'information et technologies associées
Table PARTICIPE
Numero reunion
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
4
5
5
5
Table SALLE
Numéro salle
1
2
3
4
6
7
10
13
15
Eric CREPIN
Numéro personne
11
12
14
15
3
5
8
14
16
5
7
1
2
6
9
10
11
14
3
5
11
14
15
17
1
18
6
19
14
7
8
Capacité
400
50
40
40
16
16
16
18
100
Description
Amphithéâtre
Salle du conseil
Salle de cours standard
Salle de cours standard
Atelier SVT
Atelier Physique
Laboratoire informatique de la terminale informatique
Laboratoire informatique du BTS informatique
Salle de conférence
page 4
Terminale GSI
B : services fournis par le système d'information et technologies associées
TRAVAIL à FAIRE
Requêtes SQL
Après avoir récupéré la base de données ACCESS TD06_PERS_FONC_sql.mdb
Ecrire les requêtes SQL la base répondant aux questions suivantes :
71. Quelles sont les réunions (numéro) auxquelles ont assisté le professeur ou l’élève Jean
BONNOT ?
SELECT distinct [numero reunion]
FROM PARTICIPE, PERSONNE, FONCTION
WHERE ([nom fonction] = 'Professeur' or [nom fonction] = 'Elève')
and prenom = 'Jean' and nom = 'BONNOT'
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
72. Quelles sont les réunions (numéro, libellé et numéro de salle) auxquelles ont assisté les
professeurs Céline AIHAIRE ou Martine HAIE ?
SELECT DISTINCT REUNION.[numero salle]
FROM REUNION, PARTICIPE, PERSONNE, FONCTION
WHERE [nom fonction] = 'Professeur'
and (
(prenom = 'Céline' and nom = 'AIHAIRE')
or (prenom = 'Martine' and nom = 'HAIE')
)
and REUNION.[numero reunion] = PARTICIPE.[numero reunion]
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
73. Quelles sont les salles (numéro) auxquelles ont assisté un professeur ?
select distinct [numero salle]
from REUNION,PARTICIPE,PERSONNE,FONCTION
where [nom fonction] = 'Professeur'
and REUNION.[numero reunion] = PARTICIPE.[numero reunion]
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
74. Quelles sont les salles (numéro, capacité) auxquelles ont assisté un professeur, triées par
capacité décroissante ?
SELECT DISTINCT SALLE.[numero salle], capacite
FROM SALLE, REUNION, PARTICIPE, PERSONNE, FONCTION
WHERE [nom fonction] = 'Professeur'
and
SALLE.[numero salle] = REUNION.[numero salle]
and REUNION.[numero reunion] = PARTICIPE.[numero reunion]
and PARTICIPE.[numero personne] = PERSONNE.[numero personne]
and PERSONNE.[code fonction] = FONCTION.[code fonction]
ORDER BY capacite DESC
75. Donner la liste des personnes (nom, prénom, nom fonction) triée par nom de fonction ?
SELECT nom, prenom, [nom fonction]
FROM PERSONNE, FONCTION
WHERE PERSONNE.[code fonction] = FONCTION.[code fonction]
order by [nom fonction]
Eric CREPIN
page 5
Terminale GSI
B : services fournis par le système d'information et technologies associées
76. Combien la base de données compte elle de professeurs ?
SELECT count(*) as NbPROF
FROM PERSONNE, FONCTION
WHERE PERSONNE.[code fonction] = FONCTION.[code fonction]
and [nom fonction] = 'Professeur'
77. Combien chaque nom de fonction compte elle de personnes dans la base de données ?
SELECT [nom fonction], count(*) as NbPROF
FROM PERSONNE, FONCTION
WHERE PERSONNE.[code fonction] = FONCTION.[code fonction]
group by [nom fonction]
78. Quelles sont les noms de fonction qui compte au moins 4 personnes dans la base de
données ?
SELECT [nom fonction], count(*) as NbPROF
FROM PERSONNE, FONCTION
WHERE PERSONNE.[code fonction] = FONCTION.[code fonction]
group by [nom fonction]
having count(*) >= 4
79. Quelles sont les noms de fonction qui compte entre 2 et 4 personnes dans la base de
données (triés par nombre de personnes décroissant puis nom de fonction croissant) ?
SELECT [nom fonction], count(*) as NbPROF
FROM PERSONNE, FONCTION
WHERE PERSONNE.[code fonction] = FONCTION.[code fonction]
group by [nom fonction]
having count(*) >= 2 and count(*) <=4
order by count(*) desc, [nom fonction]
ou
SELECT [nom fonction], count(*) as NbPROF
FROM PERSONNE, FONCTION
WHERE PERSONNE.[code fonction] = FONCTION.[code fonction]
group by [nom fonction]
having count(*) between 2 and 4
order by count(*) desc, [nom fonction]
Base de données

Dans la mesure où l’on voudrait supprimer la base de données table par table dans
ACCESS quel serait l’ordre de suppression des tables ? Pourquoi ?
1- PARTICIPE (clé primaire composée de deux clés étrangères en référence à PERSONNE, REUNION)
2- PERSONNE, REUNION
(il n’y a plus de références aux clés primaires de PERSONNE, REUNION
3-
les clés étrangères font référence à FONCTION et SALLE)
FONCTION, SALLE (il n’y a plus de références aux clés primaires de FONCTION et SALLE)
Eric CREPIN
page 6
Téléchargement