UNIVERSITE ABOU BEKR BELKAID – TLEMCEN:
FACULTE DES SCIENCES - DEPARTEMENT D’INFORMATIQUE
Bases de Données (2024-2025)
TP2 : Algèbre Relationnel
Exercice 1
Soient les trois relations R1, R2 et R3 :
R1 R2 R3
A B A B X Y Z
a1 b1 a1 b1 x1 y1 a1
a1 b2
a2 b2 x2 y3 a5
a1 b3
a3 b1 x1 y1 a3
a3 b1
a3 b3
- Déterminer l’union, l’intersection et la différence entre R1 et R2 et entre R2 et R3,
- Calculer R4, R5, R6, R7 et R8
R4 = πX, Y(R3)
R5 = R2 x R4
R6 = πB, X, Y(R2 ∞R4)
R7 = R2 ÷ πA (R1)
R8 = σ (X==’x1’)R5
Exercice 2
Considérons le schéma suivant :
CoursJH (IdCours, Jour, Heure)
CoursS (IdCours, IdSalle)
Etudiant (IdEtudiant, Nom, Adresse)
CoursEtudNote (IdCours, IdEtudiant, Note)
CoursJH
IdCours Jour Heure
Archi Lun 9h
Algo Mar 9h
ALgo Ven 9h
Syst Mar 14h
CoursS
IdCours IdSalle
Archi S1
Algo S2
Syst S1
Etudiant
IdEtudiant Nom Adresse
100 Toto Alger
200 Tata Oran
300 Titi Tlemcen
CoursEtudNote
IdCours IdEtudiant Note
Archi 100 16
Archi 300 16
Syst 100 14
Syst 200 16
Syst 300 14
Algo 100 12
Algo 200 16
1. Opérateurs Algébriques
Donner les résultats des projections suivantes :
1.1 R1 = πIdCours (CoursJH)
R2 = πIdEtudiant(Etudiant)
1.2 R3 =σ (IdCours = ’Algo’)CoursEtudNote
1.3 R4 = CoursJH∞CoursS
1.4 R5 = π(IdEtudiant, IdCours) CoursEtudNote
R6 = R5 ÷R1
1.5 Donner le résultat R11 de la suite d’opérations suivante :
R7 = R2 x R1 : ensemble de toutes les inscriptions possibles
R8 = R7 – R5 : ensemble des inscriptions manquantes
R9 = π(IdEtudiant) R5: liste des étudiants qui sont inscrits à certains cours
R10 = π (IdEtudiant) R8: liste des étudiants qui ne sont pas inscrits à certains
cours
R11 = R9 – R10 : liste des étudiants qui sont inscrits à tous les cours
1.6 Comparez le résultat de 1.4 avec celui de 1.5, que représente-t-il ?
En s’inspirant de 1.5, montrer que la division peut être obtenue à partir de la différence,
du produit cartésien et de la projection.
2. Langage Algébrique
Exprimer les requêtes ci-dessous dans le langage algébrique.
2.1 Donner les noms des étudiants qui suivent le cours ‘Algo’.
2.2 Donner les notes en ‘Archi’ des étudiants dont le nom est ‘Titi’.
2.3 Donner les couples (jour, heure) pour lesquels la salle ‘S1’ est occupée par un
cours.
2.4 Donner les identifiants des étudiants qui n’ont que des notes 16
Exercice 3
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)
Etudiant
NumEtudiant Nom-etud prénomEtud AdresseEtud
100 ALAMI KARIM Tlemcen
101 Null Selma Oran
102 Meslem Nadia Bedjaa
103 KACEMI Omar Sebdou
Livre
NumLivre TitreLivre NUMAUTEUR NumEditeur Numthéme AnnéeEDITION
30 Bdd 120 6 2 2015
42 IHM 120 2 5 2018
Auteur
NumAuteur NomAuteur Adresse Auteur
120 ALAMI ALGER
121 Belhadj TLEMCEN
122 Daoudi Maghnia
Editeur
Num Editeur Nom Editeur Adresse Editeur
2 El-Adib. Alger
6 El-Alamia. Setif
Thème
Numéro thème Intitulé thème
2 BDD
5 Histoire
Prêt
NumEtd NumLivre DatePret DateRetour
100 30 12.03.2022 25 .03.2022
103 42 1302.2022 12.04.2022
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.
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 ‘Nulle part’.
8. les livres de l’auteur ‘Alami’ ou ‘Belhadj’.
9. les livres qui n’ont jamais été empruntés.
Exercice 4
On considère les relations suivantes :
PERSONNE (CIN, NOM, Prenom, Adresse)
Voiture(NCarteGrise, CIN, Modele)
Moto(NCarteGrise, CIN, Modele)
Personne
CIN NOM prénom adresse
1002 kettab Mohammed Bechar
1003 Mansouri Kamila Constantine
1004 Belaid Ryad Bénisaf
1005 Alami karim Ouledmimoun
Voiture
NcarteGrise CIN Modéle
00230041 1002 Picanto
00130042 1003 I10
00160310 1002 407
Moto
NcarteGrise CIN Modéle
004200120 1002 GSX-S1000
001400345 1004 CB1000R
Répondre aux questions suivantes en utilisant l’algèbre relationnel :
1. Afficher les personnes qui possèdent une voiture mais pas de moto?
2. Afficher les personnes qui possèdent une voiture et une moto?
3. Afficher les personnes qui ne possèdent ni voiture ni moto?
Exercice Supplémentaire :
JOUEUR (Nom, Prenom, AnNaiss, Nation, Taille, Poids)
PALMARES (Nom, Annee, Titre)
Nom Prénom AnNaiss Nation Taille Poids
Messi Lionel 1987 Argentine 1.69 67
Piqué Gerard 1987 Espagne 1.94 87
Ronaldo Christiano 1985 Portugal 1.87 85
Mahrez Ryadh 1991 Algérie 1.79 61
Maldini Paolo 1968 Italie 1.86 86
Benzema Karim 1987 France 1.82 74
Nom Année Titre
Messi 2018 Liga
Ronaldo 2017 Ligue des champions
Messi 2019 Ligue des champions
Benzema 2018 UEFA Nation
Ronaldo 2016 Liga
Mahrez 2019 Ligue des champions
Ronaldo 2019 UEFA Nation
Ecrire en algèbre relationnelle, les requêtes suivantes :
1. Donner les joueurs nés avant 1987 (inclus) et faisant plus de 78kg (strict).
2. Donner les nationalités présentes dans la table.
3. Donner le nom des joueurs de plus 1m80.
4. Donner le nom et le prénom des joueurs ayant eu un palmarès en 2018.
5. Donner le nom des joueurs sans palmarès.
6. Donner le nom des joueurs titré en 2018 et 2019.
7. Donner le nom des joueurs titré tous les ans (i.e. pour toutes les années stockées dans
la base)
8. Donner le nombre de titre obtenu par chaque joueur.