algebre relationnelle

Transcription

algebre relationnelle
ALGEBRE RELATIONNELLE
Rappels : Notation de l’algèbre relationnelle :
Union :
Différence :
Projection :
Restriction :
R∪S
R-S
∏ Liste d’attributs (R)
σ Critère (R)
Produit cartésien :
Intersection :
Jointure :
Division :
R×S
R∩S
R ∞S
R÷S
Exercice 1 :
Soient les relations suivantes :
RESULTATS (R)
Cours
Etudiant
Math
Toto
Math
Lulu
Latin
Toto
Physique
Toto
Note
A
B
A
A
ENSEIGNEMENTS (S)
Cours
Prof
Math
Martin
Physique
Dupont
Latin
Martin
Calculer et exprimer en français :
σ Cours = Math (R) = les résultats au cours de maths
∏ Cours (S) - ∏ Cours (R) = cours enseignés pour lesquels il n’y a pas de résultat
∏ Cours (R) - ∏ Cours (S) = cours pour lesquels il y a un résultat mais pas d’enseignement
∏ Etudiant (R ÷ (∏ Cours (S))) = étudiants ayant eu la même note à tous les cours
∏ Prof (σ Note = A et Etudiant = Toto (R ∞ S)) = profs ayant donné des cours pour lesquels toto a obtenu un A
Exercice 2 : Soit le schéma de base suivant :
SALLE
FILM
PRODUIT
VU
AIME
JOUE
(Nom, Horaire, Titre)
(Titre, Description, Réalisateur)
(Producteur, Titre)
(Spectateur, Titre)
(Amateur, Titre)
(Acteur, Titre)
Ecrire les requêtes suivantes en algèbre relationnelle :
1. Où et à quelle heure peut on voir le film Alien ? = ∏ Nom, Horaire (σ Titre=Alien (S))
2. Quels sont les films réalisés par Eric Rohmer ? = ∏ Titre (σ Réalisateur=Eric Rohmer (F))
3. Quels sont les acteurs du film Brazil ? = ∏ Acteur (σ Titre=Brazil (A))
4. Où peut-on voir un film avec Fernandel (acteur) ? = ∏ Nom ( S ∞ Titre=Titre (σ Acteur=Fernandel (J))
5. Où peut on voir Binoche (actrice) après 16h ? = ∏ Nom ( σ Horaire>16h (S) ∞ Titre=Titre ( σ Acteur=Binoche (J) ) )
6. Quels sont les acteurs qui ont produit un film ? = ∏ Acteur ( J ∞ Acteur=Producteur P )
7. Quels sont les acteurs qui produisent un film dans lequel ils jouent ? = ∏ Acteur ( J ∞ Acteur=Producteur et Titre=Titre P )
8. Quels acteurs jouent dans les films de Blier (réalisateur)? = ∏ Acteur ( J ∞ Titre=Titre (σ Réalisateur=Blier (F)) )
9. Quels acteurs ne jouent que dans les films de Blier (réalisateur)? = ∏ Acteur ( J ∞ Titre=Titre (σ Réalisateur=Blier (F)) ) ∏ Acteur ( J ∞ Titre=Titre (σ Réalisateur !=Blier (F)) )
10. Quels acteurs jouent dans tous les films de Blier (réalisateur)? = J ÷ ( ∏ Titre ( σ Réalisateur=Blier (F) ) )
11. Quels producteurs voient tous les films de Coline Serreau (réalisatrice)? = P ∞ Producteur=Spectateur ( V ÷ ( ∏ Titre (σ
Réalisateur=Coline Séreau (F) ) )
12. Quels sont les spectateurs qui aiment tous les films qu’ils voient ? = ∏ Spectateur (V) – ∏ Spectateur (V – A)
13. Quels films ne passent dans aucune salle ? = ∏ Titre (F) - ∏ Titre (S)
14. Qui produit un film qui ne passe dans aucune salle ? = ∏ Producteur ( P ∞ Titre=Titre ( ∏ Titre (F) - ∏ Titre (S) ) )
15. Quels sont les producteurs qui voient tous les films qu’ils produisent ? = ∏ Producteur (P) - ∏ Producteur (P – V)
16. Quels spectateurs aiment un film qu’ils n’ont pas vu ? = ∏ Spectateurs (A – V)
17. Qui n’aime aucun film ? = ( ∏ Réalisateur (F) U ∏ Producteur (P) U ∏ Spectateur (V) U ∏ Acteur (J) ) – ∏ Amateur (A)
18. Qui ne produit aucun film de Alan Parker (réalisateur) ? = ∏ Producteurs (P) - ∏ Producteur ( P ∞ Titre=Titre (σ
Réalisateur=Alan Parker (F) )
19. Quels sont les acteurs qui produisent un film qu’ils ont réalisé ? = ∏ Acteurs ( ( J ∞ Titre=Titre et Acteur=Réalisateur F ) ∞
Titre=Titre et Acteur/Réalisateur=Producteur P )
20. Quels sont les producteurs qui (voient et) ne voient que les films qu’ils produisent ? = ∏ Producteurs ( V ∞ Titre=Titre
et Spectateur=Producteur P ) - ∏ Producteurs ( V - P )
Exercice 3 : Expression des opérateurs dérivés
R(X,Y) et S(X, Z) sont deux relations, exprimer les opérateurs suivants à l'aide des opérateurs de base: σ,
π, ∪, -, ×
Jointure naturelle, théta jointure : RZY S = ∏R.X,Y,Z σ critère_jointure (R x S).
Semi-Join
R Z< S = ∏X,Y (σ R.X=S.X (R x S))
Anti-Join
R Z S = R - ∏X,Y (σ R.X=S.X (R x S))
avec
Left Outer Join
R=ZY S = (( R-∏X,Y (σ R.X=S.X (R x S)) x N) U (∏X,Y (σ R.X=S.X (R x S))
N(Z) contient 1 seul tuple de valeur NULL. Explication: par définition, c’est le résultat de la jointure auquel on ajoute
les tuples de R qui ne joignent avec aucun tuple de S.
Full Outer Join
R=ZY=S = La jointure externe droite R ZY=S est obtenue de façon similaire.
L’union des deux jointures donne le résultat de la jointure externe R=ZY=S .
R(X,Y) et S(Y) sont deux relations,
Division :
R ÷ S = Q(X). Exprimer Q(X)
Q(X) = ∏X(R) - ∏X( ∏X(R) x S – R )
Explication:
∏X(R) = ensemble des éléments possibles de Q
∏X(R) x S = ensemble des éléments possibles correspondants de R
∏X(R) x S – R = ensemble des éléments possibles moins les éléments réels de R = ensemble des éléments impossibles
de R
∏X( ∏X(R) x S – R ) = leur projection sur X donne l’ensemble des éléments impossibles de Q
∏X(R) - ∏X( ∏X(R) x S – R ) = ensemble des éléments possibles de Q - ensemble des éléments impossibles de Q = Q

Documents pareils