Vous êtes sur la page 1sur 10

___________________________________________________________________________________________

Institut Supérieur de l'Informatique et des Technologies de la Communication

Chapitre5: Algèbre relationnelle

Enseignante: Fouzia kahloun AU: 2020 – 2021

___________________________________________________________________________________________

Introduction

L’algèbre relationnelle est un ensemble d’opérateurs simples qui agissent sur des relations
afin de créer d’autres relations.

L'algèbre relationnelle se présente comme un support mathématique cohérent sur lequel


repose le modèle relationnel. Elle est basée sur un ensemble d'opérateurs assurant d'effectuer
des opérations sur les relations. Elle permet, comme exemple, une sélection de certains
enregistrements d’une relation en respectant une condition ou encore de grouper des
enregistrements de relations distinctes.

Ces opérateurs sont classés en trois familles :

a. Les opérateurs unaires : Ce sont des opérateurs simples, ils permettent de créer une
nouvelle table à partir d’une autre table.

Exemple: Projection, Sélection, Renommage.

b. Les opérateurs binaires ensemblistes: Ils permettent de créer une autre relation à partir de
deux relations décrivant par le même schéma.

Exemple: Intersection, Union, Différence.

c. Les opérateurs binaires ou n-aires : Ils permettent de créer une nouvelle table à partir de
deux ou plusieurs autres tables.

Exemple: Jointure, Produit cartésien, Division.


1. Les opérateurs unaires

1.1. Sélection

La sélection appelée aussi restriction est un opérateur unaire effectué sur une relation (R1)
afin de produire une nouvelle relation (R2) ayant le même schéma comportant seulement les
n-uplets de la relation R1 satisfaisant la condition énoncée. On le note par le symbole σ.

L’objectif est de sélectionner un groupe de tuples d’une relation selon une condition (critère)
de sélection.

Le critère (condition) de sélection utilise :

- les connecteurs logiques (ou, et, non),


- les opérateurs de comparaison (=, <=, >, >=, != ),
- les parenthèses.

Exemple

Numéro Nom Prénom


1 Saleh Ali Numéro Nom Prénom

2 Ahmed Ali 2 Ahmed Ali

3 Mohamed Mabrouk 3 Mohamed Mabrouk


σ (Numéro≥2)Client

1.2. Projection

La projection d'une relation R1 est la production d’une nouvelle relation restreinte comportant
quelques attributs de la relation initiale. En outre, elle permet de sélectionner que quelques
attributs d'une relation. On le note par le symbole ∏

Exemple :∏ (prénom) Client

Prénom
Ali
Ali
Mabrouk
1.3. Renommage

Le renommage permet de modifier les noms des attributs d’une relation afin d’avoir des
solutions aux problèmes de compatibilité entre les noms des attributs des relations. On la note
α[ancien_nom, nouveau_nom]R.

Pré-condition : le nouveau nom n’existe pas déjà dans R.

Exemple :

Exemple : α(Nom, Nom_client)client.

2. Les opérateurs binaires ensemblistes

2.1. Union
Une opération effectuée sur deux relations ayant le même schéma (c.à.d même nombre, noms
et types d’attributs). Le résultat consiste à créer une nouvelle relation contenant l'ensemble
des n-uplets appartenant à chacune de deux relations en éliminant les tuples doublés. On la

note : R1 ∪ R2.

Exemple

Numéro Nom Prénom Numéro Nom Prénom


1 Saleh Ali 2 Ahmed Ali
2 Ahmed Ali 6 Ahmed Ben Haj Ali
3 Mohamed Mabrouk 8 Sana Mefteh

Client 1 Client 2

Client 1 U Client 2
Numéro Nom Prénom
1 Saleh Ali
2 Ahmed Ali
3 Mohamed Mabrouk
6 Ahmed Ben Haj Ali
8 Sana Mefteh
Propriété

- Commutative : R1 ∪ R2 = R2 ∪ R1
- Schéma (R1 ∪ R2) = Schéma (R1) = Schéma (R2)
- Nombre_tuples (R1 ∪ R2) ≤ Nombre_tuples (R1) + Nombre_tuples (R2)

2.2. Intersection

Une opération effectuée sur deux relations ayant le même schéma. Le résultat est une nouvelle
relation contenant l'ensemble des n-uplets appartenant à la fois dans les deux relations. On la
note : On la note R1 ∩ R2.

On vérifie que l'intersection peut s'exprimer à l'aide de la différence: R ∩ S = R - (R - S)

Exemple
Client 1 ∩ Client 2

Numéro Nom Prénom


2 Ahmed Ali

2.3. Différence

Une opération effectuée sur deux relations (R1 et R2) ayant le même schéma. Le résultat de
R1 - R2 est une nouvelle relation composée des n-uplets présents dans R1 et non dans R2.

Exemple
Client 1 - Client 2

Numéro Nom Prénom


1 Saleh Ali
3 Mohamed Mabrouk

3. Les opérateurs binaires ou n-aires

3.1. Produit cartésien

C’est une opération réalisée par deux relations R1 et R2 afin de produire une troisième qui
regroupe toutes les combinaisons (concaténation) possibles des tuples des relations R1 et R2.
On la note R1 x R2.
Les schémas de R1 et R2 doivent être disjoints c.à.d. n’existe pas des attributs en commun
sinon, il faut renommer les attributs avant le produit.

Exemple:
Client Produit
produit

Numcl Nomcl Adrcl NumProd LibProd PU Qtes

01 Ali Tunis P001 Prod1 18.000 1200

02 Mohamed Sousse P002 Prod2 10.000 1000

03 Ala Kacem

Client ×Produit

Numcl Nomcl Adrcl NumProd LibProd PU Qtes

01 Ali Tunis P001 Prod1 18.000 1200

01 Ali Tunis P002 Prod2 10.000 1000

02 Mohamed Sousse P001 Prod1 18.000 1200

02 Mohamed Sousse P002 Prod2 10.000 1000

03 Ala Kacem P001 Prod1 18.000 1200

03 Ala Kacem P002 Prod2 10.000 1000

3.2. Division

C’est une opération réalisée par deux relations R1 et R2 afin de produire une troisième R3 tel
que :

- le schéma de R3 est composé de tous les attributs de R1 ∉ R2.


- un n-uplet (a1, a2, … , an) ∈ à R3 si et seulement si (a1, a2, … , an, b1, b2, … , bm) ∈
à R1 pour tous (b1, b2, … , bm) ∈ R2

On le note par R1/R2 ou R1÷ R2.

Exemple:

R1 R2 R1/R2

Etudiant Cours Réussi Cours Réussi Etudiant


Ali Base de données Oui Base de données Oui Ali

Mohamed Base des données Oui Programmation Oui Mohamed

Salah Base des données Non Math Oui


Ali Programmation Oui
Mohamed Programmation Oui
Saleh Programmation Oui
Ali Math Oui
Mohamed Math Oui
Saleh Math Oui

3.3. La jointure naturelle

La jointure produit une relation R3 à partir de deux relations R1 et R2 regroupant toutes les
combinaisons possibles des occurrences des relations R1 et R2 en répondant à une expression
logique E. On la note R1 ⋈E R2.

En effet, la jointure se présente par produit cartésien précédée d’une sélection.

R1 ⋈E R2 = σ[E] (R1 x R2)


Exemple:
Pays Monnaie

Nom Capitale Monnaie Num Nom

Italie Roma 3 1 Dollar

France Paris 3 3 Euro


Gabon libreville 6 6 Franc CFA

Bénin Porto-Novo 6

Pays ⋈pays.monnaie=Monnaie.NumMonnaie
Pays .Nom Capitale Monnaie Num Monnaie.Nom
Italie Roma 3 3 Euro

France Paris 3 3 Euro


Gabon libreville 6 6 Franc CFA
Bénin Porto-Novo 6 6 Franc CFA

3.3.1 Equi-jointure

L’équi-jointure produit une nouvelle relation comportant les tuples qui satisfont la condition
de sélection du produit cartésien de deux relations (R et S). Si la condition de sélection utilise
les opérateurs de comparaison spécialement l’égalité on parle de Equi-jointure. C’est le cas
le plus utilisable.

Exemple:

Voir exemple précédent

3.3.2. Theta-jointure

La theta-jointure produit une nouvelle relation comportant les tuples qui satisfont la condition
de sélection du produit cartésien de deux relations (R et S). Le critère de combinaison est
réalisé à travers un opérateur de comparaison autre que l’égalité (<, <=,>=,>, ≠).
Exemple

A B ⋈[B≠C] A B C D E
C D E
a b a b c a c
b C d b c b c d
b C
b a b b c b a b

c B c a c c b c a c

Exercice d’applications
Exercice 1
Soit le schéma relationnel suivant:
Pilote (numP, nomP, adresseP, salaireP)
Avion (num_avion, nom_avion, capacite_avion, loc_avion)
1. Présentez la liste des avions telle que la capacité est supérieure à 450 passagers.
2. Donnez les numéros et les noms des avions localisés à Paris ?
3. Quel est le nom des pilotes domiciliés à Nice tel que le salaire est supérieur à 14000F?
Correction d’exercice 1
1. σ (capacite_avion >450) Avion

2. ∏ num_avion, nom_avion ( (σ (loc=’Paris’)) Avion)

3. ∏ nomP ((σ(adresseP=’ Nice’et salaire>14000)) Pilote)

Exercice 2
Soit les relations suivantes :
PERSONNE (Cin_P, Nom_P, Prenom_P, Adresse_P)
Voiture (NumCarteGrise, Cin_P,, Modele)
Moto (NCarteGrise, Cin_P, Modele)
Ecrire les expressions représentant:
1. Donnez les numéros, les noms et les prénoms des personnes ayant une voiture mais pas de
moto?
2. Donnez les numéros, les noms et les prénoms des personnes ayant une voiture et une
moto?
3. Donnez les numéros, les noms et les prénoms des personnes qui n’ayant pas ni voiture ni
moto?
Correction d’exercice 2
1. ∏ Cin_P, Nom, , Prénon [(∏ Cin_P Voiture -∏ Cin _PMoto) ⋈Personne]
2. ∏ Cin_P, Nom, Prénon [(∏ Cin_P Voiture ∩ ∏ Cin_P Moto) ⋈Personne]
3. ∏ Cin_P, Nom, Prénon [(∏ Cin_P Personne - ( ∏ Cin_P Voiture U ∏ Cin _P Moto)
⋈Personne]
Exercice 3
Soit le schéma relationnel est le suivant :
Spectacle(Spectacle_ID, Titre, DateDéb, Durée, Salle_ID, Chanteur)
Concert (Concert_ID, Date, Heure, Spectacle_ID)
Salle (Salle_ID, Nom, Adresse, Capacité)
Billet (Billet_ID, Concert_ID, Num_Place, Catégorie, Prix)
Vente (Vente_ID, Date_Vente, Billet_ID, MoyenPaiement)
1. Quelles sont les dates du concert de Corneille au Zenith ?
2. Quels sont les chanteurs n'ayant jamais réalisé de concert à la Cygale ?
3. Quels sont les chanteurs ayant réalisé au moins un concert dans toutes les salles ?

Correction d’exercice 3
1.

2.

3.

Vous aimerez peut-être aussi