Vous êtes sur la page 1sur 13

Projection, sélection, renommage

Serge Abiteboul Directeur de recherche, Inria

Philippe Rigaux Professeur des Universités au Cnam


POUR L’EXPLIQUER, UNE AUTRE BD : SIMPLE

R S S’ T
A B C D A B B C A B
1 0 2 2 1 2 2 3 1 2
4 1 2 2 4 2 2 5 5 4
6 0 6 3 6 6 9 1 1 6
7 1 7 3 7 7 6 8 8 5
1 0 7 0 1 7 7 7
1 1 6 0 1 6

2 Serge Abiteboul - Projection, sélection, renommage


DES REQUÊTES ÉLÉMENTAIRES : R

R
A B C D
1 0 2 2 Requête : R
4 1 2 2
6 0 6 3 retourne la relation
7 1 7 3 R de Simple
1 0 7 0
1 1 6 0 Pareil pour S, S’, T

3 Serge Abiteboul - Projection, sélection, renommage


ALGÈBRE RELATIONNELLE : DES OPÉRATIONS
Une boite à outils d’opérations (fonctions)
• Input : relations
• Output : relation
Donc on peut les composer
op1 ( ( R op2 S ) op2 ( op1 T ) )

Note : c’est pour cela qu’on parle d’algèbre

4 Serge Abiteboul - Projection, sélection, renommage


LES OUTILS POUR UNE SEULE TABLE ?
Que peut-on faire avec une seule table ?
Sélection
• Supprimer des lignes R
Projection A B C D

• Supprimer des colonnes 1 0 2 2


4 1 2 2
Renommage
6 0 6 3
• Renommer les attributs
7 1 7 3
1 0 7 0
1 1 6 0

5 Serge Abiteboul - Projection, sélection, renommage


SÉLECTION (1/2) σA=1(R)
Garder les nuplets de R qui satisfont la condition A=1

R σA=1(R)
Supprimer des
A B C D lignes (nuplets) A B C D

1 0 2 2 qui ne satisfont 1 0 2 2
pas la condition
4 1 2 2 1 0 7 0
6 0 6 3 1 1 6 0
7 1 7 3
1 0 7 0
1 1 6 0

6 Serge Abiteboul - Projection, sélection, renommage


SÉLECTION (2/2) σC(R)={ t ∈R |t satisfait C }
σcondition(R)
• La condition porte sur les attributs de R
• attribut = valeur ou attribut = attribut
• attribut ≠ valeur ou attribut ≠ attribut
• Exemple A = 1, A = B, A ≠ 1, A ≠ B
• type(σcondition(R)) = type(R)

Evaluation : facile
• Temps linéaire
• Mieux avec un index

7 Serge Abiteboul - Projection, sélection, renommage


PROJECTION (1) πA,C(R)
Garder les colonnes A et C
Supprimer les
R Supprimer les
colonnes
colonnes
A B C D (attributs) qu’on
(attributs) qu’on
1 0 1 2 n’a pas dit de
ne garde pas
garder
4 1 2 2
6 0 6 3
7 1 1 3 Attention : une relation
1 0 1 0 est un ensemble de
1 1 1 0
??? nuplets
Pas de doublon

8 Serge Abiteboul - Projection, sélection, renommage


PROJECTION (2/3) πA,C(R)

R πA,C(R)
A B C D A C A C A C
1 0 1 2 1 1 1 1 1 1
4 1 2 2 4 2 1 1 4 2
6 0 6 3 6 6 1 1 6 6
7 1 1 3 7 1 4 2 7 1
1 0 1 0 1 1 6 6
Tri Élimination
1 1 1 0 1 1 7 1 doublons

9 Serge Abiteboul - Projection, sélection, renommage


PROJECTION (3/3) πA1,...,An(R)={t|A1,...,An |t ∈ R }
πA1,...,An(R)
• {A1,…,An} : sous-ensemble des attributs de R
• Type(πA1,...,An(R)) = {A1,…,An}

Efficace à évaluer
• Tri : n log(n)
• Élimination des doublons en temps linéaire

10 Serge Abiteboul - Projection, sélection, renommage


RETOUR SUR LA COMPOSITION : DONNEZ-MOI
LES NOMS ET LIEUX DES HÔTELS
πnom,lieu(σσtype= 'Hôtel'(Logement)
type=“Hôtel” Logement )
(Logement)
id nom nom lieu
capacité type lieu

pi Tabriz
U Pinzuttu 10 Alsace Gîte Corse

ta Tabriz Réforme34 Alpes Hôtel Alsace

be Benbow 45 Auberge Cévennes

re Réforme 134 Hôtel Alpes

sh Tashilhunpo 28 Monastère Bretagne

11 Serge Abiteboul - Projection, sélection, renommage


RENOMMAGE δA→A′,D→E (R)
Renommage
• attribut → attribut
δA→A’,D→E (R)
Exemple : A → A′,D → E AA’ B C DE
1 0 2 2

Modifier les noms 4 1 2 2


d’attributs 6 0 6 3
7 1 7 3
1 0 7 0
1 1 6 0

12 Serge Abiteboul - Projection, sélection, renommage


À RETENIR
Les opérations unaires de l’algèbre
• Projection : supprimer des colonnes
• Sélection : supprimer des lignes
• Renommage : renommer des colonnes

13 Serge Abiteboul - Projection, sélection, renommage