Université Toulouse I_Informatique Générale 1

publicité
Licence Administration Économique et Sociale
Mention Administration et Gestion des Entreprises
Mention Sciences Économiques et Sociales
Université Toulouse I
EXAMEN DE BASES DE DONNÉES
INFORMATIQUE GENERALE 1
Cours de Mme Soulé-Dupuy
Deuxième session
Jeudi 9 Septembre 1999
Durée : 1h30
Documents autorisés
Problème 1 (10 points) :
Une PME, spécialisée dans la distribution de matériel bureautique et de consommables, veut mettre en
place une base de données lui facilitant la gestion intégrée des stocks, en particulier des commandes de
produits par des clients et les réapprovisionnements auprès de fournisseurs. Chaque produit est
caractérisé par un numéro (NoProd), une désignation (LibProd), une quantité en stock (QtéStock), un
seuil de commande (SeuilCde) et une quantité maximale de stockage (QtéMax).
L'application doit être utilisée par les magasiniers lors d'une entrée (réapprovisionnement) ou d'une
sortie de stock (commande client). Si, lors d'une sortie de produits, la quantité en stock franchit le seuil
de commande, le magasinier doit pouvoir déterminer la quantité à réapprovisionner (NbreRéappro) et
déclencher une commande auprès d'un fournisseur. Pour chaque fournisseur, on connaît sa raison
sociale (NomFr), son adresse (AdrFr) ainsi que le nom du correspondant (CorrespFr). Chaque fois
qu'un réapprovisionnement est déclenché pour un produit, l'application doit garder la date de
réapprovisionnement (DateRéappro) et le nombre d'unités de produit (NbreRéappro) demandé au
fournisseur.
Les clients de cette PME sont des acheteurs réguliers, sociétés ou organismes, caractérisés par un code
client (CodeCl), un nom (NomCl) et une adresse (AdrCl). La PME attribue à chaque client un indice de
fidélité (IndiceCl). Cet indice est fonction des montants des achats effectués sur l'exercice et permet
de déterminer un taux de remise. Pour chaque produit commandé par un client, l'application doit
garder la date de la commande (DateCde) et le nombre d'unités commandées de ce produit (NbreCde).
Il vous est demandé de concevoir la base de données qui servira de support à l'application souhaitée par
la PME et répondant aux spécifications qui vous ont été décrites.
1.1 Etablir le dictionnaire détaillé des données.
1.2 Concevoir le modèle Entité/Association vérifié, en prenant soin de bien expliquer les choix et les
contraintes.
1.3 En déduire le modèle relationnel normalisé. Apporter toutes les justifications nécessaires.
– 1/2 –
Problème 2 (10 points) :
Soit le schéma relationnel suivant (les clés primaires sont soulignées et les clés étrangères suivies d'une
étoile) :
FLEUVES [ CodeFl, NomFl, LongFl, SourceFl, CodeEM* ]
VILLES [ CodeVil, NomVil, NbHab, PaysVil ]
ESPMAR [ CodeEM, NomEM, TypeEM ]
TRAVERSER [CodeFl*, CodeVil*, DistSource ]
Ce schéma est un extrait d'un schéma plus complet d'une base de données fluviales internationales.
Nous distinguons :
– trois tables principales recensant les fleuves (FLEUVES), les villes (VILLES) et les espaces
maritimes (ESPMAR),
– une table de liaison (TRAVERSER) représentant les villes traversées par chaque fleuve,
– une clé étrangère CodeEM dans la table FLEUVES, reliant FLEUVES et ESPMAR, afin de
connaître l'espace maritime dans lequel se jette un fleuve.
Le dictionnaire de données est le suivant :
CodeFl, NomFl
Code et nom d'un fleuve
LongFl
Longueur d'un fleuve (en km)
SourceFl
Nom du lieu dans lequel le fleuve prend sa source
CodeVil, NomVil
Code et nom d'une ville
NbHab
Nombre d'habitants d'une ville
PaysVil
Pays d'origine d'une ville
CodeEM, NomEM
Code et nom d'un espace maritime
TypeEM
Type d'un espace maritime (exemple : océan, mer, ...)
DistSource
Distance entre une ville traversée par un fleuve et la source de ce fleuve
Nous ferons l'hypothèse que deux espaces maritimes de types différents (par exemple une mer et un
océan) ne peuvent pas avoir le même nom.
Question 2.1 (1,5 points) :
Retrouver et fournir le schéma Entité/Association relatif au schéma relationnel proposé.
(Vous ferez et donnerez les hypothèses nécessaires à cette rétro-conception)
Question 2.2 (Q1 : 1,5 pts, Q2 : 2 pts, Q3 : 2,5 pts, Q4 : 2,5 pts) :
Écrire les requêtes suivantes en SQL. (Utilisez le langage algébrique si vous n’arrivez pas à exprimer
ces requêtes en SQL -> moitié des points).
Q1)
Nom et nombre d'habitants des villes traversées par le fleuve "Mississippi" ?
Q2)
Nom et longueur des fleuves de plus de 500 km se jetant dans l'océan ayant pour nom
"Atlantique" ?
Q3)
Nom et pays d'origine des villes traversées par un fleuve se jetant dans la mer ayant pour nom
"Méditerranée" ?
Q4)
Pour chaque fleuve, son nom et sa longueur, ainsi que le nombre de villes traversées ?
2/2
Téléchargement