TP2 : les applications au standard graphique WINDOWS

publicité
ALSI S25
DA – EVALUATION – Cas TRANSPORT SCOLAIRE
STS2 IG
Base de données
Le sujet comporte 5 pages.
Durée du devoir : 1 H
Le 22/04/2002
page 1/5
Lexique SQL autorisé
Tous les exercices sont indépendants
1. DOSSIER 1 : ORGANISATION D’UN MODELE DE DONNEES
Le Conseil Général d’un département rural du Sud de la France souhaite mettre en place une application
informatique prévoyant que chaque mairie ou mairie annexe (jusqu’à 6 pour les plus grandes villes du
département) sera équipée d’au moins un ordinateur et d’un moyen de connexion au serveur du Conseil
Général.
La première application qui sera mise en place et qui servira de projet pilote concerne le transport scolaire
pour les liaisons internes au département.
Le Conseil Général a le souci de faire travailler en priorité les compagnies de car du département. Chaque
année un appel d’offre local est lancé en précisant qu’une ligne ne sera attribuée qu’à une seule
compagnie. Une entreprise de transport peut postuler sur une ou plusieurs lignes en fonction de ses
possibilités. Le Conseil Général attribue les marchés.
Le Conseil Général subventionne en partie les transports scolaires des élèves vers leurs établissements,
une part restant à la charge des familles.
Le Conseil Général centralise les inscriptions issues des Mairies et se charge de l’édition et de la diffusion
des cartes de transport. Il tient à ce que ces cartes soient individuelles et non falsifiables.
L’inscription, la facturation aux familles ainsi que son suivi sont assurés par les mairies.
Une facture concerne tous les enfants d’une même famille. A partir du tarif de base dépendant de la zone
de tarification, les mairies peuvent accorder 2 types de remise différents. Ces taux de remise varient
suivant les mairies.
TRAVAIL A FAIRE
1. Dans une base de donnée qu’est-ce qu’une procédure stockée ? Quel en est l’intérêt ?
2. Qu’est-ce qu’un déclencheur (trigger) ? Quel en est l’intérêt ?
3. Décrire le déclencheur donné en Annexe 1. (période de déclenchement et travail réalisé)
2. EXERCICE 2 : ARCHITECTURE CLIENT/SERVEUR
On se place dans l’optique d’un serveur de Base de données. Répondre aux questions suivantes.
D:\769794240.doc
ALSI S25
DA – EVALUATION – Cas TRANSPORT SCOLAIRE
STS2 IG
Base de données
Le 22/04/2002
page 2/5
1. Quelles sont les 3 grandes familles de Client/Serveur identifiées par le Gartner Group ? (3 lignes maxi
par famille)
2. Dans un client/serveur de traitement, comment un traitement peut-il être réalisé sur le serveur de BD
et lancé depuis le client ? (3 lignes maxi)
3. Expliquer ce qu’est un middleware. (10 lignes maxi) Quel(s) middleware(s) connaissez-
vous ?
3. EXERCICE 3 : ARCHITECTURE CLIENT/SERVEUR
On souhaite réaliser la gestion des cotisations d’un club sportif. Les tables de la base de données se
trouvent sur un serveur SQL Server 7.0. On décide de réaliser les interfaces : formulaires de saisie et
états, sur ACCESS. On pense donc à une architecture client/serveur.
Répondre aux questions suivantes en utilisant l’annexe 2.
1. Quels sont les logiciels à mettre en place sur le serveur ? Quels sont les logiciels à mettre en place sur
le client ?
On souhaite remplacer l’interface ACCESS par des formulaires et des états en HTML
2. Quelles sont les modifications à réaliser sur le serveur ? Quelles sont les modifications à réaliser sur
le client ?
4. EXERCICE 4 : BASE DE DONNEES
Le rayon Bandes dessinées de la CANF souhaite réaliser le suivi de ses ventes de Bandes dessinées
par série. Pour chaque série, elle veut connaître en temps réel le nombre d’albums vendus et
l’album record de ventes dans la série pour le mois en cours.
Dans ce but, 3 tables existent dans la base de données :
 ALBUM : contient la liste des albums en rayon avec, pour chacun d’eux, le nombre total
d’exemplaires vendus au cours du mois. Un album ne fait pas forcément partie d’une série.
 SERIE : contient la liste des séries de BD et, pour chacune d’elle, l’album record de ventes.
 STAT : mémorise pour chaque mois et pour chaque série, le titre de la série, le titre de l’album
record de vente et le nombre d’album vendus pour le mois. Les informations contenues dans
cette table sont calculées à la fin du mois à partir de la table ALBUM.
4.1. Schéma physique des tables
D:\769794240.doc
ALSI S25
DA – EVALUATION – Cas TRANSPORT SCOLAIRE
STS2 IG
Base de données
Le 22/04/2002
page 3/5
Sur cet exemple, on s’aperçoit que Tintin au Tibet est record de vente pour la série Tintin avec 654
albums vendus en mars 1999.



4.2. Scénario d’organisation
Vente d’un album : l’interface graphique de Facturation incrémente le compteur ALB_NBVENTE de
la table ALBUM.
Retour d’un album : l’interface graphique de Gestion des retours décrémente le compteur
ALB_NBVENTE de la table ALBUM.
Le 1er de chaque mois, le chef de rayon lance le calcul des statistiques du mois précédent. Ce calcul
vient ajouter une ligne dans la table STAT pour chaque série d’album.
4.3. Travail à réaliser
1. Quelle solution proposez-vous pour que le calcul du record de vente dans la série (colonne
ALB_RECORDVENTE dans la table SERIE) se fasse automatiquement ? (5 lignes maxi.)
2. Proposer une solution pour réaliser le calcul des statistiques chaque mois.(1 ligne)
3. Donner la requête SQL permettant de réaliser le calcul des statistiques chaque mois (c’est à
dire créer chaque ligne dans la table STAT). La date du jour est donnée par la fonction
GetDate().
D:\769794240.doc
ALSI S25
DA – EVALUATION – Cas TRANSPORT SCOLAIRE
STS2 IG
Base de données
Le 22/04/2002
page 4/5
4. Donner la requête SQL permettant de lister les albums qui se sont mieux vendus que Tintin
au Congo
5. ANNEXE 1
Schéma relationnel :
VENTE (num_pie, qte_vent)
PIECE (num_pie, qte_stk)
La table :NEW contient la ligne à traiter (équivalent de la table INSERTED pour SQL Server)
CREATE TRIGGER AJOUTVENTE
BEFORE INSERT ON VENTE
FOR EACH ROW
DECLARE
stock INTEGER;
‘Variable utilisée dans le déclencheur
BEGIN
SELECT qte_stk INTO stock FROM
WHERE num_pie = :new.num_pie;
IF :new.qte_vent > stock then
piece
PRINT ‘Stock insuffisant’;
ELSE
UPDATE piece SET qte_stk=qte_stk
WHERE num_pie=:new.num_pie;
END IF;
END;
D:\769794240.doc
- :new.qte_vent
ALSI S25
DA – EVALUATION – Cas TRANSPORT SCOLAIRE
STS2 IG
Base de données
page 5/5
NOM et Prénom :
6. ANNEXE 2 :
Application initiale avec ACCESS
CLIENT
SERVEUR
7 - Application
6 - Présentation
5 - Session
TCP
4 - Transport
TCP
IP
3 - Réseau
IP
Carte Ethernet
2 - Liaison
Carte Ethernet
Paire torsadée
1 - Physique
Paire torsadée
Réseau
Application avec HTML
CLIENT
SERVEUR
7 - Application
6 - Présentation
5 - Session
TCP
4 - Transport
D:\769794240.doc
TCP
IP
3 - Réseau
IP
Carte Ethernet
2 - Liaison
Carte Ethernet
Paire torsadée
1 - Physique
Paire torsadée
Réseau
Le 22/04/2002
Téléchargement