Exercice 1
Soit la base de données d’un fes val de musique : Dans une représenta on peut par ciper un ou plusieurs musiciens.
Un musicien ne peut par ciper qu’à une seule représenta on.
Representa on (Num_Rep , tre_Rep , lieu)
Musicien (Num_mus , nom , #Num_Rep)
Programmer (Date , #Num_Rep , tarif)
1. La liste des tres des représenta ons.
2. La liste des tres des représenta ons ayant lieu au « théâtre allissa ».
3. La liste des noms des musiciens et des tres et les tres des représenta ons auxquelles ils par cipent.
4. La liste des tres des représenta ons, les lieux et les tarifs du 25/07/2008.
5. Le nombre des musiciens qui par cipent à la représenta ons n°20.
6. Les représenta ons et leurs dates dont le tarif ne dépasse pas 20DH.
Exercice 2
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 :
1. Donnez la liste des employés ayant une commission
2. Donnez les noms, emplois et salaires des employés par emploi croissant, et pour chaque emploi, par salaire
décroissant
3. Donnez le salaire moyen des employés
4. Donnez le salaire moyen du département Produc on
5. Donnes les numéros de département et leur salaire maximum
6. Donnez les différentes professions et leur salaire moyen
7. Donnez le salaire moyen par profession le plus bas
8. Donnez le ou les emplois ayant le salaire moyen le plus bas, ainsi que ce salaire moyen
Exercice 3
Soit le modèle rela onnel suivant rela f à la ges on des notes annuelles d’une promo on d’étudiants :
ETUDIANT(NEtudiant, Nom, Prénom)
MATIERE(CodeMat, LibelléMat, CoeffMat)
EVALUER(#NEtudiant, #CodeMat, Date, Note)
Exprimez en SQL les requêtes suivantes :
1. Quel est le nombre total d’étudiants ?
2. Quelles sont, parmi l’ensemble des notes, la note la plus haute et la note la plus basse ?
3. Quelles sont les moyennes de chaque étudiant dans chacune des ma ères ?
4. Quelles sont les moyennes par ma ère ? Avec la vue MGETU de la ques on 3 ( MOYETUMAT)
5. Quelle est la moyenne générale de chaque étudiant ? Avec la vue MGETU de la ques on 3 ( MOYETUMAT)
6. Quelle est la moyenne générale de la promo on ? Avec la vue MGETU de la ques on 5 :
7. Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à la moyenne générale de la
promo on? Avec la vue MGETU de la ques on 5
Exercice 4
Soit la base de données in tulée "ges on_projet" perme ant de gérer les projets rela fs au développement de logiciels.
Elle est décrite par la représenta on textuelle simplifiée suivante :
Developpeur (NumDev, NomDev, AdrDev, EmailDev, TelDev)
Projet (NumProj, TitreProj, DateDeb, DateFin)
Logiciel (CodLog, NomLog, PrixLog, #NumProj)
Realisa on (#NumProj, #NumDev)
Ecrire les requêtes SQL perme ant :
1. D’afficher les noms et les prix des logiciels appartenant au projet ayant comme tre « ges on de stock », triés
dans l’ordre décroissant des prix .
2. D’afficher le total des prix des logiciels du projet numéro 10. Lors de l’affichage, le tre de la colonne sera « cours
total du projet ».
3. Afficher le nombre de développeurs qui ont par cipé au projet in tulé « ges on de stock »
4. Afficher les projets qui ont plus que 5 logiciels
5. Les numéros et noms des développeurs qui ont par cipés dans tout les projets.
6. Les numéros de projets dans lesquelles tous les développeurs y par cipent dans sa réalisa on.
Exercice 5
Ci-après, on donne la représenta on textuelle simplifiée d’une base de données concernant un cycle de forma on
des né à des étudiants. Il regroupe un ensemble de ma ères. On considère que chaque enseignant n’enseigne qu’une
seule ma ère et qu’à la fin du cycle de forma on, une note par ma ère, est a ribuée à chaque étudiant. D’autre par, les
étudiants peuvent ne pas suivre les mêmes ma ères.
ETUDIANT(CodeEt, NomEt, DatnEt)
MATIERE(CodeMat, NomMat, CoefMat)
ENSEIGNANT(CodeEns, NomEns, GradeEns, #CodeMat)
NOTE(#CodeEt, #CodeMat, note)
Ecrire les requêtes SQL perme ant d’afficher :
1. Les informa ons rela ves aux étudiants (Code, Nom et Date de naissance) selon l’ordre alphabé que croisant du
nom
2. Les noms et les grades des enseignants de la ma ère dont le nom est ‘BD’.
3. La liste dis ncte formée des noms et les coefficients des différentes ma ères qui sont enseignées par des
enseignants de grade ‘Grd3’.
4. La liste des ma ères (Nom et Coefficient) qui sont suivies par l’étudiant de code ‘Et321’.
5. Le nombre d’enseignants de la ma ère dont le nom est ‘Informa que’
Exercice 6
On considère la base de données BD_AIR_MAROC suivante :
PILOTE (NUMPIL, NOMPIL, VILLE, SALAIRE)
AVION (NUMAV, NOMAV, CAPACITE, VILLE)
VOL (NUMVOL, #NUMPIL, #NUMAV, VILLE_DEP, VILLE_ARR, H_DEP, H_ARR)
1. Donnez la liste des avions dont la capacité est supérieure à 350 passagers.
2. Quels sont les numéros et noms des avions localisés à Marrakech ?
3. Quels sont les numéros des pilotes en service et les villes de départ de leurs vols ?
4. Donnez toutes les informa ons sur les pilotes de la compagnie.
5. Quel est le nom des pilotes domiciliés à Meknès dont le salaire est supérieur à 20000 DH ?
6. Quels sont les avions (numéro et nom) localisés à Marrakech ou dont la capacié est inférieure à 350 passagers ?
7. Quels sont les numéros des pilotes qui ne sont pas en service ?
8. Donnez le numéro des vols effectués au départ de Marrakech par des pilotes de Meknès ?
9. Quels sont les vols effectu"s par un avion qui n’est pas localisé à Marrakech ?
10. Quelles sont les villes desservies à par r de la ville d’arrivée d’un vol au départ de Guelmim ?
Exercice 7
Soit le schéma rela onnel suivant :
Departement (NomD, N_Dep, Directeur)
Employe (Matricule, Nom, Prénom, DateNaissance, Adresse, Salaire, #N_dep, superieur)
Projet (NomP, N_pro, Lieu, #N_Dep)
Travaille (#Matricule, #N_Proj, Heures)
L’a ribut supérieur dans la rela on Employe con ent le matricule du supérieur direct de l’employé. Chaque employé
appar ent à un département et travaille sur zéro, un ou plusieurs projets. Chaque projet est ra aché à un département
qui peut être différent de celui des employés travaillant sur ce projet.
Exprimer en SQL les requêtes suivantes :
1. Date de naissance et l’adresse de Taha Lamharchi.
2. Nom et adresse des employés qui travaillent au département de recherche.
3. Nom et Prénom des employés dont le supérieur est Taha Lamharchi.
4. Nom des employés qui travaillent plus de 10heures sur un projet à Guelmim
5. Nom des projets sur lesquelles travaillent Taha Lamharchi et Dounia Mahmoud.
6. Nom et prénom des employés qui ne travaillent sur aucun projet.
7. Numéro des projets qui ont au moins un par cipant de chaque département.
8. Nom des employés qui ne travaillent pas sur un projet à Guelmim.
Exercice 8
Soit le schéma rela onnel suivant qui représente la base de données d’une agence de voyage en ligne.
CLIENT (NumCli, Nom, Prénom, e-mail, NumCB )
VOYAGE (CodeVoyage, Des na on, Durée, Prix )
RESERVATION (#NumCli, #CodeVoyage, DateRes )
Formuler en SQL les requêtes suivantes :
1. Nom, prénom et e-mail des clients ayant une réserva on en cours
2. Nom, prénom et e-mail des clients n’ayant aucune réserva on en cours
3. Des na on et liste des clients ayant réservés pour un voyage de plus de 10 jours et coûtant moins de 1000 DH.
4. Numéros de tous les clients ayant réservés sur tous les voyages proposés.
Exercice 9
Soit la base de données « cinéma » dont le schéma rela onnel est donné ci-dessous :
VILLE (CodePostal, NomVille )
CINEMA (NumCine, NomCine, Adresse, #CodePostal )
SALLE (NumSalle, Capacité, #NumCine )
FILM (NumExploit, Titre, Durée)
PROJECTION (#NumExploit, #NumSalle, NumSemaine, Nbentrees)
Ecrivez les requêtes suivantes en algèbre rela onnelle :
1. Titre des films dont la durée est supérieure ou égale à deux heures
2. Nom des villes abritant un cinéma nommé « RIF »
3. Nom des cinémas situés à Meknès ou contenant au moins une salle de plus 100 places
4. Nom, adresse et ville des cinémas dans lesquels on joue le film « Hypnose » la semaine 18
5. Numéro d’exploita on des films projetés dans toutes les salles
6. Titre des films qui n’ont pas été projetés
Exercice 10
Soit le modèle rela onnel suivant rela f à la ges on simplifiée des étapes du Tour de France 97, dont une des étapes de
type "contre la montre individuel" se déroula à Saint-E enne :
EQUIPE(CodeEquipe, NomEquipe, DirecteurSpor f)
COUREUR(NuméroCoureur, NomCoureur, #CodeEquipe, #CodePays)
PAYS(CodePays, NomPays)
TYPE_ETAPE(CodeType, LibelleType)
ETAPE(NuméroEtap, DateEtape, VilleDép, VilleArr, NbKm, #CodeType
PARTICIPER(#NuméroCoureur, #NuméroEtape, TempsRealisé)
ATTRIBUER_BONIFICATION(#NuméroEtape, #NuméroCoureur, km, Rang, NbSecondes)
Exprimez en SQL les requetes suivantes
1. Quelle est la composi on de l’équipe Fes na (Numéro, nom et pays des coureurs) ?
2. Quel est le nombre de kilomètres total du Tour de France 97 ?
3. Quel est le nombre de kilomètres total des étapes de type "Haute Montagne" ?
4. Quels sont les noms des coureurs qui n’ont pas obtenu de bonifica ons ?
5. Quels sont les noms des coureurs qui ont par cipé à toutes les étapes ?
6. Quel est le classement général des coureurs (nom, code équipe, code pays et temps des coureurs) à l’issue des
13 premières étapes sachant que les bonifica ons ont été intégrées dans les temps réalisés à chaque étape ?
7. Quel est le classement par équipe à l’issue des 13 premières étapes (nom et temps des équipes) ?
Exercice 11 : Extrait HEC 2014
A par r du système d’informa on de l’entreprise. le service des ressources humaines peut extraire et analyser les infor-
ma ons rela ves à tous les personnels. celui-ci lui permet en par culier d’exercer un suivi dans le domaine de la
forma on. un extrait de ce domaine est présenté sours forme d’un schéma rela on :
Construire les requêtes en langage SQL perme ant de répondre aux ques ons suivantes :
1. Quel est le nombre de forma ons suivies par catégories de salariés ayant débuté au cours de la période du
01/06/2011 au 31/12/2011 ?
2. Quelles sont les catégories pour lesquelles le nombre d’heures de forma on est supérieur à la moyenne du
nombre d’heures des forma ons suivies par l’ensemble des personnels ?
3. le responsable des ressources humaines souhaite intégrer dans la base de données une nouvelle forma on liée
au ser ssage des boîtes de conserve.
Les nouvelles données à insérer sont les suivantes : "FORM587, ser ssage niveau 1, 25j, perfec onnement, 12,
525 " Ecrire la requête perme ant de me re à jour la base.
Exercice 12
La société X u lise le logiciel de ges on de base de données Access pour gérer ses clients et ses représentants. Voici la
liste des tables crées dans Access :
Ecrire les requêtes suivantes
1. Afficher la liste des clients appartenant à la catégorie tarifaire n°1, classée par ordre alphabé que
2. Afficher la liste des clients (code, nom de client) ra achés au représentant HINAUD
3. Afficher la liste des clients bénéficiant d’une remise de 10%
4. Afficher la liste des représentants (Numéro et nom) dépendant du chef de secteur PONS
5. Afficher la liste des départements (code, nom, chef de secteur)
6. Afficher la liste des chefs de secteur
Exercice 13
Le responsable du SAV d’une entreprise d’électroménager a mis en place une pe te base de données afin de gérer les
interven ons de ces techniciens. Le modèle rela onnel à la source de ce e base de données est le suivant :
Client (Codecl, nomcl, prenomcl, adresse, cp, ville)
Produit (Référence, désigna on, prix)
Techniciens (Codetec, nomtec, prenomtec, tauxhoraire)
Interven on (Numéro, date, raison, #codecl, #référence, #codetec)
Le responsable vous demande d’écrire en langage SQL les requêtes suivantes :
1. La liste des produits (référence et désigna on) classées du moins cher au plus cher.
2. Le nombre d’interven on du technicien n°2381.
3. La liste des clients ayant demandé une interven on pour des produits d’un prix supérieur à 300 dhs.
4. Les interven ons effectuées par le technicien : ‘Mes ri Mohamed’ entre le 1er et le 31 août 2009.
5. Par ailleurs il vous informe que le produit référencé 548G a vu son prix augmenter (nouveau prix = 320 dhs).
6. Vous apprenez également par le directeur des ressources humaines qu’un nouveau technicien a été recruté : son
code est le 3294, il s’appelle ‘El Abed Ridha’ et est rémunéré à un taux horaire de 15 dhs.
Exercice 14
La représenta on textuelle suivante est une descrip on simplifiée d’une base de données de ges on de factura on
d’une entreprise commerciale.
Client (Numcli, Nomcli, Prenomcli, adressecli, mailcli)
Produit (Numprod, désigna on, prix , qte_stock)
Vendeur (Idvendeur, Nomvendeur, adresse_vend)
Commande (Numcom, #Numcli, #Idvendeur, #Numprod, date_com, qte_com)
On suppose que Numcli, Numprod, Idvendeur et Numcom sont de type numérique.
Le nom, le prénom et l’adresse des clients ainsi que les vendeurs sont des informa ons obligatoires, le mail peut ne pas
être indiqué.
La valeur par défaut de la quan té en stock des produits (qte_stock) est égale à 0
Exprimer en SQL les requêtes suivantes :
1. Créer les tables : Client, Produit, Vendeur et Commande.
2. la liste des clients de marrakech.
3. la liste des produits (Numprod, désigna on, prix) classés de plus cher au moins cher.
4. noms et adresses des vendeurs dont le nom commence par la le re ‘M’.
5. la liste des commandes effectuées par le vendeur "Mohammed" entre le 1er et 30 janvier 2020.
6. le nombre des commandes contenant le produit n° 365.
Exercice 15
Soit la base de données suivante :
Ecrire les commandes SQL perme ant de rechercher :
1. La liste de tous les étudiants.
2. Nom et coefficient des ma ères.
3. Les numéros des cartes d’iden té des étudiants dont la moyenne entre 7 et 12.
4. La liste des étudiants dont le nom commence par ‘ben’.
5. Le nombre des étudiants qui ont comme ma ère ‘12518’.
6. La somme des coefficients des ma ères.
7. Les noms des étudiants qui une note_examen >10.
8. Afficher les noms et les coefficients des ma ères étudier par l’étudiant "01234568".
Exercice 16
Afin d’assurer la qualité des produits a endues par les Clients, l’entreprise cherche à op miser la ges on des pannes
pouvant survenir dans les infrastructures de produc on nécessaires à la fabrica on du Ciment. voici un extrait de la base
de données :
TECHNICIEN (idTech, nom, prénom, spécialité)
STATION (idstat, nom, Posi on, coordLat, coordLong,phase)
MACHINE (idmach, état, dateMiseEnService, dateDernièreRévision, #idStat)
TYPEINCIDENT (id, descrip on, tempsRépara onPrévu)
INCIDENT (idInd, remarques, dateHeure, dateHeureCloture,#idmach,#idType)
INTERVENTION (idInterv, dateHeureDébut, dateHeureFin, #idInd, #idTech)
1. Rédiger la requête SQL perme ant d’obtenir la liste par ordre alphabé que des noms et prénoms des
techniciens ayant réalisé une interven on sur la Machine iden fiée par Ber001.
2. Rédiger la requête SQL perme ant d’obtenir la liste des phases ayant connue un incident de "sur-chauffage"
pour le mois Mai 2019.
3. Rédiger la requête SQL perme ant d’obtenir le nombre d’incidents non clôturés.
4. Rédiger la requête SQL perme ant d’obtenir la liste des noms des sta ons ayant eu plus de dix incidents.
Exercice 17
Voici un extrait de la base de données ges on des ventes :
Produit (Ref, Designa on, PrixUnitaire, Dimension, #code_Machine)
Vente (Ncom, #Ref, Qte , DateLiv)
Commande (Ncom, DateCmd, #CodeClt,#Code_Salarie)
Produit_concurrent(Ref,Designa on,PrixUnitaire,PrixUnitaire,Dimension,#code_Machine,Nom_Concurrent)
1. Donner la requête qui permet d’obtenir le chiffre d’affaire mensuel de l’année en cours
2. Donner la requête qui calcule le taux de vente de chaque produit.
3. Donner la requête qui affiche le produit le plus vendu du mois en cour.
4. La table produit concurrent est composée des informa ons sur les produits vede es des concurrents ; Donner la
requête qui permet d’ajouter tous les produits du concurrent GleenAlu à la table Produits.