Vous êtes sur la page 1sur 23

Chapitre 3 :

Les langages relationnels

1
Introduction :
▪ Langages de base pour l’interrogation de base de
données relationnelle
▪ Plusieurs langages dont le plus utilisé est SQL.

Pour mieux comprendre SQL et pour mieux


construire des requêtes SQL, il est nécessaire
d’étudier un langage relationnel.

2
Langages relationnels
Préparent la conception de requêtes qui seront traduite
en SQL.

2 types de langages relationnels :

➢ Algèbre relationnel
➢ Calcul relationnel

Ces langages sont strictement équivalents sur le


plan de la puissance d'expression (n'importe quelle
requête qui peut s'exprimer dans un de ces
langages peut s'exprimer dans l'autre).
3
Algèbre relationnel

▪ Langage d’interrogation des bases de


données relationnelles.
▪ Ensemble d’opérateurs qui s’appliquent aux
relations de la base de données.
▪ Résultat des opérations donne une nouvelle
relation qui peut à son tour être manipulée.
▪ Permet de faire des recherches dans les
relations pour extraire les données.

4
Algèbre relationnel
Opérateurs de l’algèbre relationnel

▪ 8 opérateurs pour manipuler les données


d’une base de données
▪ opérateurs ensemblistes (communs avec la
théorie des ensembles),
▪ opérateurs relationnels (spécifiques à
l’algèbre relationnelle).

On peut aussi classer les opérateurs selon


qu’ils s’appliquent à une ou à plusieurs
relations.
5
Algèbre relationnel
Opérateurs de l’algèbre relationnel
❑ Opérateurs à un seul opérande

➢ Sélection (opérateur relationnel)


➢ Projection (opérateur relationnel)

❑ Opérateurs à deux opérandes

➢ Union (opérateur ensembliste)


➢ Intersection (opérateur ensembliste)
➢ Différence (opérateur ensembliste)
➢ Produit cartésien (opérateur ensembliste)
➢ Jointure (opérateur relationnel)
➢ Division (opérateur relationnel)
6
Algèbre relationnel
Union (sur des relations qui ont la même description) :

L’union de deux relations R1 et R2 est une relation


contenant l’ensemble des tuples appartenant soit à R1
soit à R2 soit aux 2 relations.

Notation : R1 ∪ R2

7
Algèbre relationnel
Exemple : Soient les relations Filles et Garçons suivantes :

Filles Garçons

8
Algèbre relationnel
Intersection (sur des relations qui ont la même
description)

L'intersection de 2 relations R1 et R2 est l'ensemble des


occurrences qui sont présentes dans les deux relations.

Notation : R1 ∩ R2

Exemple : Soient les relations suivantes :

9
Algèbre relationnel
Différence (sur des relations qui ont la même description)

La différence entre deux relations R1 et R2 est l'ensemble


des occurrences qui appartiennent à une table sans
appartenir à la seconde. Attention, cette opération a un
sens.

Notation : R1 – R2

Exemple :
Soient les 2 relations
suivantes :
10
Algèbre relationnel
Produit cartésien

Le produit cartésien des 2 relations R1 et R2 consiste à


combiner toutes les possibilités d’associations d’occurrences
des 2 relations. Chaque ligne de R1 sera concaténée à
chaque ligne de R2.

Notation : R1 X R2
R1 X R2
Exemple :
R1 Num Poste Code Nom Serv
R2
a b c e g
Num Poste Code Nom Serv
a b d f h
c e g
a b b c c e g
d f h b c d f h
b c
c d c e g
c d c d d f h
11
Algèbre relationnel
Projection

La projection d'une relation consiste en la mise en place


d'une nouvelle relation en ne retenant que certaines
colonnes (attributs) et en supprimant les occurrences en
double.

Notation : π [attributs] ( R )

attributs : liste l’ensemble d’attributs de R à conserver dans


le résultat

12
Algèbre relationnel
Projection
Matricule Nom Niveau
Exemple :
R00125 ALI 2

Soit la relation suivante : R00154 PAUL 3

R00215 TOTO 1

R00145 FATI 3

Q : Donner les noms et les niveaux de tous les étudiants :

R= π [Nom, Niveau](ETUDIANT) : Nom Niveau

ALI 2

PAUL 3

TOTO 1

FATI 3

13
Algèbre relationnel
Sélection (Restriction)
La sélection d’une relation R suivant une condition C, notée
σc(R), est la relation de même schéma que R qui contient
tous les n-uplets de R qui vérifient la condition C.

Notation :

R2 = σc(R)
Ou
R2 = SELECTION (R1, critère(s))

14
Algèbre relationnel
Sélection
La condition C est une condition logique qui s’exprime au moyen des
attributs de R, des constantes, d’opérateurs (<, >, =, ≠, ≥, ≤) et des
connecteurs logiques (et, ou, non).
Matricule Nom Niveau

Exemple : R00125 ALI 2

Soit la relation suivante : ETUDIANT


R00154 PAUL 3

R00215 TOTO 1

R00145 FATI 3

Q2 : Recherche des données concernant les étudiants de niveau 3

R2= σNiveau = 3 (ETUDIANT) : Matricule Nom Niveau

R00154 PAUL 3

R00145 FATI 3
15
Algèbre relationnel
Jointure

La jointure consiste à créer une nouvelle table à partir de deux tables


ayant un champ commun (attribut) et vérifiant un critère C de
jointure.

Notation :
R1 ∞ R2
C

Remarque : Cette syntaxe équivaut à : σC (R1 X R2)

16
Algèbre relationnel
Exemple : Soient les relations suivantes : STAGE
ETUDIANT Matricule Entreprise DM

Matricule Nom Niveau


R00154 PNUD MOUSSA
R00125 ALI 2
R00154 PAUL 3
R00145 PAM JACQUES
R00541 AICHA 2
R00419 MERCI 3
R00125 SBGE ISSA
R00215 TOTO 1
R00411 BGT PASCAL
R00145 FATI 3 R00541 OMC JOSEPH
R00215 PNT ANGEL

Matricule Nom Niveau Entreprise DM


ETUDIANT ∞ STAGE =
Matricule R00125 ALI 2 SBGE ISSA

R00154 PAUL 3 PNUD MOUSSA

R00541 AICHA 2 OMC JOSEPH

R00215 TOTO 1 PNT ANGEL

R00145 FATI 3 PAM JACQUES

17
Algèbre relationnel
Quotient
Soient R1 une relation de schéma R1 = (X,Y) et Y une relation de
schéma R2 = Y inclus dans R1 (X et Y sont des ensembles d’attributs).
• Le quotient de R1 par R2 est la relation notée R1 ÷ R2 de schéma X,
contenant tous les p-uplets u de schéma X tels que pour tous les q-
uplets v de R2, le n-uplet uv obtenu par concaténation de u et de v,
appartient à R1.
• On suppose que X est formé de p attributs, Y de q attributs et R1 de
p+q = n

Le résultat est une relation composée des n-uplets tels que le produit
cartésien avec le diviseur soit un sous-ensemble de la relation
dividende.

18
Algèbre relationnel

Quotient
Notation :
PARTICIPER :
R1 ÷ R2
Athlète Epreuve
Exemple : ALI 100m

Soient les deux relations suivantes : TATA 200m


AICHA 100m
TOTO 1500m
EPREUVE : ALI 200m
Epreuve TATA 100M
100m ISSA 200m
TATA 1500m
200m
AICHA 1500m
1500m
ALI 1500m

Q : Quels sont les athlètes qui ont participé à toutes les épreuves ?
R= PARTICIPER ÷EPREUVE

Athlète
ALI
TATA
19
Calcul relationnel

Le calcul relationnel repose sur le calcul des prédicats du premier


ordre. Cette théorie mathématique étudie les formules logiques
construites avec un ensemble de prédicats (des propositions qui
peuvent être vraies ou fausses selon un certain contexte), les
opérateurs et, ou, négation, implication logique, ∀, ∃.
A chaque formule logique correspond des données qui vérifient
cette formule. L’interrogation de la base de données consiste donc
à énoncer une formule qui correspond aux données que l’on
souhaite extraire de la base.
Il existe 2 variantes du calcul relationnel :

❑ Le calcul des prédicats à variable n-uplet ;


❑ Le calcul des prédicats à variable domaine.

20
EXERCICE D’APPLICATION
Soit la relation :

Donnez les résultats des requêtes suivantes :


Requête 1 : σAge=30(PERSONNE) (sélection)
Requête 2 : πAge(PERSONNE) (projection)
Requête 3 : πAge(σNom=Serge (PERSONNE)) (projection, sélection)

21
Exprimez les requêtes suivantes en algèbre relationnelle :

1. les personnes (nom, âge, ville) qui habitent Paris.


2. les personnes (nom, âge, ville) qui ont moins de 30 ans.
3. les villes dans la relation PERSONNE.
4. les noms des personnes habitant à Paris.

22
Soient les relations :

1. R ∞ S (jointure naturelle).
B

2. Est-ce que les équations suivantes sont vraies ?


πA,B(R ∞ S) = R
πB,C(R ∞ S) = S

23

Vous aimerez peut-être aussi