Vous êtes sur la page 1sur 8

Le langage algébrique A.U.

2020/2021

Chapitre VI: Les fondements des LMD Relationnels


Langage algébrique

I. INTRODUCTION
Les langages de base de données relationnelle tels que SQL ne sont pas procéduraux
(ils sont assertionels). Il se base sur des opérateurs dérivés de la théorie des ensembles pour
pouvoir interroger et mettre à jour les tables d’une base de données relationnelle.
Ces langages utilisent les opérateurs ensemblistes classiques et des operateurs
spécifiques. L’ensemble de ces deux classes constitue l’algèbre relationnel. Ce dernier est une
connexion d’opérations qui agisse sur des relations et produise d’autres relations comme
résultat.
Les opérateurs ensemblistes sont des opérateurs binaires c'est-à-dire à partir de deux
relations elles constituent une troisième. Ce sont l’union, l’intersection et la différence…Les
opérateurs spécifiques sont des opérateurs unaires tel que la projection, la sélection….

II. LES OPERATIONS ENSEMBLISTES


1. L’union :
C’est une opération portant sur deux relations ayant le même schéma et produit d’une
troisième relation constituée du tuple appartenant à chaque relation. Les tuples en double sont
éliminés.
Notation : R=R1 U R2 ou R= Union (R1,R2)
Notation graphique :
R

R1 R2

1
Le langage algébrique A.U.2020/2021

Exemple :
Enseignant Enseignants syndicaux
N° enseig Nom enseig N° enseig Nom enseig N° enseig Nom enseig

1 Med 1 Med 1 Med

2 Ali 4 Selwa 2 Ali


R=R1UR2
3 Anis 3 Anis

5 Salah 4 Selwa
5 Salah

Remarque :
Cet opérateur porte sur deux relations qui doivent avoir le même nombre d’attribut
définit dans le même domaine.
La relation résultat possède les attributs de la relation d’origine et les tuples de chacune
avec élimination des doublant.
2. L’intersection :
C’est une opération portant sur deux relations de même schéma et produit la troisième
relation ayant pour tuples ceux appartenant à la fois à R1 et R2.
Notation : R= R1 ∩ R2 ou R=Intersect (R1,R2)
Notation graphique :
R

R1 R2

Exemple:
Enseignant Enseignants syndicaux
N° enseig Nom enseig N° enseig Nom enseig N° enseig Nom enseig
R=R1 ∩ R2
1 Med 1 Med 1 Med
2 Ali 4 Selwa
3 Anis
5 Salah
Quels sont les enseignants et enseignants syndicaux ?

2
Le langage algébrique A.U.2020/2021

3. La différence
Opération portant sur deux relations de même schéma et construit une relation ayant
pour tuples ceux appartenant à R1 et n’appartenant pas à R2.
Notation : R=R1 – R2 ou R= è (R1, R2)
Notation graphique :
R

R1 R2
Exemple : Quelle est la liste des enseignants qui ne sont pas des enseignants syndicaux ?

Enseignant Enseignants syndicaux


N° enseig Nom enseig N° enseig Nom enseig N° enseig Nom enseig

1 Med 1 Med 2 Ali

2 Ali 4 Selwa 3 Anis


R=R1 - R2
3 Anis 5 Salah

5 Salah

Remarque : R1 – R2 # R2 – R1

4. Produit cartésien
C’est une opération portant sur deux relations et construit une troisième relation ayant
pour schéma la concaténation de ces deux relations opérandes et pour tuples toutes les
combinaisons des tuples des relations opérandes.
Notation : R= R1 × R2 ou R= Produit (R1, R2)
Notation graphique :
R

R1 R2

3
Le langage algébrique A.U.2020/2021

Exemple :
Etudiant Epreuve
N°etud Nom Libelle Coefficient
101 Ali Inf 2
102 Salah Math 3
Physique 4

R=R1 × R2

N°etud Nom Libelle Coefficient


101 Ali Inf 2
101 Ali Math 3
101 Ali Physique 4
102 Salah Inf 2
102 Salah Math 3
102 Salah Physique 4

5. Complément
C’est une opération portant sur une relation et construit une deuxième relation.
Notation : ¬ R ou NOT R ou R
Exemple :

A B Dom (A)={a1, a2, a3}

a1 b1 Dom (B)={b1,b2}

a2 b1 ¬ R = Dom(A)*Dom(B)-R

a3 b2

a1 b1
Dom(Libelle)*Dom(Coefficient) =
a1 b2
a2 b1
a2 b2
a3 b1
a3 b2

=== ¬ R = a1b2, a2b2, a3b1

4
Le langage algébrique A.U.2020/2021

III. LES OPERATEURS SPECIFIQUES


1. Projection
C’est une opération qui consiste à projeter les attributs d’une relation et à éliminer les
tuples en double apparaissant dans la nouvelle relation.

Notation : R= Projection (R1, liste-attributs) ou R= πatt1…attn(R1) ou R=R1[att1…att2]


Notation graphique :

att1…attn

R1
Exemple : Quels sont les n° des étudiants ?
Etudiant
N°etud
N°etud Nom 101
R= Projection (Etudiant,N°etud) 
101 Ali 102
102 Salah 103
103 Selwa

2. Sélection ou restriction
C’est une opération qui consiste à sélectionner d’une relation les tuples satisfaisant une
condition.

Notation : R= Selection (R1, condition) ou R= σcondition(R1)


Notation graphique :
R

Condition

R1

5
Le langage algébrique A.U.2020/2021

Exemple : Quels sont les étudiants qui habitent Tunis?


Etudiant
N°etud Nom Age Ville R= Selection (Etudaint, Ville= "Tunis")
101 Ali 22 Tunis Ou
102 Salah 21 Bizerte R= σVille="Tunis" (Etudiant)
103 Selwa 23 Tunis
N°etud Nom Age Ville
101 Ali 22 Tunis
103 Selwa 23 Tunis

Question : Quels sont les noms des étudiants qui habitent à Tunis ?
R1= Selection (Etudiant, Ville="Tunis")
R2=Projection (R1, Nom)

3. jointure
C’est une opération qui consiste à faire le produit cartésien de deux relations puis à
supprimer les tuples ne satisfaisant pas une condition portant sur un attribut de la première
relation et sur un attribut de la deuxième relation.

Notation : R= jointure (R1, R2, condition) ou R=R1 R2


condition

Notation graphique :
R

R1 Ai Bi R2

Exemple : Quels sont les produits qui sont commandés ?


Produit
Codeprod Libelle Prix Detail-code
590 HD 1615 N°code CodeP Qte
588 Scanner 1700 97001 590 2
515 Imprimante 550 97002 515 3
97003 515 1
R= Jointure (Produit, Detail-code, Produit.Codeprod=Detail-code.Code)

6
Le langage algébrique A.U.2020/2021

IV. LES OPERATEURS D’AGREGATION


1. Calculer
Syntaxe : R=Calculer (R1, Fonction1, fonction2…,fonction n.) ou
N= Calculer (R1, fonction)
Exemple : Quel est le chiffre d’affaire HT ainsi que le nombre total de produits commandés ?

Ligne-commande
Numcmd CodePdt Qte PUHT
001 Xx 3 2600
002 Xy 2 1600
002 Xz 1 1300
003 Zz 3 1000

R= Calculer (Ligne-commande, CA : Somme (PUHT*Qte), Qtetot : Somme (Qte))

2. Regrouper-et-calculer
Syntaxe : R=Regrouper-et-calculer (R1, att1,…,attn,fct1,….,fctn)
Exemple : Quel est le montant total HT de chaque commande ?
R= Regrouper-et-calculer (Ligne-commande, Numcmd, MTHT : Somme(PUHT*Qte))
Les fonctions d’agrégation sont :
- Somme (Attribut)
- Moyenne (Attribut)
- Minimum (Attribut)
- Maximum (Attribut)
- Comptage () : permet de chercher le nombre, de compter les éléments d’un ensemble.

3. Tri
Permet de trier un ensemble des éléments d’une relation selon un critère ascendant ou
descendant.
Syntaxe : R= Tri (R1, att1,….,attn)

7
Le langage algébrique A.U.2020/2021

4. Division
Cet opérateur porte sur deux relations qui doivent avoir au moins un attribut définit
dans le même domaine. Tous les attributs du diviseur (Epreuve) doivent être les attributs du
dividende (Participer). La relation dividende doit avoir au moins une colonne de plus que la
relation diviseur.
Syntaxe : R= Division(R1,R2)

Exemple : Quels sont les athlètes qui ont participe à toutes les épreuves ?
Participer Epreuve

Athlete Epreuve Epreuve


XX 200 200
XY 110 400
ZX 200 110
XX 400
NM 110
XX 110

R= Division (Participer, Epreuve)

Vous aimerez peut-être aussi