0% ont trouvé ce document utile (0 vote)
39 vues6 pages

TP2 Ing2-1

Le document présente un TP sur l'algèbre relationnelle dans le cadre d'un cours de bases de données. Il contient plusieurs exercices demandant des opérations sur des relations, des requêtes algébriques et des analyses de schémas de bases de données. Les exercices portent sur des relations d'étudiants, de cours, de livres, et de joueurs, avec des questions sur les projections, les jointures, et les opérations d'ensemble.

Transféré par

sidlakhsar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues6 pages

TP2 Ing2-1

Le document présente un TP sur l'algèbre relationnelle dans le cadre d'un cours de bases de données. Il contient plusieurs exercices demandant des opérations sur des relations, des requêtes algébriques et des analyses de schémas de bases de données. Les exercices portent sur des relations d'étudiants, de cours, de livres, et de joueurs, avec des questions sur les projections, les jointures, et les opérations d'ensemble.

Transféré par

sidlakhsar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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.

Vous aimerez peut-être aussi