Ecole Nationale Polytechnique Année universitaire : 2023/2024
2ère année Classe Préparatoire Matière : Informatique 4
Responsable de la matière: Dr. N. BENALIA
Série de travaux dirigés N 03
L’algèbre relationnelle
Exercice 01
Pour réaliser la base de données d’une société de redistributions de produits, nous avons pu
identifier les relations suivantes :
• FOURNISSEUR, dont le schéma est FOURNISSEUR (N°Série, Nom, Adresse, Ville), et qui
contient le numéro de série du fournisseur, son nom, son adresse et la ville d’installation.
• PRODUIT, dont le schéma est PRODUIT (N°Prod, Designation, Prix, Poids, Couleur), et qui
contient le numéro du produit, sa désignation, son prix, son poids et sa couleur.
• COMMANDE, dont le schéma est COMMANDE (N°Comm, Réf_Siret, Réf_Prod, Quantité) et
qui recensent le numéro de la commande, le numéro du fournisseur (à qui elle est passée), le numéro du
produit commandé et la quantité commandée.
Il est demandé de réaliser les opérations relationnelles, dont les résultats sont:
1. La désignation des produits pesant plus de 5 Kilos.
2. Les noms des fournisseurs auprès desquels la société a eu des commandes.
3. Les quantités des « armoires » et les noms de leurs fournisseurs, commandées par la société.
Exercice 02
On suppose qu'une bibliothèque gère une base de données dont le schéma est le suivant (les clés
primaires des relations sont soulignées) :
Emprunt(Personne, Livre, DateEmprunt, DateRetourPrevue, DateRetourEffective)
Retard(Personne, Livre, DateEmprunt, PenalitéRetard)
Exprimer, lorsque cela est possible, les requêtes suivantes en algèbre relationnelle.
1. Quelles sont les personnes ayant emprunté le livre "Recueil Examens BD" ?
2. Quelles sont les personnes n'ayant jamais rendu de livre en retard ?
3. Quelles sont les personnes ayant emprunté tous les livres (empruntés au moins une fois) ?
4. Quels sont les livres ayant été empruntés par tout le monde (i.e. tous les emprunteurs) ?
5. Quelles sont les personnes ayant toujours rendu en retard les livres qu'elles ont empruntés?
Exercice 03
Soit le schéma de la base de données Bibliothèque suivante:
Etudiant(NumEtd,NomEtd,PrenomEdt,AdresseEtd)
Livre(NumLivre,TitreLivre,NumAuteur,NumEditeur,NumTheme,AnneeEdition)
Auteur(NumAuteur,NomAuteur,AdresseAuteur) Editeur(NumEditeur,NomEditeur,AdresseEditeur)
Theme(NumTheme,IntituléTheme)
Prêt(NumEtd,NumLivre,DatePret,DateRetour)
En gras les clés primaires et en italique les clés étrangères
Ecrire en langage algébrique les requêtes suivantes :
1. Le nom, le prénom et l’adresse de l’étudiant de nom ‘Alami’
2. Le numéro de l’auteur ‘Alami’
3. la liste des livres de l’auteur numéro 121
1/2
4. les livres de l’auteur nom ‘Alami’
5. le numéro de l’auteur du livre ‘comment avoir 20 en BDD’
6. le nom et l’adresse de l’auteur du livre ‘comment avoir 20 en BDD’
7. Les livres de l’auteur ‘Alami’ «édités chez l’éditeur ‘Nul part’
8. les livres de l’auteur ‘Alami’ ou ‘Belhadj’
9. les livres qui n’ont jamais été empruntés
Exercice 04
Soit les tables suivantes:
Relation des Employés (EMP)
EMP(ENO, ENOM, PROF, DATEEMB, SAL, COMM, DNO) ENO : numéro d’employé, clé
ENOM : nom de l’employé
PROF : profession (directeur n’est pas une profession)
DATEEMB : date d’embauche
SAL : salaire
COMM : commission (un employé peut ne pas avoir de commission)
DNO : numéro de département auquel appartient l’employé
Relation des Départements (DEPT)
DEPT(DNO, DNOM, DIR, VILLE)
DNO : numéro de département, clé
DNOM : nom du département
DIR : directeur du département
VILLE : lieu du département (ville)
Exprimer les requêtes suivantes à l’aide de l’algèbre relationnelle puis en SQL.
1. Requête 1 : Donner tous les n-uplets de DEPT.
2. Requête 2 : Donner tous les n-uplets de EMP.
3. Requête 3 : Donner les noms et les salaires des employés.
4. Requête 4 : Donner les professions des employés (après élimination des duplicats).
5. Requête 5 : Donner les dates d’embauche des techniciens.
6. Requête 6 : Faire le produit cartésien entre EMP et DEPT .
7. Requête 7 : Donner les noms des employés et les noms de leur département.
8. Requête 8 : Donner les numéros des employés travaillant à BOSTON.
9. Requête 9 : Donner les noms des directeurs des départements 1 et 3. Attention :
directeur n’est pas une profession !
2/2
10. Requête 10 : Donner les noms des employés travaillant dans un département avec au
moins un ingénieur
11. Requête 11 : Donner le salaire et le nom des employés gagnant plus qu’un (au moins
un) ingénieur.
12. Requête 12 : Donner le salaire et le nom des employés gagnant plus que tous les
ingénieurs.
13. Requête 13 : Donner les noms des employés et les noms de leurs directeurs.
14. Requête 14 : Trouver les noms des employés ayant le même directeur que JIM.
Attention : un employé peut être directeur de plusieurs départements.
3/2