Vous êtes sur la page 1sur 12

04/03/2019

Manipulation des données

 L’algèbre relationnelle
 Le langage SQL

L’ALGEBRE RELATIONNELLE
 Opérations sur une ou plusieurs relations (ou tables)
 Le Résultat est une relation (ou une table).

 Obtenu à partir :

• d’une autre relation : Opérations unaires

• de deux relations de même arité et de même


domaine : Opérations binaires

• De deux ou de plusieurs relations :


Opérations binaires ou n-aires.

1
04/03/2019

OPERATIONS
Opérations ensemblistes
 UNION (ou Somme)
 DIFFERENCE
 INTERSECTION
 PRODUIT CARTESIEN

Opérations relationnelles
 SELECTION (ou RESTRICTION)
 PROJECTION
 JOINTURE
 DIVISION

UNION
 Soient les relations R1 et R2 de même schéma
 L’ UNION des relations R1 et R2, notée R1 ∪ R2 , est une relation R3
contenant les tuples de R1 ou de R2 ou des deux.
R1 R2
Id Nom Prénom Id Nom Prénom
A456 Amrani Nabil D367 Lahbi fahd
A567 Alaoui safae A567 Alaoui safae
C521 Sekfali Leila
D890 Kassmi mahdi
E295 Redouani nora
R3 = R1 ∪ R2
Id Nom Prénom
A456 Amrani Nabil
A567 Alaoui safae
C521 Sekfali Leila
D367 Lahbi fahd
D890 Kassmi mahdi
E295 Redouani nora

2
04/03/2019

INTERSECTION
 Intersection de 2 relations: Notée R1 ∩ R2
est une relation constituée des tuples communs à
R1 et R2
Id Nom Prénom
Id Nom Prénom
R1 R2 D367 Lahbi fahd
A456 Amrani Nabil
A567 Alaoui safae
A567 Alaoui safae
C521 Sekfali Leila D890 Kassmi mahdi
E295 Redouani nora
R3 = R1 ∩ R2
Id Nom Prénom
A567 Alaoui safae

DIFFERENCE
 La différence R1-R2 : est l'ensemble des tuples de
R1 qui n'appartiennent pas à R2.

R1 R2
Id Nom Prénom Id Nom Prénom
A456 Amrani Nabil D367 Lahbi fahd
A567 Alaoui safae A567 Alaoui safae
C521 Sekfali Leila
D890 Kassmi mahdi
E295 Redouani nora

R1-R2
Id Nom Prénom
A456 Amrani Nabil
C521 Sekfali Leila

3
04/03/2019

Produit Cartésien
 Soient les relations R1 et R2 d'arités respectives k1 et
k2, et de cardinalités respectives Z1 et Z2,
 Le produit cartésien R1 x R2: est une relation P:
 d'arité K = k1+ k2

 dont les tuples sont le résultat de la concaténation


des tuples de R1 avec ceux de R2.
 de cardinalité Z =Z1 x Z2

Produit Cartésien
R1 R2
A B C
D E F
a b c
b g a
d a f
d a f
c b d

P = R1 x R2
A B C D E F
a b C b g a
a b C d a f
d a F b g a
d a F d a f
c b D b g a
c b D d a f

4
04/03/2019

Projection

 Soit une relation : R d’attributs (a1………………………an) et un


ensemble d’attributs (ai……aj)

 La projection de R sur les attributs (ai……aj) est une


nouvelle relation formée des attributs mentionnés et qui
élimine les tuples en double.

 Elle est notée : Π (ai……aj)R

Projection - Exemple
Relation CLIENT Id Nom Prénom Ville
D367 Lahbi fahd Rabat
A567 Alaoui safae Oujda

D890 Kassmi mahdi Meknès


E295 Redouani nora Oujda

La PROJECTION de CLIENT sur nom et ville notée :

Π (nom, ville) CLIENT


donne la relation suivante:
Nom Ville
Lahbi Rabat
Alaoui Oujda

Kassmi Meknès
Redouani Oujda
La projection consiste à supprimer des colonnes dans une relation,
en fonction des attributs de projection(Liste d’attributs)

10

5
04/03/2019

Sélection
 On sélectionne dans une relation des Tuples selon un
critère
Notation : σ(condition)R
 Les conditions sont du type :

<Attribut> <Opérateur> <Valeur>

Avec l’operateur de comparaison choisi parmi {=,>,<,≤,≥,≠}

11

Sélection - Exemple
Relation CLIENT
Id Nom Prénom Ville
D367 Lahbi fahd Rabat
A567 Alaoui safae Oujda

D890 Kassmi mahdi Meknès


E295 Redouani nora Oujda

σ(ville=‘Oujda’)Client
Id Nom Prénom Ville
A567 Alaoui safae Oujda

E295 Redouani nora Oujda

 La sélection consiste à supprimer des lignes dans une


relation, en fonction d'un critère.
 Le résultat de la sélection est une relation ayant les mêmes
attributs

12

6
04/03/2019

JOINTURE
Soient 2 relations R1 et R2 et une condition de jointure C.

La jointure de R1 et R2 selon C, notée :

Join (R1,R2/C) ou R1⋈CR2

est une relation R3 dont les tuples sont

• le résultat du produit cartésien R1xR2

• satisfaisant la condition.

13

JOINTURE

Un produit cartésien suivi d’une sélection.

Join(r1,r2/condition) = σ(condition)r1xr2

La condition est du type :

<Attribut1> <Opérateur> <Attribut2>

opérateurs : {=,>,<,≤,≥,≠}

14

7
04/03/2019

JOINTURE - Exemple
R1 A B C R2
1 2 3 D E
4 5 6 3 1
7 8 9 6 2
0 1 2

A B C D E
Jointure(R1,R2/B<D) 1 2 3 3 1
1 2 3 6 2
4 5 6 3 1
4 5 6 6 2
7 8 9 3 1
7 8 9 6 2
0 1 2 3 1
0 1 2 6 2

15

JOINTURE
Les jointures internes : elles ne
sélectionnent que les données qui ont une
correspondance entre les deux tables ;
Les jointures externes : elles sélectionnent
toutes les données, même si certaines n'ont
pas de correspondance dans l'autre table.

16

8
04/03/2019

JOINTURE - INTERNE
EQUI-JOINTURE

<Opérateur> est « = »

INÉQUI-JOINTURE

<Opérateur> est un des suivants: > ,<, ≥,≤,≠

JOINTURE NATURELLE

Equi-jointure entre les attributs de même nom

17

JOINTURE- EXTERNE
Les jointures externes permettent de récupérer
toutes les données, même celles qui n'ont pas
de correspondance.
Jointure à droite(RIGHT JOIN): récupère toutes
les données de la table dite « de droite »,
même si celle-ci n'a pas d'équivalent dans
l'autre table.
Jointure à gauche(LEFT JOIN).

18

9
04/03/2019

JOINTURE - EXTERNE
JOINTURE EXTERNE GAUCHE
r1 r2
A B C D E F
a b C r b m
d e F u q w
g h I x h k

Jointure externe gauche (r1,r2/B=E)

A B C D E F
a B C r b M
g H I x h K
d E F - - -

Les lignes jointes


Les lignes de la relation de gauche ne pouvant être jointes.

19

JOINTURE - EXTERNE
JOINTURE EXTERNE DROITE
r1 r2

A B C D E F
a b C r b M
d e F u q W
g h I x h K
Jointure externe droite(r1,r2/B=E)

A B C D E F
a B C r b M
g H I x h K
- - - u q W

Les lignes jointes


Les lignes de la relation de droite ne pouvant être jointes.

20

10
04/03/2019

DIVISION
 Soient : R (a1,a2,……….,an,b1,……,bn)
r (b1,……,bn)
avec (b1….,bn) sous-ensemble de (a1,a2,……….,an,b1,……,bn)

 Le Quotient de R par r

DIVISION (R,r) ou R ÷ r

est une relation


Q (a1,a2,……….,an) dont
les tuples concaténés à tous ceux de r donnent un tuple de R

21

DIVISION
DIVISION (R,r) est équivalent à la succession des
opérations suivantes :

R (a1,a2,……….,an,b1,……,bn) et r (b1,……,bn)

•T1 = π (a1,a2,……….,an)(R)

•T2 = π (a1,a2,……….,an)((T1xr)-R)

•T1-T2

22

11
04/03/2019

DIVISION
Enseignement Etudiant

enseignant Nom Nom


Detrez Dubois Dubois
Fidus Pascal Pascal
Vigneron Dubois
Detrez Pascal
Fidus Dubois
Detrez Durand
Vigneron Durand

Enseignant
Enseignement ÷ Etudiant
Detrez
Fidus

Tous les enseignants qui donnent cours à tous les étudiants de la


table Etudiants.

23

12

Vous aimerez peut-être aussi