Académique Documents
Professionnel Documents
Culture Documents
Matière
Gestion des Bases de Données
Enseignant
Achraf Mtibaa
TP N° 4
Exercice1 :
Soit la base de données suivante :
CLIENT (cin, Nom, Prenom)
PRODUIT (Ref, Libelle, Prix)
ACHAT (NumAchat, cin#)
ACHAT_PRODUIT (NumAchat#, Ref#, Quantité)
(Les clés primaires sont soulignées et les clés étrangères sont suivies du symbole #)
Un client est caractérisé par son numéro de cin (nombre de taille 8), son Nom (chaine de
caractère de taille 15) et son Prenom (chaine de caractère de taille 15).
Un produit est identifié par une référence : Ref (number de taille 4) et est caractérisé par son
Libelle (chaine de caractère de taille 15) et son Prix (nombre décimale de 7 chiffres dont trois
après la virgule).
Chaque achat est identifié par un numéro : NumAchat (nombre de taille 4) et est relatif à un
client. En fait, un client peut effectuer plusieurs achats, alors que l’achat est relatif à un seul
client.
Dans un même achat, le client peut acheter plusieurs produits. Aussi, un produit peut figurer
dans plusieurs achats. Cette relation est concrétisée à travers la table ACHAT_PRODUIT.
L’attribut Quantité (nombre de taille 4) représente la quantité achetée.
On considère les contraintes suivantes :
Contrainte clé primaire
Contrainte clé étrangère
Autres contraintes sur la table PRODUIT :
Libelle : Le libelle du produit doit commencer par : 'P_'.
Libelle : Tous les Libelle sont différents.
Prix : Entre 5 et 3000.
Autre contrainte sur la table ACHAT_PRODUIT:
Quantité : Prend par défaut 1. Doit être toujours >0.
Exercice2 :
Soit la base de données suivante :
VEHICULE (Immat, Km, Puiss, Type)
PROJET (NomProj, DateDeb, DateFin, CoutProj)
MISSION (NumMiss, NomProj#)
RESERVATION (Immat#, NumMiss#, DateRes, VilleDep, VilleArr)
(Les clés primaires sont soulignées et les clés étrangères sont suivies du symbole #)
Un Véhicule est caractérisé par sa plaque d’immatriculation (Immat : chaîne de caractères de
taille 15), le kilométrage parcouru (Km : nombre de taille 6) sa puissance (Puiss : nombre de
taille 2) et son type (type : un seul caractère). Il est à noter que :
- Puiss : Présence obligatoire et doit être entre 8 et 12.
- Km : prend par défaut la valeur 0.
- Type : qui ne peut prendre que les valeurs 'T' pour touristique, 'U' pour utilitaire et 'C' pour
camion.
Un Projet est identifié par son nom (NomProj : chaîne de caractères de taille 15), et il est
caractérisé par date début, date fin (de type date) et un coût (CoutProj : nombre de taille 4).
Une Mission est identifiée par un numéro (NumMiss : nombre de taille 4) et elle est relatif à
un projet.
Pour une mission, on peut réserver plusieurs véhicules et, réciproquement, un véhicule peut
participer à plusieurs missions. Ceci est schématisé par la relation RESERVATION. Une
réservation possède une date réservation (de type date et prend par défaut la date système),
ville de départ et ville d’arrivée (chaîne de caractères de taille 15)
NB. Toutes les contraintes déclarées doivent être nommées.
Q1. Créer la table Véhicule sans aucune contrainte.
Q2. Ajouter, en une seule instruction, toutes les contraintes nécessaires pour la table Véhicule.
Q3. En supposant que les tables Projet et Mission sont créées que toutes leurs contraintes sont
déclarées, créer la table Reservation tout en considérant toutes les contraintes nécessaires.
Q4. Modifier la contrainte définie sur la colonne Puis pour la rendre Puis entre 8 et 18.
Q5. Afficher puissance et type des véhicules qui ont été réservés pour le projet PROJ1.
Q6. Afficher nom et coût des projets réalisés dans la même période que le projet PROJ1. Trier
le résultat par coût croissant.
Q7. Afficher nom des projets pour lesquels on n’a pas encore attribué des missions.
Q8. Afficher nom des projets pour lesquels on n’a pas réservé des véhicules de type camion.
Q9. Afficher immatriculation des véhicules qui ont été réservé à la même date que le véhicule
identifié par '1234 TU 111' mais ayant des trajectoires inversés.
Q10. Afficher immatriculation du véhicule qui a été réservé au moins deux fois.
Q11. Afficher pour chaque type de véhicule le nombre de réservations (afficher type et
nombre de réservations).
Q12. Afficher nom des projets ayant un coût compris entre le coût moyen et 1.5 le coût
moyen de tous les projets.
Q13. Afficher immatriculation et type des véhicules qui ont participé à toutes les missions.