Vous êtes sur la page 1sur 2

Année Universitaire

2019-2020

ème ème
Matière : Système de Gestion de Bases de Données Niveau : 2 année SIL- 2 année SI
Enseignants : R. ZAÂFRANI - F. Hermès
TD n°7

On s'intéresse au système d'information d'une société de vente de DVDs sur Internet appeléee
MSGelectronique.
Un premier travail de conception a abouti à l'élaboration d'un dictionnaire de données :
 Ndist . Numéro de distributeur (unique)
 Nomdist : Nom de distributeur
 Emaildist. Adresse mail de distributeur (unique)
 NDVD : Numéro unique de DVD
 Prixdist. Prix d'un DVD a l'achat chez un distributeur donné
 Ntrans : Numéro unique de transporteur
 Nomtrans : Nom de transporteur
 DuréeLivraison: Durée de livraison
 Prix vente . Prix d'un DVD au catalogue de MSGelectronique
 Prixtrans : Prix du transport
 Titrefilm : Titre du film d'un DVD
 Datefilm: Date de sortie du film d'un DVD
 Nordre : Numéro unique de la commande de MSGelectronique à un distributeur
 Datordre : date de la commande
 Qte : Quantité d'un DVD commandée dans un ordre de livraison
 Nliv : Numéro unique de livraison
 Datliv . Date de livraison d'un distributeur
 Qteliv : Quantité d'un DVD livrée dans une livraison d'un distributeur
 Qtstk : quantité d'un DVD en stock

On s'intéresse à une partie seulement de la chaîne de distribution qui se présente de la manière


suivante :
Les clients accèdent par Internet au site Web de MSGelectronique et font leur commande de DVD. Le
site doit permettre l'accès aux informations sur les DVDs qui doivent être stockées dans la base : numéro
unique par DVD, titre du film, date de sortie du film et prix de vente.

MSGelectronique dispose d'un panel de distributeurs auquel elle fait appel pour être livrée des DVDs
commandés par ses clients. La base doit contenir les informations relatives aux distributeurs de chacun des
DVDs mis en vente au public et les prix d'achat des DVD auprès des distributeurs.
Le même DVD peut être au catalogue de plusieurs distributeurs à des prix différents. En outre, chaque
distributeur a un ou plusieurs transporteur(s) avec lesquels il travaille. Le prix de transport dépend du
transporteur et de la durée de livraison. Ces prix sont élaborés par tranche de durée de livraison. La base doit
contenir tous ces renseignements de façon à ce que MSGelectrornque choisisse au mieux le distributeur et le
transporteur associé pour servir ses clients. Chaque transporteur et chaque distributeur est identifié de manière
unique et a un nom. Chaque distributeur a une adresse électronique.
MSGelectronique passe des commandes aux distributeurs tous les matins à 7 heures. Une commande a un
numéro unique, une date, s'adresse à un distributeur pour un certain nombre de DVDs (chaque ligne de
commande correspond à un DVD et à une quantité donnée) et mentionne le transporteur sélectionné pour la
livraison de la commande.
Chaque commande donne lieu à une livraison qui sert à alimenter le stock de DVDs que MSGelectronique
gère de manière temporaire pour permettre la préparation des livraisons à ses clients. La base doit garder trace
des livraisons faites par les distributeurs en réponse aux commandes de MSGelectronique Chaque livraison a
un numéro unique et fait référence à une et une seule commande. Les quantités livrées (Qteliv) peuvent être
différentes des quantités commandées (Qte).

Le modèle relationnel correspondant à cette étude de cas est le suivant :


- Film(titrefilm, datefilm)
- DVD(NDVD, Prixvente, qtestock, titrefilm#)
- Distributeur(Ndis, Nomdis, Emaildis)
- Transporteur(Ntrans, Nomtrans)
- Commande(Nordre, Datordre, Ndis#)
- Livraison(Nliv, dateliv, Ntrans#, Nordre#)
- Fournir(Ndis, NDVD, PRIXDIS)
- Distributeur_Trans(Ndis, Ntrans)
- Ligne_com(Nordre, NDVD, quantité)
- Ligne_Liv(Nliv, NDVD,Qteliv)
- Tarif_transporteur(Ntrans, Duréeliv_inf,Duréeliv_sup, Prixtrans)

1) Créer une vue qui permet d’afficher la liste des distributeurs des films sortis en 2004 en
précisant le prix de distribution
2) Créer un rôle Distributeurs_Films2004 et octroyez-lui le privilège de consultation de la vue
créée ci-dessus.
3) Ecrire une fonction permettant de vérifier la conformité des quantités livrées par rapport
aux quantités commandées Cette fonction reçoit en entrée le numéro de livraison et doit
retourner :
a. O. en cas de conformité totale
b. 1. en cas de non conformité.
4) Ecrire une fonction permettant de calculer le montant total d'une livraison. Ce montant doit
inclure le prix de transport. Cette fonction reçoit en entrée le numéro de livraison et la durée
de livraison.
5) On souhaite automatiser la liste à jour du stock des DVD suite à chaque livraison. Proposer
un mécanisme PLSQL permettant d'automatiser cette opération et donner le code PLSQL
correspondant.
N.B : la fonction to_char(certaine_date,’YYYY’), permet d’extraire l’année à partir de la date
« certaine_date ».

Vous aimerez peut-être aussi