Vous êtes sur la page 1sur 3

Projet Bases de Données

SQL ORACLE
M. Borchani – F. Labbene Ayachi – M. Ben Youssef

Prérequis :
La base de données BIBLIOTHEQUE est initialement construite selon le schéma suivant :

Remarques concernant certains champs:

- Type_operation prend deux valeurs : “RETOUR” ou “PRET”.


- En_stock prend les valeurs 0 ou 1 selon le nombre de retours et prêts indiqués dans la
table OPERATION_BIBLIOTHEQUE : Le nombre de prêts d’un exemplaire d’un
livre doit être égale exactement au nombre des retours ou égale au nombre des
retours plus 1.

Après une durée de manipulations, on a constaté qu’il existe des incohérences de données et
des informations manquantes dans la base de données. Ainsi, ce projet vise à assurer la
maintenance de cette dernière.
Pour la création de la base de données, vous aurez besoin de préparer les prérequis suivants:
- Création du nouveau utilisateur biblio et y affecter les droits nécessaires pour pouvoir
se connecter et manipuler les tables dont on a besoin.
- Création des tables définies ci-dessus ainsi que des contraintes nécessaires (connectant
biblio).
- Lancer le script insertion.sql d’insertion des données (connectant biblio).

Partie 1 : Travail à faire :


Les livres seront répartis selon trois types (INDUSTRIEL, SCIENTIFIQUE, INFORMATIQUE)
Ecrire les instructions SQL suivantes pour :
- Afficher les données de la table LIVRE.
- Modifier la structure de la table LIVRE (ajout de la colonne Type_livre de type
varchar2(30))
Remplir intelligemment la colonne Type_livre (INDUSTRIEL, SCIENTIFIQUE,
INFORMATIQUE) en se basant sur les valeurs des colonnes existantes dans la table LIVRE.

PROJET SQL ORACLE 2017/2018 1


Partie 2 : Travail à faire :
Le nombre de prêts d’un exemplaire d’un livre doit être égale exactement au nombre des
retours ou égale au nombre des retours plus 1.
On doit chercher s’il y a des exemplaires qui ont eu une incohérence par rapport à cette règle
de gestion.
Ecrire les instructions SQL suivantes pour :
- afficher le nombre de prêts pour chaque exemplaire ;
- afficher le nombre de retours pour chaque exemplaire ;
- afficher la différence entre le nombre de prêts et le nombre de retours pour chaque
exemplaire (penser à exclure ceux qui n’ont pas été retournés) ;
- afficher seulement les exemplaires qui ont une incohérence par rapport à la règle de
gestion ci-dessus.

Partie 3 : Travail à faire :


On veut maintenir les informations de la table OPERATION_BIBLIOTHEQUE à partir du
ficher Excel intitulé LIVRES_ETUDIANTS se trouvant chez l’utilisateur « fiche » détaillant
les livres prêtés aux différents étudiants avec la structure suivante :

Num_carte_etudiant NUMBER
Code_exemplaire NUMBER
Date_pret DATE
Date_retour DATE

NB: Dans le cas où un livre prêté n’est pas retourné, la Date_retour est NULL.

Ecrire les instructions SQL qui permettent de :


A)
- créer la table LIVRES_ETUDIANTS
- remplir la table LIVRES_ETUDIANTS à partir du fichier Excel fournie.

B)
- ajouter la colonne Num_carte_etudiant de type NUMBER dans la table
OPERATION_BIBLIOTHEQUE ;
- sauvegarder les informations de la table OPERATION_BIBLIOTHEQUE dans une
table OPERATION_BIBLIOTHEQUE_COPY ;
- supprimer les données de la table OPERATION_BIBLIOTHEQUE ;
- copier les opérations de prêts des exemplaires de la table LIVRES_ETUDIANTS
utilisant le ROWNUM de la requête comme ID_OPERATION ;
- Idem pour les opérations de retours.

Partie 4 : Travail à faire :


Après la maintenance des informations de la table OPERATION_BIBLIOTHEQUE, on doit
s’assurer que les valeurs du champ En_stock de la table EXEMPLAIRES sont correctes.

Ecrire les instructions SQL permettant de :


- afficher, pour les livres représentant une incohérence, le code de l’exemplaire et sa
valeur EN_STOCK existante et la valeur réelle qu’on va appeler VAL_STOCK qui
doit être égale à ( 1- ( NBRE_PRET - NBRE_RETOUR) ) ;
PROJET SQL ORACLE 2017/2018 2
- modifier toutes les données de la colonne EN_STOCK de la table EXEMPLAIRES à
la valeur par défaut 1 ;
- modifier les données de la colonne EN_STOCK des exemplaires qui ont eu des
opérations de retours et de prêts par leurs valeurs réelles ;
- extraction des données sous format du fichier LIVRES_ETUDIANTS.

PROJET SQL ORACLE 2017/2018 3

Vous aimerez peut-être aussi