Académique Documents
Professionnel Documents
Culture Documents
Exercice 1
Soit la base de données relationnelle de schéma :
U(NU, NomU, Ville)
P(NP, NomP, Couleur, Poids)
F(NF, NomF, Statut, Ville)
PUF(NP, NU, NF, Quantité)
10. Donner les numéros des fournisseurs qui approvisionnent à la fois les
usines n°1 et n°2
11. Donner les numéros des usines qui utilisent au moins un produit
disponible chez le fournisseur numéro 3 (le produit n’est pas
nécessairement livré à l’usine par le fournisseur numéro 3)
12. Donner le numéro du produit le plus léger (les numéros si plusieurs
produits ont ce même poids)
13. Donner les numéros des usines qui ne reçoivent aucun produit rouge
d’un fournisseur londonien
14. Donner les numéros des fournisseurs qui fournissent au moins un
produit fourni par au moins un fournisseur qui fournit au moins un produit
rouge
15. Donner tous les triplets (Ville f, NP, Ville u) telle qu’un fournisseur de la
première ville approvisionne une usine de la deuxième ville avec un produit
NP
16. Donner tous les triplets (Ville f, NP, Ville u) telle qu’un fournisseur de la
première ville approvisionne une usine de la deuxième ville avec un produit
NP mais sans les triplets où les deux villes sont identiques
17. Donner les numéros des produits qui sont livrés à toutes les usines de
Londres
18. Donner les n° des fournisseurs qui approvisionnent toutes les usines
avec un même produit
20. Donner les numéros des usines qui s'approvisionnent uniquement chez
le fournisseur numéro 3
22. Supprimer tous les produits de couleur noire et de numéro compris
entre 100 et 199
23. Changer la Ville du fournisseur numéro 1, il a déménagé pour Nice
23. Changer le statut de tous les fournisseurs de Paris et de Lyon ’en sous-
traitant’
24. Donner le nombre d’usines clientes du fournisseur numéro 1
26. Pour chaque produit et chaque usine à laquelle il a été livré, donner le
numéro de produit, l’usine et la quantité totale qui a été livrée
Exercice 2
Soit la base de données d’un festival de musique :
Dans une représentation peut participer un ou plusieurs musiciens.
Un musicien ne peut participer qu’à une seule représentation.
—Representation (Num_Rep , titre_Rep , lieu)
—Musicien (Num_mus , nom , #Num_Rep)
—Programmer (Date , #Num_Rep , tarif)
Ecrire la commande SQL permettant de rechercher :
1. La liste des titres des représentations. 1
2. La liste des titres des représentations ayant lieu au « théâtre allissa ».
3. La liste des noms des musiciens et des titres et les titres des
représentations auxquelles ils participent.
4. La liste des titres des représentations, les lieux et les tarifs du
25/07/2008.
5. Le nombre des musiciens qui participent à la représentations n°20.
6. Les représentations et leurs dates dont le tarif ne dépasse pas 20DH.
Exercice 3: SQL
CLASSE(num_classe,nom_classe)
Clé primaire: num_classe
ETUDIANT ( num_et, nom_et, prenom_et, date_naiss_et, id_classe)
Clé primaire: num_et
Clé étrangère: id_classe faisant références à
CLASSE(num_classe)
MATIERES ( num_mat, nom_mat)
Clė primaire: num_mat
OBTENIR ( num_et, num_mat, note, apreciation)
Clé primaire: num_et, num_mat
Clé étrangère: num_et faisant références à ETUDIANT(num_et)
Clé etrangère: num_mat faisant références à
MATIERES(num_mat)
COMPRENDRE ( num_classe, num_mat)
Clé primaire: num_classe, num_mat
Clé étrangère: num_classe faisant références à
CLASSE(num_classe)
Clé etrangère: num_mat faisant références à MATIERES(num_mat)
En vous aidant du modèle relationnel ci-dessus, vous écrirez les requêtes
suivantes :
1. Afficher le nom et prénom des étudiants par ordre alphabétique.
2. Afficher le nombre de classes.
3. Afficher la liste des étudiants qui sont en BTS SIO A ou B.
4. Afficher les classes qui ont un effectif supérieur à 24 étudiants.
5. Afficher les étudiants qui sont nés entre le 24/12/1987 et le 24/12/1990.
6. Afficher les notes de l'étudiant Basile TRADER.
7. Afficher pour la classe des BTS IG les matières pour lesquelles la
moyenne est inférieure à 10/20.
8. Afficher la moyenne de la classe BTS SIO A.
9. Afficher la moyenne de chaque étudiant en BTS SIO B.
10. Afficher la liste des étudiants qui ont eu une moyenne inférieure à la
moyenne de la classe en BTS IG.
11. Afficher la liste des étudiants qui ne sont pas références dans une
classe.
12. Vérifier si toutes les classes sont remplies.
13. Nous devons supprimer la classe des BTS IG mais nous devons
également supprimer tous les étudiants présents dans cette classe.
14. Afficher le nombre d'étudiants par classes.
15. Afficher la moyenne maximale générale pour la classe des BTS IG.
16. Afficher la liste des classes qui contiennent moins de 15 étudiants.
17. Afficher les notes de Mathématiques de l'étudiant Hassan Sehef.
18. Afficher toutes les appréciations de Bill Murray en Anglais.
19. Afficher la matière qui comporte le plus de notes.
20. Afficher le nom, prénom et moyenne du premier de la classe.
Exercice 4 :
Soit la base de données d’un festival de musique : Dans une
représentation peut participer un ou plusieurs musiciens. Un musicien ne
peut participer qu’à une seule représentation.
• Representation (Num_Rep , titre_Rep , lieu)
• Musicien (Num_mus , nom , Num_Rep #)
• Programmer (Date , Num_Rep # , tarif)
Ecrire la commande SQL permettant de rechercher :
1. La liste des titres des représentations.
2. La liste des titres des représentations ayant lieu au « théâtre allissa
».
3. La liste des noms des musiciens et des titres et les titres des
représentations auxquelles ils participent.
4. La liste des titres des représentations, les lieux et les tarifs du
25/07/2008.
5. Le nombre des musiciens qui participent à la représentations n°20.
6. Les représentations et leurs dates dont le tarif ne dépasse pas
20DH.
7. Après un certain nombre de représentation, le directeur du festival a
constaté que certain musiciens participent à plusieurs
présentations. Pourquoi la description proposée ne permet pas de
traiter ce cas. Expliquer les opérations à faire pour résoudre ce
problème.traduire les étapes de la question en SQL afficher les
listes des représentations du musicien numéro 128.
Exercice 5 :
Soit la base de données suivante :
• Départements:( DNO, DNOM, DIR, VILLE)
• Employés: ( ENO, ENOM, PROF, DATEEMB, SAL, COMM, DNO#)
Exprimez en SQL les requêtes suivantes :
5. Exercice 21 :
Exercice 22:
On considère une entreprise de ventes de voitures. Un modèle de voiture
est d´écrit par une marque, une d´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
coût (prix auquel la voiture est revenue). Des clients, on connait 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é une voiture
au magasin. Lorsqu’une vente est réalisée, on en connait 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 affiche et le coût 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 ou elle a ´été 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 un schéma de base de données correspondant `a 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é le plus d’argent.
• (c) Donner le vendeur ayant accordé 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é le plus d’argent `a
l’entreprise).
• (f) La marque pour laquelle on a accordé le plus de rabais.
4. Ecrire en algèbre relationnelle une requête pour obtenir la voiture ayant
le coût le plus ´ ´élevé. Donner, parmi les requêtes précédentes, celles qui
peuvent ˆêtre traduites en algèbre relationnelle.
Exercice 23:
On considère le Schéma de la base de données CINEMA:
• 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. Trouver tous les ”couples d’acteurs”, i.e., les acteurs ayant joués le
”Premier” rôle dans un même film (sans doublons).
7. Trouver le nom des personnes qui ne sont ni agents, ni acteurs et ni
réalisateurs.
8. Donner le nom et le prénom des réalisateurs qui ont joue dans au moins
un de leurs propres films
9. Quel est le total des salaires des acteurs du film “Nuits blanches `a
Seattle”.
10. Pour chaque film de Spielberg (titre, année), donner le total des
salaires des acteurs.
Bonne revision