Vous êtes sur la page 1sur 23

SIGL-M1

2022-2023
Université de
Yaoundé I

INF460 : Base de données


L’Algèbre Relationnelle

Mai 2023

Valéry MONTHE
valery.monthe@facsciences-uy1.cm
Bureau R114, Bloc pédagogique 1
Contenu du Chapitre
1. Introduction
2. Les opérations de l’algèbre relationnelle
1. Opérations ensemblistes
2. Opérations spécifiques

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 2


Introduction
▪ Langage permettant de manipuler les relations considérées comme
des ensembles de tuples.
▪ Ce langage consiste en un ensemble d’opérations
▪ On peut ainsi faire l’union, la différence, l’intersection, sélectionner
une partie de la relation, etc.
▪ Chaque opération prend une ou deux relations en entrée et produit
une relation en sortie.
▪ Permet d’écrire des requêtes
▪ Une requête : est une expression algébrique qui s’applique à un
ensemble de relations(base de données) et produit une relation
finale (résultat de la requête)

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 3


Les opérateurs de l’algèbre relationnelle
C’est une collection d’opérations. Deux types d’opérations :

▪ Les opérations ensemblistes


▪ UNION
▪ INTERSECTION
▪ DIFFÉRENCE
▪ Les opérations spécifiques
▪ PROJECTION
▪ RESTRICTION / SELECTION
▪ JOINTURE
▪ DIVISION

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 4


Les opérations ensemblistes

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 5


Union
▪ L’union de 2 relations R1 et R2 de même schéma est une
relation R3 de schéma identique.
▪ R3 a pour n-uplets les n-uplets de R1 et/ou R2
▪ On note : R3 = R1 ∪ R2 ou R3=UNION(R1,R2)
R1 A B R2 A B

0 1 0 1

2 3 4 5

R1 ∪ R2 = R3
R3 A B

0 1

2 3

4 5

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 6


Intersection
▪ L’intersection entre 2 relations R1 et R2 de même schéma
est une relation R3 de schéma identique.
▪ R3 a pour n-uplets les n-uplets communs à R1 et R2
▪ On note : R3 = R1 ∩ R2
R1 A B R2 A B

0 1 0 1

2 3 4 5

R1 ∩ R2= R3
R3 A B

0 1

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 7


Différence
▪ La différence entre 2 relations R1 et R2 de même schéma
est une relation R3 de schéma identique.
▪ R3 a pour n-uplets les n-uplets de R1 n’appartenant pas à R2
▪ On note : R3 = R1 - R2
R1 A B R2 A B

0 1 0 1

2 3 4 5

R1 - R2= R3
R3 A B

2 3

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 8


Les opérations spécifiques

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 9


Projection
▪ La projection d’une relation R1 est une relation R2 obtenue
en supprimant les attributs de R1 non mentionnés, puis en
éliminant éventuellement les n-uplets identiques.
▪ On notera : R2 = πR1 (Ai, Aj, ... , Am)
▪ On dira que R2 est la projection de la relation R1 sur les attributs Ai, Aj, … , Am

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 10


Projection : Exemple
▪ Soit la relation PRODUIT suivante :
IdPro Nom Marque Prix
P PS1 IBM 1000
Q Mac Apple 2000
R PS2 IBM 3000
S Word Microsoft 4000

1. Quels sont les références et les prix des produits


▪ Requête : πPRODUIT (IdPro, Prix)
▪ Résultat IdPro
P
Prix
1000
Q 2000
R 3000
S 4000

2. Quelles sont les marques des produits ?


▪ Requête : πPRODUIT (Marque)
▪ Résultat Marque
IBM
Apple
Microsoft

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 11


Restriction / Sélection
▪ La restriction d’une relation R1 est une relation R2 de
même schéma n’ayant que les n-uplets de R1 répondant à
la condition énoncée.
▪ On notera : R2 = σR1 (condition)
▪ Permet d’extraire les n-uplets qui satisfont une condition

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 12


Restriction : Exemple
▪ Soit la relation PRODUIT suivante :
IdPro Nom Marque Prix
P PS1 IBM 1000
Q Mac Apple 2000
R PS2 IBM 3000
S Word Microsoft 4000

1. Quelles sont les produits de marque ‘IBM’?


▪ Requête : σPRODUIT (Marque = ’IBM’)
▪ Résultat IdPro Nom Marque Prix
P PS1 IBM 1000
R PS2 IBM 3000

2. Noms et prix des produits de marque ‘IBM’?


▪ π(σPRODUIT (Marque = ’IBM’))(Nom, prix)
▪ Résultat Nom Prix
PS1 1000
PS2 3000

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 13


Jointure
▪ La jointure de deux relations R1 et R2 est une relation R3 dont les n-uplets
sont obtenus en concaténant les nuplets de R1 et ceux de R2 et en ne
gardant que ceux qui vérifient la condition de liaison
▪ On notera : R3 = R1 × R2 (condition) la jointure de R1 avec R2 suivant le
critère condition.
▪ Une jointure respecte les conditions suivantes :
✓ Le schéma de la relation résultat de la jointure est la concaténation des schémas des
opérandes (s'il y a des attributs de même nom, il faut les renommer).
✓ Les n-uplets de R1 × R2 (condition) sont tous les couples (u1,u2) d'un n-uplet de R1
avec un n-uplet de R2 qui satisfont « condition »
✓ La jointure de deux relations R1 et R2 est le produit cartésien des deux relations suivi
d'une restriction
✓ La condition de liaison doit être du type : <attribut1> :: <attribut2>, où : attribut1 ∈ à
la 1ère relation et attribut2 ∈ à la 2ème relation.

:: étant un opérateur de comparaison (égalité ou inégalité : =, <,>,<=,>=)

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 14


Jointure : Exemple
▪ Soient les R1 et R2 suivantes :
R1(A,B,C) A B C R2(U,V) U V
A1 B1 10 10 V1
A2 B2 10 20 V2
A3 B3 20 30 V3
A4 B4 30

1. Jointure de R1 et R2 sur la condition C=U


▪ notée R1 × R2 (R1.C = R2.U)
▪ Résultat R3=R1 x R2 (R1.C=R2.U)

A B C U V
A1 B1 10 10 V1
A2 B2 10 10 V1
A3 B3 20 20 V2
A4 B4 30 30 V3

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 15


Jointure naturelle
▪ Jointure sur les mêmes colonnes et dans laquelles la
comparaison est l’égalité
▪ Soient les R1 et R1 suivantes :
R1(A,B,C) A B C R2(C,V) C V
A1 B1 10 10 V1
A2 B2 10 20 V2
A3 B3 20 30 V3
A4 B4 30

1. Jointure de R1 et R2 sur la condition R1.C=R2.C


▪ notée R3=R1 × R2 (R1.C = R2.C)
▪ Résultat R3=R1 x R2 (R1.C=R2.C)

A B C V
A1 B1 10 V1
A2 B2 10 V1
A3 B3 20 V2
A4 B4 30 V3

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 16


Auto-Jointure
▪ Jointure d’une relation avec elle-même.
▪ Exemple
▪ On considère la relation CLIENT ci-après:
IdCli Nom Ville
X Jacque Douala
Y Paul Yaoundé
Z Jean Douala

1. « Quels sont les noms des clients qui habitent la même ville que Jean ?»
▪ Il faut un jointure en la relation CLIENT et elle-même
1. On renomme la relation
CLIENT As C1 CLIENT As C2
IdCli Nom Ville IdCli Nom Ville
X Jacque Douala X Jacque Douala
Y Paul Yaoundé Y Paul Yaoundé
Z Jean Douala Z Jean Douala

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 17


Auto-Jointure
2. Puis on fait une jointure naturelle de C1 et C2 sur la ville.
▪ On obtient la relation R1 suivante :
C1.IdCli C1.Nom Ville C2.IdCli C2.Nom
R1 X jacque Douala X jacque
X jacque Douala Z Jean
Y Paul Yaoundé Y Paul
Z Jean Douala Z Jean
Z Jean Douala X jacque

3. On fait une restriction ou sélection sur R1, avec le critère, C2.Nom=”Jean”.


R2 = σR1 (C2.Nom = ’Jean’)

▪ On obtient la relation R2 suivante :


R2 C1.IdCli C1.Nom Ville C2.IdCli C2.Nom
X Jacque Douala Z Jean
Z Jean Douala Z Jean

4. On termine par une projection, pour ne garder que les noms de ces clients.
R3 = πR2 (C1.Nom)
R3 C1.Nom
Jacque
Jean

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 18


Division
▪ La division est une opération binaire (c’est-à-dire portant sur deux
relations).
▪ La division de RD par Rd a pour résultat RQ tel que RQ comporte le plus
grand ensemble possible de tuples qui concaténés à ceux de Rd
donnent toujours un tuples de RD.
▪ On note RQ = Division (RD, Rd) ou RQ = ÷ (RD, Rd) ou RQ = RD ÷ Rd
▪ Tel que :
▪ Tous les attributs de Rd sont des attributs de RD (c'est à dire de même nom et
de même domaine).
▪ RD a au moins un attribut de plus que Rd.
▪ RQ comporte les attributs appartenant à RD mais n'appartenant pas à Rd
▪ La division permet de répondre aux questions du type :
«donnez toutes les personnes qui pratiquent tous les métiers »
SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 19
Division : Exemple
▪ Soit les deux relations suivantes :
Pratique (personne, age, métier) et Métier (métier)

▪ Soit l'opération suivante : RQ = Division (Pratique, Métier)


▪ On obtient alors la relation RQ composée des tuples suivants :

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 20


Exercices d’application
Exercice 1 :
Soient les relations suivantes : T
R S
A B C D E F C D
1 3 5 1 2 3 8 1
7 9 8 0 4 7 2 3
8 1 2 3 0 9
1 3 3
9 7 2
Pour chacune des expressions ci-après, donner le schéma de la relation résultante et
son contenu(tableau de données).
1. R ⨝ S
2. R ⨝ S ⨝ T
3. R ⨝ (C ≤ D) T
4. S ⨯ S
5. π A, B (R)
6. S ⨯ T
SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 21
Exercices d’application
Exercice 2 :
Soit la relation Personne ci-après:
Personne
Numero Nom Prenom
1 Onana Pierre-Louis
2 Adamou Jean
3 Ngo Toum Fleurette
4 Kouam Etienne

Donner le résultat de chacune des expressions suivantes :


1. σ numero < 3 ∧ nom ≠ "Onana" ( Personne )
2. π nom, prenom (σ numero > 1 ( Personne ) )
3. π prenom (σ nom ≠ " Fleurette" ( π nom, prenom (( Personne ) ) )

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 22


Bibliographie et ressources
Ouvrages recommandés
• G. Gardarin, Bases de Données-Objet et Relationnelle,Eyrolles. 2001
• C.J. Date. Introduction aux Bases de Données. Vuibert Informatique.
2000
• J. Akoka, I. Comyn-Wattiau. Conception des Bases de Données
Relationnelles en Pratique : Concepts, Méthodes et Cas Corrigés.
Vuibert Informatique. 2001
Notes de cours et autres références
• Thierry Lecroq, Base de données, Université de Rouen.

SIGL-M1|| 2022-2023 L’ Algèbre Relationnelle 05/05/2023 23

Vous aimerez peut-être aussi