0% ont trouvé ce document utile (0 vote)
101 vues50 pages

Séance4 DB

Ce document présente plusieurs opérateurs de l'algèbre relationnelle tels que l'intersection, la jointure, la θ-jointure et la jointure externe. Il fournit des exemples et explications pour chaque opérateur.

Transféré par

Hicham Lahcn
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
101 vues50 pages

Séance4 DB

Ce document présente plusieurs opérateurs de l'algèbre relationnelle tels que l'intersection, la jointure, la θ-jointure et la jointure externe. Il fournit des exemples et explications pour chaque opérateur.

Transféré par

Hicham Lahcn
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours 4

L'algèbre relationnelle(suite)
L'algèbre relationnelle(suite)
Objectifs
 Étudier les opérateurs additionnels
de l'algèbre relationnelle
 Étudier les agrégations
 Les arbres algébriques

FSA : SMI5_LPII_2014 2
L'algèbre relationnelle(suite)
 L'opérateur intersection
R1 et R2 sont deux relations de même schéma.
L'intersection de R1 et R2 est une relation R de
même schéma que R1 et R2 et dont les tuples
sont ceux communs à R1et R2.
Notations
– R=R1 ∩ R2,
– R=R1 intersect R2
– R=and(R1,R2)

FSA : SMI5_LPII_2014 3
L'algèbre relationnelle(suite)
 Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 4
L'algèbre relationnelle(suite)
Remarque
– Degré(R) = Degré(R1) = Degré(R2)
– Card(R)<=card(R1)
– Card(R)<=card(R2)
– R= R1 ∩ R2 = R1-(R1-R2) = R2-(R2-R1)
Exemple

FSA : SMI5_LPII_2014 5
L'algèbre relationnelle(suite)
R1

A B

a1 b1

a1 b2

a3 b3

FSA : SMI5_LPII_2014 6
L'algèbre relationnelle(suite)
R2

A B

a1 b2

a2 b2

a3 b3

FSA : SMI5_LPII_2014 7
L'algèbre relationnelle(suite)
R1 ∩ R2

A B

a1 b2

a3 b3

FSA : SMI5_LPII_2014 8
L'algèbre relationnelle(suite)
 L'opérateur jointure
Soit R1 et R2 deux relations de schémas
R1(A1,A2,A3…) et R2(B1,B2,B3…).
La jointure de R1 et R2 selon un critère C
est une relation R dont le schéma est
R(A1,A2,A3…,B1,B2,B3…) et dont les
tuples sont ceux de R1x R2 vérifiant le
critère C.
FSA : SMI5_LPII_2014 9
L'algèbre relationnelle(suite)
– Le critère C est composé d'expressions
logiques de la forme R1.Ai op R2.Bj
combinées avec les opérateurs logiques (et,
or et non).
– op est un opérateur de comparaison
(<,<=…). Les attributs à comparer doivent
être de types compatibles.

FSA : SMI5_LPII_2014 10
L'algèbre relationnelle(suite)
Notations
– R=jointure (R1, R2/ C)

– R=R1 C
R2

– R=join(R1,R2/C)

FSA : SMI5_LPII_2014 11
L'algèbre relationnelle(suite)
 Notation graphique

R1 R2
FSA : SMI5_LPII_2014 12
L'algèbre relationnelle(suite)
Remarque
Degré(R)=degré(R1)+degré(R2)
Exemples

FSA : SMI5_LPII_2014 13
L'algèbre relationnelle(suite)
R1 R2
A B1 B2 C
a1 1 1 c1
a1 2 4 c2
a3 3 5 c3

Cr=(B1=B2) R
Ou A B1 B2 C
Cr=(R1.B1=R2.B2)
a1 1 1 c1
FSA : SMI5_LPII_2014 14
L'algèbre relationnelle(suite)
R1 R2
A B1 B1 C
a1 1 1 c1
a1 2 4 c2
a3 3 5 c3

C=(R1.B1=R2.B1) R
A R1.B1 R2.B1 C
a1 1 1 c1
FSA : SMI5_LPII_2014 15
L'algèbre relationnelle(suite)
R1 R2
A B1 B2 C
a1 1 1 c1
a2 2 4 c2
a3 3 5 c3

Si on utilise le critère
C=(B1<B2)
Ou =>
C=(R1.B1<R2.B2)
FSA : SMI5_LPII_2014 16
L'algèbre relationnelle(suite)
R
A B1 B2 C
a1 1 4 c2
a1 1 5 c3
a2 2 4 c2
a2 2 5 c3

FSA : SMI5_LPII_2014 17
L'algèbre relationnelle(suite)
 L'opérateur téta-jointure ou θ-jointure
Θ est un opérateur de comparaison:
=,<,<=, >, >=,<>
La θ-jointure = la jointure généralisée mais
le critère C contient un seul opérateur θ
qui porte sur des attributs communs des
deux relations.
Notation
R=R1 R2
θ
FSA : SMI5_LPII_2014 18
L'algèbre relationnelle(suite)
• Notation graphique

R1 R2

FSA : SMI5_LPII_2014 19
L'algèbre relationnelle(suite)
Exemples
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R
Si θ est
l'opérateur =,
A R1.B R2.B C
on obtient a1 1 1 c1
a2FSA : SMI5_LPII_2014
1 1 c1 20
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R
Pour θ égale à
l'opérateur >,
A R1.B R2.B C
on obtient a3 3 1 c1
FSA : SMI5_LPII_2014 21
L'algèbre relationnelle(suite)
 L'opérateur équijointure
C'est la θ-jointure avec θ est l'opérateur =.

FSA : SMI5_LPII_2014 22
L'algèbre relationnelle(suite)
 La jointure naturelle
C'est l'équijointure mais on garde une
seule occurrence des attributs communs
entre les deux relations:
Notation
– R=R1*R2
– R=R1 R2

FSA : SMI5_LPII_2014 23
L'algèbre relationnelle(suite)
 Notation graphique

R1 R2
FSA : SMI5_LPII_2014 24
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R1*R2
R=R1 R2 A B C
a1 1 c1
a2 1
FSA : SMI5_LPII_2014
c1 25
L'algèbre relationnelle(suite)
Exercice R1
Soit les relation suivantes A B C
1 2 3
Chercher
4 5 6
•R1xR2
•R1*R2
7 8 9
•R=R1 R2 R2
=
•R=R1 R2 B C D
< 3 3 10
5
FSA : SMI5_LPII_2014 6 11 26
L'algèbre relationnelle(suite)
 Opérateur jointure externe
La jointure externe de deux relations R1 et R2
est donnée par
– i) jointure naturelle entre R1 et R2. Soit R le résultat
obtenu.
– ii) ajout à R les tuples de R1 et de R2 n'ayant pas
participé à la jointure naturelle complétés par des
nulls comme valeurs des attributs de R2,
– iii) ajout à R les tuples de R2 n'ayant pas participé à
la jointure naturelle complétés par des nulls comme
valeurs des attributs de R1.

FSA : SMI5_LPII_2014 27
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 28
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3

R=R1 R2

FSA : SMI5_LPII_2014 29
L'algèbre relationnelle(suite)
R
A B C
a1 1 c1
a2 1 c1
a3 3 null
null 4 c2
null 5 c3

FSA : SMI5_LPII_2014 30
L'algèbre relationnelle(suite)
 Jointure externe à gauche
Cette jointure ajoute uniquement les tuples
de la première relation (opérande gauche
de l'opérateur) complétés par des nulls
comme des valeurs de R2.

FSA : SMI5_LPII_2014 31
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 32
L'algèbre relationnelle(suite)
 Jointure externe à droite
Cette jointure ajoute seulement les tuples
de la 2ème relation (opérande droite de
l'opérateur) complétés par des nulls
comme des valeurs de R1.

FSA : SMI5_LPII_2014 33
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 34
L'algèbre relationnelle(suite)
 L'opérateur semi-jointure
La semi jointure de R1 et R2 est une
relation R de schéma commun à
R1obtenue de la manière suivante :
i) jointure naturelle entre R1 et R2,
ii) projection de la relation obtenue sur les
attributs de R1.

FSA : SMI5_LPII_2014 35
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Exemple

FSA : SMI5_LPII_2014 36
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R
R=R1 R2 A B
a1 1
a2 1
FSA : SMI5_LPII_2014 37
L'algèbre relationnelle(suite)
 L'opérateur division
Soit R1 et R2 deux relations de schémas
respectifs R1 (A1, A2,…Ap, Ap+1…An) et
R2(Ap+1, …An)
(R2 C R1)
Le quotient de R1 par R2 est une relation R de
schéma R(A1,A2,…Ap) et dont chaque tuple
concaténé à un tuple quelconque de R2 donne
toujours un tuple de R1.
R={a / pour tout b Є R2 , (a,b) Є R1}
FSA : SMI5_LPII_2014 38
L'algèbre relationnelle(suite)
Remarque
Cet opérateur permet de répondre à des
questions de type pour tous ou quelque
soit.
Par exemple, chercher les étudiants qui
ont emprunté tous les ouvrages.

FSA : SMI5_LPII_2014 39
L'algèbre relationnelle(suite)
Notations
– R=R1/R2, R=R1 : R2
– R=division (R1,R2) R
Notation graphique

R1 R2
FSA : SMI5_LPII_2014 40
L'algèbre relationnelle(suite)
Remarque
Si on veut effectuer la division
R=R1/R2
il faut
– R2 C R1
Le résultat R vérifie aussi R C R1

FSA : SMI5_LPII_2014 41
L'algèbre relationnelle(suite)
Exemple
R1 R2 R1/R2
X A
A X x1 a3
a1 x1 x2
a1 x2 x3
a2 x2
a3 x1
a3 x2
a3 x3
FSA : SMI5_LPII_2014 42
L'algèbre relationnelle(suite)
 L'opérateur d'agrégation
L'opérateur d'agrégation permet de
partitionner une relation en groupes
disjoints de tuples. Cette partition est faite
relativement aux valeurs communes à un
ou plusieurs attributs.

FSA : SMI5_LPII_2014 43
L'algèbre relationnelle(suite)
Exemple

R1
A B
a1 1
a1 2 Groupe 1

a1 3
a2 1
Groupe 2
a2 3

FSA : SMI5_LPII_2014 44
L'algèbre relationnelle(suite)
 Les fonctions d'agrégation
Les groupes obtenus sont utilisés comme argument de fonctions
dites fonctions d'agrégation.
Ces fonctions sont :
– Count : pour compter le nombre de valeurs d'un attribut par
groupe.
– Sum: pour sommer les valeurs d'un attribut par groupe.
– Avg: calcule la moyenne des valeurs d'un attribut par groupe.
– Max : calcule le maximum des valeurs d'un attribut par groupe.
– Min : calcule le minimum des valeurs d'un attribut par groupe.

FSA : SMI5_LPII_2014 45
L'algèbre relationnelle(suite)
R1 R2=Count(R1; A ;B)
R2
A B
A Count-B
a1 1
a1 3
a1 2 Groupe 1
a2 2
a1 3 R3=sum(R1; A ;B)

a2 1 R3
Groupe 2
A sum-B
a2 3
a1 6
FSA : SMI5_LPII_2014 a2 4 46
L'algèbre relationnelle(suite)
 Notation
En général, nous avons la notation suivante :
R1=Fnct_agg(R;
[attr1,attr2..]; attr
[;sélection_avant_groupement]
[;sélection_après_groupement]
)
La relation R1 a pour schéma:
R1([attr1,attr2,…,] Fnct_agg-attr)
FSA : SMI5_LPII_2014 47
L'algèbre relationnelle(suite)
 Exercices
Soit la relation
emp(nempl,nom,prénom,ville, salaire,nservice)
– Chercher le nombre d'employés par service.
– Chercher la somme des salaires par service.
– Chercher les services avec une moyenne de salaires
> 10000.
– Chercher la moyenne des salaires par service pour
les employés ayant un salaire>8000.
– Chercher le salaire maximal
– Chercher le nombre d'employés
FSA : SMI5_LPII_2014 48
L'algèbre relationnelle(suite)
 Dans cette syntaxe, on peut négliger
certains arguments.
 Si les attributs de regroupement ne sont
pas mentionnés, la relation R est
considérée comme un seul groupe.
Dans ce cas l'opérateur retourne
uniquement l'attribut Fnct-agg

FSA : SMI5_LPII_2014 49
L'algèbre relationnelle(suite)
 Notation graphique

Fnct(attrs;attr)

R1
FSA : SMI5_LPII_2014 50

Vous aimerez peut-être aussi