Matière : Ingénierie des bases de données Année Universitaire : 2020/2021
Niveau : 2éme année LSI
Enseignante de TP : Ameni
YOUSFI
Exercice n°1
On considère une entreprise de ventes de voitures. Un modèle de voiture est décrit par une
marque, une dénomination. Une voiture est identifiée par un numéro de série, et a un modèle,
une couleur et un prix affiche et un cout (prix auquel la voiture est revenue). Des clients, on
connaît le nom, le prénom et l’adresse. Parmi les clients, on trouve les anciens propriétaires
des voitures d’occasion, ainsi que les personnes ayant achet´e une voiture au magasin.
Lorsqu’une vente est réalisée, on en connaît le vendeur (dont on connait le nom, le prénom,
l’adresse et le salaire fixe) et le prix d’achat réel (en tenant compte d’un rabais éventuel).
Chaque vendeur touche une prime de 5% de la différence entre le prix d’achat affiché et le
cout de la voiture. L’entreprise est repartie sur un certain nombre de magasins et chaque
vendeur opère dans un magasin unique. Chaque voiture est, ou a été, stockée dans certains
magasins et est vendue dans le dernier magasin o`u elle a ´et´e stockée. On garde trace des
dates d’arrivée dans et de départ des magasins. Un transfert de voiture entre deux magasins se
fait dans la journée.
1. Donner un diagramme Entité/Association pour représenter ces données
2. Donner le modèle relationnel correspondant à ce diagramme
3. Ecrire les requêtes suivantes en SQL:
(a) Donner la liste des voitures (numéro) vendues après le 15 avril 2007
(b) Donner la voiture qui rapport´e le plus d’argent.
(c) Donner le vendeur ayant accord´e le plus gros rabais
(d) Les bénéfices de chaque magasin pour le mois de janvier 2007.
(e) Le meilleur client (celui ayant rapport´e le plus d’argent `a l’entreprise).
Exercice n°2
Soit la Base de données hôtel qui contient 3 Tables " Chambre", "Client" et
"Réservation" qui sont définis comme suit:
Chambre (Num_Chambre, Prix, Nbr_Lit, Nbr_Pers, Confort, Equ)
Client (Num_Client, Nom, Prenom, Adresse)
Réservation ( Num_Client#, Num_Chambre#, Date_Arr, Date_Dep)
Exprimer les requêtes suivantes en SQL :
1
1. Les numéros de chambres avec TV.
2. Les numéros de chambres et leurs capacités.
3. La capacité théorique d'accueil de l'hôtel.
4. Le prix par personne des chambres avec TV.
5. Les numéros des chambres et le numéro des clients ayant réservé des chambres pour le
09/02/2004.
6. Les numéros des chambres coûtant au maximum 80 Euro ou ayant un bain et volant au
maximum 120 Euro.
7. Les Nom, Prénoms et adresses des clients dans le noms commencent par "D".
8. Le nombre de chambres dont le prix est entre 85 et 120 Euro.
9. Les noms des clients n'ayant pas fixé la date de départ.
Exercice n°3
On considère le Schéma de la base de données CINEMA suivant :
•FILM (NUMF,TITRE, GENRE, ANNEE, DUREE, BUDGET, REALISATEUR, SALAIRE
REAL)
• DISTRIBUTION (NUMF, NUMA, ROLE, SALAIRE)
• PERSONNE (NUMP, PRENOM, NOM, DATENAIS)
• ACTEUR (NUMA, AGENT, SPECIALITE, TAILLE, POIDS)
L’attribut REALISATEUR de la relation FILM est l’identifiant d’une PERSONNE. Il en est
de même pour les attributs NUMA et AGENT de la relation ACTEUR.
Donner les requêtes SQL permettant de répondre aux questions suivantes.
1. Retrouver la liste de tous les films.
2. Retrouver la liste des films dont la longueur dépasse 180 min.
3. Donner la liste de tous les genres de film
4. Donner le nombre de films par genre.
5. Trouver le/les titre(s) et l’/les année(s) du/des film(s) le(s) plus long(s).
6. Donner le nom et le prénom des réalisateurs qui ont joué dans au moins un de leurs
propres films (proposez deux solutions différentes)
7. Quel est le total des salaires des acteurs du film “Nuits blanches `a Seattle”.
8. Pour chaque film de Spielberg (titre, année), donner le total des salaires des acteurs.
(proposez deux solutions différentes)