Exercices d'application pour bien maitriser le langage SQL - Développement Informatique
Chapitre 1 Algèbre Relationnelle
Correction de l’exercice 1
1.
r ⋈ s = (A, B, r.c, s.C, D)
A |
B |
r.C |
s.C |
D |
7 |
9 |
8 |
8 |
1 |
8 |
1 |
2 |
2 |
3 |
9 |
7 |
2 |
2 |
3 |
2.
r ⋈ s ⋈ t = (r ⋈ s) ⋈ t On pose p = r ⋈ s
donc r ⋈ s ⋈
t = p ⋈ t = (A, B, r.c, s.C, p.D, t.D, E, F)
A |
B |
r.C |
s.C |
p.D |
s.d |
E |
F |
7 |
9 |
8 |
8 |
1 |
1 |
2 |
3 |
8 |
1 |
2 |
2 |
3 |
3 |
0 |
9 |
9 |
7 |
2 |
2 |
3 |
3 |
0 |
9 |
3.
r ⋈(C ⩽D) t = (A, B, C, D, E, F)
A |
B |
C |
D |
E |
F |
8 |
1 |
2 |
1 |
2 |
3 |
8 |
1 |
2 |
0 |
4 |
7 |
1 |
3 |
3 |
3 |
0 |
9 |
9 |
7 |
2 |
3 |
0 |
9 |
4.
s x s =(C, D, C, D)
C |
D |
C |
D |
8 |
1 |
8 |
1 |
8 |
1 |
2 |
3 |
2 |
3 |
8 |
1 |
2 |
3 |
2 |
3 |
5.
π (A,B) r = (A,B)
A |
B |
1 |
3 |
7 |
9 |
8 |
1 |
9 |
7 |
6.
s x t =(C, s.D, t.D, E, F)
C |
s.D |
t.D |
E |
F |
8 |
1 |
1 |
2 |
3 |
8 |
1 |
0 |
4 |
7 |
8 |
1 |
3 |
0 |
9 |
2 |
3 |
1 |
2 |
3 |
2 |
3 |
0 |
4 |
7 |
2 |
3 |
3 |
0 |
9 |
Exercice 2
Soit la base de l’extension suivante de la relation Personne :
Que valent les expressions suivantes ?
Correction de l’exercice 2
1.
Numero |
Nom |
Prenom |
2 |
Grossetete |
Sandrine |
2.
Nom |
Prenom |
Grossetete |
Sandrine |
Renaud |
Stephane |
Rum |
Alexandre |
3.
Prenom |
Pierre –Louis |
Stephane |
Alexandra |
Exercice 3
On considère les relations suivantes:
PERSONNE (CIN, NOM, Prenom, Adresse)
Voiture(NCarteGrise, CIN, Modele)
Moto(NCarteGrise, CIN, Modele)
Ecrire les expressions représentant:
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?
Correction de l’exercice 3
1.
π CIN, NOM, Prenom, Adresse
[(π CIN Voiture - π CIN Moto) ⋈ Personne
]
2.
π CIN, NOM, Prenom, Adresse
[(π CIN Voiture ∩ π CIN Moto) ⋈ Personne
]
3.
π CIN, NOM, Prenom, Adresse
[(π CIN Personne - (π CIN Voiture 𝖴 π CIN Moto) ) ⋈ Personne ]
Exercice 4
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
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
Correction de l’exercice 4
1.
π NomEtd, PrenomEtd, AdresseEtd (σ NomEtd = ‘Alami’ Etudiant )
2.
π NumAuteur (σ NomAuteur = ‘Alami’ Auteur )
3.
σ NumAuteur = 121 Livre
4.
π Livre.* (σ NomAuteur = ‘Alami’
(Livre ⋈ Auteur))
5.
π NumAuteur (σ TitreLivre = ‘comment avoir
20 en BDDi’ (Livre ⋈ Auteur))
6.
π NomAuteur, AdresseAuteur (σ TitreLivre = ‘comment avoir
20 en BDDi’ (Livre ⋈ Auteur))
7.
π
Livre.* (σ NomAuteur = ‘Aalami’
and NomEditeur=’nulle part’
(Livre ⋈
Editeur) ⋈ Auteur)
8.
π Livre.* (σ NomAuteur = ‘Aalami’ ou NomAuteur = ‘Belhadj’ (Livre ⋈ Auteur)
9.
π Livre.* ((π NumLivre Livre - π NumLivre Prêt) ⋈
Livre )