Précédent Remonter Suivant

Chapitre 2  Algèbre Relationelle

2.1  Sélection et Projection

Soit la relation
PERSONNE
Nom Age Ville
Marc 29 Paris
Catherine 32 Lyon
Sophie 54 Paris
Claude 13 Montpellier
Serge 40 Lyon
Exercice A :
Donnez les résultats des requêtes suivantes :
Requête 1 :
sigmaAge=30(PERSONNE) (sélection)
Requête 2 :
piAge(PERSONNE) (projection)
Requête 3 :
piAge(sigmaNom='Serge'(PERSONNE)) (projection, sélection)
Exercice B :
Exprimez les requêtes suivantes en algèbre relationnelle:
Requête 1 :
les personnes (nom, âge, ville) qui habitent Paris. sigmaVille = 'Paris'(PERSONNE)
Requête 2 :
les personnes (nom, âge, ville) qui ont moins de 30 ans. sigmaAge < 30(PERSONNE)
Requête 3 :
les villes dans la relation PERSONNE. piVille(PERSONNE)
Requête 4 :
les noms des personnes habitant à Paris. piNom(sigmaVille = 'Paris'(PERSONNE))

2.2  Jointure relationnelle

Exercice A :
Soient R et S les relations



R
A B
a b
a f
c b
d e
S
B C
b c
e a
b d
g b
où les attributs A, B, C sont définis sur les domaines des lettres de l'alphabet.

Donnez le résultat des requêtes suivantes :
Requête 1 :
R S (jointure naturelle).
Requête 2 :
sigmaA=C(rhoB/B'(R) × S) (équi-jointure).
Requête 3 :
R semijoin S=piR(R S) (semijoin).

R S
A B C
a b c
a b d
c b c
c b d
d e a
sigmaA=C(rhoB/B'(R) × S)
A B' B C
a b e a
a f e a
c b b c
d e b d
R semijoin S
A B
a b
c b
d e
Exercice B :
Est-ce que les équations suivantes sont vraies ?
piA,B(R S) = R     (2.1)
piB,C(R S) = S     (2.2)
NON:
piA,B(R S)
A B
a b
c b
d e
piB,C(R S)
B C
b c
b d
e a

2.3  Auto-Jointure et Renommage

Soit T(A,B) une relation où A et B prennent leurs valeurs dans le même domaine. Supposons qu'on veuille sélectionner les seuls n-uplets <a,b> tels que <b,a> est également un n-uplet de T.

Exprimez cette opération par une expression de l'algèbre relationnelle.

  1. solution :
    1. On fait une copie de T dans S(A,B) S := T
    2. On renomme l'attribut A en A1 et B en B1 S := rhoA/A1,B/B1(S)
    3. S a maintenant pour schéma S(A1,B1)
    4. Le résultat est T semijoinB=A1 /\ A=B1 S


  2. solution :
    T inter rhoB/A,A/B (T)

Précédent Remonter Suivant