Cours : Base de Données
Prof : Ing.Souleymane Sidibé
Contact :
[email protected] Niveau : L2-S3
TechnoLab 2024-2025
Partie
Chapitre 03 : Algèbre Relationnelle
• Quelques définitions
• Maitriser les opérateurs ensemblistes (union, intersection, différence,…)
• Maitriser les opérateurs relationnels (Projection, Sélection,…)
• Fonctions d’ agrégation
• Exercices d’application
TechnoLab L3 Ing. Sidibe 2024-2025
Chapitre 03 : Algèbre Relationnelle
1. DÉFINITIONS ET RÔLE
▪ L’algèbre relationnelle est une collection d’opérateurs permettant de réaliser des opérations
sur des relations (tables). C’est un langage de requêtes dans des bases de données relationnelle.
▪ On peut ainsi faire l’union ou la différence de deux relations, sélectionner une partie de la
relation, effectuer des produits cartésiens ou des projections, etc.
Une propriété fondamentale de chaque opération est qu’elle prend une ou deux relations
en entrée, et produit une seule relation en sortie.
L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Cood.
Chapitre 03 : Algèbre Relationnelle
2. QUELQUES DÉFINITIONS
▪ Degré d’une relation
Rreprésente le nombre d’attributs de la relation, il se noté : δ(R)
▪ Cardinalité d’une relation
Représente le nombre de t-uples (lignes) de la relation, il se note card(R) ou | R |
Exemple : Soit la relation Personne ( Nom, Prenom, Age, VilleNaissance)
▪ Effectuer 5 enregistrement dans cette relation
▪ Déterminer le degré de cette relation
▪ Determiner la cardinalité de cette relation
Chapitre 03 : Algèbre Relationnelle
2. QUELQUES DÉFINITIONS
Relation ou Table :
Ensemble de t-uples, identifiée par un nom.
▪ Représentation sous forme de tableau
▪ Une ligne = un enregistrement = un t-uple
▪ Une colonne est identifiée par un nom : attribut unique de la relation ( table)
Exemple : client (N°Client, Nom, Contact )
N°Client Nom Contacts
Ligne = T-uple 1 Cedric GOLY 78348920
Table = relation
2 Yaya TRAORE 69736490
3 MAIMOUNA Keita 73490034
Chapitre 03 : Algèbre Relationnelle
2. QUELQUES DÉFINITIONS
Schema d’une base de données
Rreprésente l’ensemble des schémas des relations (tables) qui compose la base de
données.
Exemple : Schéma d’une base de données des films
Le schéma des relations/tables qui composent la base de données :
▪ Films ( idFimls string, titre string, realisateur string, annee date)
▪ Acteur (idActeur string, nom string, prenom string )
▪ Jouer ( #idFimls#idActeur)
Chapitre 03 : Algèbre Relationnelle
3. TYPES D’OPERATEURS
Les différents operateurs de l’algèbre relationnel sont :
❑ Les operateurs ensemblistes ( binaire ) :
▪ ∪ ∶ 𝒖𝒏𝒊𝒐𝒏
▪ ∩ ∶ 𝒊𝒏𝒕𝒆𝒓𝒔𝒆𝒄𝒕𝒊𝒐𝒏
▪ − ∶ 𝒅𝒊𝒇𝒇𝒆𝒓𝒆𝒏𝒄𝒆
▪ × ∶ 𝒑𝒓𝒐𝒅𝒖𝒊𝒕 𝒄𝒂𝒓𝒕𝒆𝒔𝒊𝒆𝒏
▪ ÷ ∶ 𝑫𝒊𝒗𝒊𝒔𝒊𝒐𝒏
❑ Les operateurs relationnels ou de base de données ( unaire)
▪ 𝜶 𝐴𝑝ℎ𝑎 ∶ 𝑹𝒆𝒏𝒐𝒎𝒎𝒂𝒈𝒆
▪ 𝝅 𝑃𝑖 ∶ Projection
▪ 𝝈 𝑠𝑖𝑔𝑚𝑎 : 𝑺𝒆𝒍𝒆𝒄𝒕𝒊𝒐𝒏
▪ ⋈ 𝑏𝑜𝑤𝑡𝑖𝑒 ∶ 𝑱𝒐𝒊𝒏𝒕𝒖𝒓𝒆
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
❑ Les opérations ensembliste permettent de combiner deux tables/relations de même schéma
pour en former une troisième de même schéma également.
❑ Les opérateurs ensemblistes ou binaires impliquent obligatoirement deux opérandes: deux
tables ou relations.
❑ Ces operateurs sont :
▪ ∪ ∶ 𝒖𝒏𝒊𝒐𝒏
▪ ∩ ∶ 𝒊𝒏𝒕𝒆𝒓𝒔𝒆𝒄𝒕𝒊𝒐𝒏
▪ − ∶ 𝒅𝒊𝒇𝒇𝒆𝒓𝒆𝒏𝒄𝒆
▪ ×∶ 𝒑𝒓𝒐𝒅𝒖𝒊𝒕 𝒄𝒂𝒓𝒕𝒆𝒔𝒊𝒆𝒏
▪ ÷ ∶ 𝑫𝒊𝒗𝒊𝒔𝒊𝒐𝒏
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
a) Union ( U ) :
L’union est une operation qui s’applique a deux relations R1 et R2 ayant la meme structure et qui
retourne une relation de meme schema contenant toutes les lignes de R1 et de R2 sans doublons.
R1 U R2
𝑹𝟏 ∪ 𝑹𝟐 𝑒𝑠𝑡 𝑙𝑎 𝑡𝑎𝑏𝑙𝑒 𝑐𝑜𝑛𝑡𝑒𝑛𝑎𝑛𝑡 𝑡𝑜𝑢𝑡𝑒𝑠 𝑙𝑒𝑠 𝑙𝑖𝑔𝑛𝑒𝑠 𝑑𝑒 𝑹𝟏 𝑒𝑡
𝑡𝑜𝑢𝑡𝑒𝑠 𝑙𝑒𝑠 𝑙𝑖𝑔𝑛𝑒𝑠 𝑑𝑒 𝑹𝟐 𝑠𝑎𝑛𝑠 𝑑𝑜𝑢𝑏𝑙𝑜𝑛.
U
Condition : R1 R2
schema (R1) = schema (R2) alors schema 𝑹𝟏 ∪ 𝑹𝟐 = 𝑠𝑐ℎ𝑒𝑚𝑎 𝑹𝟏 = 𝑠𝑐ℎ𝑒𝑚𝑎 (𝑹𝟐)
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
Exemple : Trouver la lister de tous étudiants ( Union des deux table )
R1 : Etudiant_GL
idEtud Prénom Nom Note
E01 Cedic Goly 13
R1 U R2 = Etudiants
E02 Yaya Traore 08
E03 Issa Coulibaly 11 idEtud Prénom Nom Note
E01 Cedic Goly 13
R2 : Etudiant_GC E02 Yaya Traore 08
E03 Issa Coulibaly 11
idEtud Prénom Nom Note
E04 Mai Guele 10
E03 Issa Coulibaly 11
E05 Moussa Toure 16
E04 Mai Guele 10
E05 Moussa Toure 16
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
b) Intersection ( ∩ ) :
L’intersection des deux relations R1 ∩ R2 produit une nouvelle relation de schéma identique
à R1 et à R2 possédant les enregistrements appartenant conjointement à R1 et à R2.
R1 ∩ R2
𝑹𝟏 ∩ 𝑹𝟐 𝑒𝑠𝑡 𝑙𝑎 𝑡𝑎𝑏𝑙𝑒 𝑐𝑜𝑛𝑡𝑒𝑛𝑎𝑛𝑡 𝑡𝑜𝑢𝑡𝑒𝑠 𝑙𝑒𝑠 𝑙𝑖𝑔𝑛𝑒𝑠
𝑐𝑜𝑚𝑚𝑢𝑛𝑒𝑠 à 𝑹𝟏 𝑒𝑡 à 𝑹𝟐 ∩
Condition : R1 R2
schema (R1) = schema (R2) alors schema 𝑹𝟏 ∩ 𝑹𝟐 = 𝑠𝑐ℎ𝑒𝑚𝑎 𝑹𝟏 = 𝑠𝑐ℎ𝑒𝑚𝑎 (𝑹𝟐)
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
Exemple :
Fruit1
idFruit Produit Prix
F001 Pomme 500 F
F002 Cerise 250 F
F003 Poire 125 F
𝑭𝒓𝒖𝒊𝒕𝟏 ∩ 𝑭𝒓𝒖𝒊𝒕𝟐
F004 Abricot 800 F
F005 Fraise 300 F
idFruit Produit Prix
F002 Cerise 250 F
Fruit2
F005 Fraise 300 F
idFruit Produit Prix
F002 Cerise 250 F
F004 Abricot 800 F
F005 Fraise 300 F
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
c) Difference ( − ) :
La différence entre deux relations 𝑹𝟏 − 𝑹𝟐 de même schéma produit une nouvelle relation de
schéma identique à R1 et à R2 possédant les enregistrements appartenant à R1 et n’appartenant
pas à R2.
𝑹𝟏 − 𝑹𝟐 𝑒𝑠𝑡 𝑙𝑎 𝑡𝑎𝑏𝑙𝑒 𝑐𝑜𝑛𝑡𝑒𝑛𝑎𝑛𝑡 𝑡𝑜𝑢𝑡𝑒𝑠 𝑙𝑒𝑠 𝑙𝑖𝑔𝑛𝑒𝑠
de 𝑹𝟏 𝑞𝑢𝑖 𝑛𝑒 𝑠𝑜𝑛𝑡 𝑝𝑎𝑠 𝑑𝑎𝑛𝑠 𝑹𝟐
Condition :
schema (R1) = schema (R2) alors schema 𝑹𝟏 − 𝑹𝟐 = 𝑠𝑐ℎ𝑒𝑚𝑎 𝑹𝟏 = 𝑠𝑐ℎ𝑒𝑚𝑎 (𝑹𝟐)
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
Exemple :
Fruit1
idFruit Produit Prix
F001 Pomme 500 F
F002 Cerise 250 F
F003 Poire 125 F
𝑭𝒓𝒖𝒊𝒕𝟏 − 𝑭𝒓𝒖𝒊𝒕𝟐
F004 Abricot 800 F
F005 Fraise 300 F idFruit Produit Prix
F001 Pomme 500 F
Fruit2
F003 Poire 125 F
idFruit Produit Prix
F001 Cerise 250 F
F004 Abricot 800 F
F005 Fraise 300 F
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
d) Produit cartesien ( 𝑿 ) :
Le produit cartésien des deux relations R1 x R2 produit une nouvelle relation de schéma R3 égal
à l’union des schémas R1 et R2 et possédant comme enregistrements, la concaténation des
enregistrements de R1 avec ceux de R2.
𝑹𝟏 × 𝑹𝟐 𝑒𝑠𝑡 𝑙𝑎 𝑡𝑎𝑏𝑙𝑒 𝑐𝑜𝑛𝑡𝑒𝑛𝑎𝑛𝑡 𝑡𝑜𝑢𝑠 𝑙𝑒𝑠 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑠
de 𝑹𝟏, 𝑹𝟐 et la concaténation des lignes respectives
schema 𝑹𝟏 × 𝑹𝟐 = 𝑠𝑐ℎ𝑒𝑚𝑎 𝑹𝟏 ∪ 𝑠𝑐ℎ𝑒𝑚𝑎 (𝑹𝟐)
NB : R1 et R2 n’ont pas forcement le même schéma.
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
Exemple : Client
𝑷𝒓𝒐𝒅𝒖𝒊𝒕
NumCl NomCl Adr
NumP LibP CoulP Poids Qte
Cl1 Moussa Bamako
P003 Cable blanc 2 1400
Cl2 Yaya Segou
P006 Serrure jaune 3 2343
Cl3 Mai Kayes
𝑪𝒍𝒊𝒆𝒏𝒕 × 𝑷𝒓𝒐𝒅𝒖𝒊𝒕
NumCl NomCl Adr NumP LibP CoulP Poids Qte
Cl1 Moussa Bamako P003 Cable blanc 2 1400
Cl1 Moussa Bamako P006 Serrure jaune 3 2343
Cl2 Yaya Segou P003 Cable blanc 2 1400
Cl2 Yaya Segou P006 Serrure jaune 3 2343
Cl3 Mai Kayes P003 Cable blanc 2 1400
Cl3 Mai Kayes P006 Serrure jaune 3 2343
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
e) Division (÷ 𝐨𝐮 /)
▪ La division est une opération portant sur deux relations R1 et R2, telles que le schéma de
R2 est strictement inclus dans celui de R1, qui génère une troisième relation regroupant
toutes les lignes de la relation R1 qui sont associées à toutes les lignes de la relation R2.
𝑹𝟏 ÷ 𝑹𝟐 𝑒𝑠𝑡 𝑙𝑎 𝑡𝑎𝑏𝑙𝑒 𝑐𝑜𝑛𝑡𝑒𝑛𝑎𝑛𝑡 𝑡𝑜𝑢𝑡𝑒𝑠 𝑙𝑒𝑠 𝑙𝑖𝑔𝑛𝑒𝑠 de
𝑹𝟏 𝑞𝑢𝑖 𝑠𝑜𝑛𝑡 𝑎𝑠𝑠𝑜𝑐𝑖𝑒𝑒𝑠 𝑎𝑢𝑥 𝑙𝑖𝑔𝑛𝑒𝑠 𝑑𝑒 𝑹𝟐
▪ Condition : Attributs de R2 doivent être inclut dans R1
Attri(𝑅1 ÷ 𝑅2) = 𝐴𝑡𝑡𝑟𝑖(𝑅1) − 𝐴𝑡𝑡𝑟𝑖(𝑅2)
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
Exemple1 :
R1: Professeur R2: Qualité R3= 𝑹𝟏 ÷ 𝑹𝟐
Prof Matière Langue Matiere Langue Prof
P1 L1 FR L1 FR P1
÷
P2 L1 EN L1 EN P2
P3 L2 FR
P1 L1 EN
P2 L1 FR Attri (R3) = (Prof, Matière, Langue) – ( Matière, Langue)
Attri(R3) = Prof
P3 L1 EN
Chapitre 03 : Algèbre Relationnelle
4. LES OPERATEURS ENSEMBLISTE ( BINAIRE)
Propriétés de la structures
▪ Degré (R) = Nombre d’attributs de la relation/table
▪ Même schéma :
o 𝑫𝒆𝒈𝒓é 𝑹𝟏 ∪ 𝑹𝟐 = 𝑫𝒆𝒈𝒓é 𝑹𝟏 = 𝑫𝒆𝒈𝒓é 𝑹𝟐
o 𝑫𝒆𝒈𝒓é 𝑹𝟏 ∩ 𝑹𝟐 = 𝑫𝒆𝒈𝒓é 𝑹𝟏 = 𝑫𝒆𝒈𝒓é(𝑹𝟐)
o 𝑫𝒆𝒈𝒓é 𝑹𝟏 − 𝑹𝟐 = 𝑫𝒆𝒈𝒓é 𝑹𝟏 = 𝑫𝒆𝒈𝒓é(𝑹𝟐)
▪ Schéma Quelconque :
o 𝑫𝒆𝒈𝒓é 𝑹𝟏 × 𝑹𝟐 = 𝑫𝒆𝒈𝒓é 𝑹𝟏 + 𝑫𝒆𝒈𝒓é 𝑹𝟐
o 𝑫𝒆𝒈𝒓é 𝑹𝟏 ÷ 𝑹𝟐 = 𝑫𝒆𝒈𝒓é 𝑹𝟏 = 𝑫𝒆𝒈𝒓é(𝑹𝟐)
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
Les operateurs relationnels sont aussi appelés operateur de base de données relationnelle.
❑ Les opérateurs de base de données peuvent être utilisés pour rechercher, trier, filtrer ou
combiner des données de différentes manières, afin d'obtenir les résultats souhaités.
❑ Ces operateurs sont :
▪ 𝜶 𝐴𝑝ℎ𝑎 ∶ 𝑹𝒆𝒏𝒐𝒎𝒎𝒂𝒈𝒆
▪ 𝝅 𝑃𝑖 ∶ Projection
▪ 𝝈 𝑠𝑖𝑔𝑚𝑎 : 𝑺𝒆𝒍𝒆𝒄𝒕𝒊𝒐𝒏
▪ ⋈ 𝑏𝑜𝑤𝑡𝑖𝑒 ∶ 𝑱𝒐𝒊𝒏𝒕𝒖𝒓𝒆
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
a) Renommage (𝜶)
Le renommage ou l'affectation permet de renommer les attributs d’une relation pour résoudre
des problèmes de compatibilité entre noms d’attributs de deux relations opérandes d’une
opération binaire.
𝜶 𝑎𝑛𝑐𝑖𝑒𝑛𝑛𝑜𝑚 ∶ 𝑛𝑜𝑢𝑣𝑒𝑎𝑢𝑛𝑜𝑚 𝑹
o R : nom de la relation/ Table
o 𝒂𝒏𝒄𝒊𝒆𝒏𝒏𝒐𝒎 𝑒𝑡 𝒏𝒐𝒖𝒗𝒆𝒂𝒖𝒏𝒐𝒎 𝑠𝑜𝑛𝑡 𝑑𝑒𝑠 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑠 𝑑𝑒 𝑹
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
Exemple : Renommer l’attribut LibP par l’attribut DesignP dans la table Produit.
𝜶 𝐿𝑖𝑏𝑃 ∶ 𝐷𝑒𝑠𝑖𝑔𝑛𝑃 𝑷𝒓𝒐𝒅𝒖𝒊𝒕𝟏
NumP LibP CoulP Poids Qte NumP DesignP CoulP Poids Qte
P001 Robinet Gris 5 kg 120 P001 Robinet Gris 5 kg 120
P002 Prise Rouge 2 kg 349 P002 Prise Rouge 2 kg 349
P003 Cable Noire 1 kg 23 P003 Cable Noire 1 kg 23
P004 Peinture Rose 10 kg 900 P004 Peinture Rose 10 kg 900
Produit 1 Produit 2
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
b) Projection (𝝅)
▪ Opération sur une relation qui retourne une relation dont le schéma est celui de la
relation initiale à l’exception des attributs non mentionnés en arguments.
▪ A l’issue d’une projection, la relation résultante peut contenir des doublons.
𝝅 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡1 , 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡2 , … 𝑹 𝝅𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡1,𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡2,… (𝑹)
o R : nom de la Table
o 𝝅 ∶ Projection
o Arguments : Attributs
o Objectif : réduire le nombre d'attributs pour ne conserver que ceux considérés « utiles ».
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
Exemple : En utilisant les requêtes de algèbre relationnelle
▪ Afficher tous les noms de produits de la table produit.
▪ Afficher le nom et la couleur de tous les produits de la table produit.
Table : Produit 𝝅𝑁𝑜𝑚𝑃 (𝑃𝑟𝑜𝑑𝑢𝑖𝑡) 𝝅𝑁𝑜𝑚𝑃,𝐶𝑜𝑢𝑙𝑃 (𝑃𝑟𝑜𝑑𝑢𝑖𝑡)
NumP NomP CoulP Poids Qte NomP NomP CoulP
P001 Robinet Gris 5 kg 120 Robinet Robinet Gris
P002 Prise Rouge 2 kg 349 Prise Prise Rouge
P003 Cable Noire 1 kg 23 Cable Cable Noire
P004 Peinture Rose 10 kg 900 Peinture Peinture Rose
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
b) Selection (𝝈)
▪ opération sur une relation qui retourne une relation de même schéma mais avec uniquement
les enregistrements qui vérifient une certaines conditions spécifiées en argument (restriction).
▪ Objectif : réduire le nombre de tuples pour ne conserver que ceux répondant à une condition.
𝝈 𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛𝑠 𝑹 𝝈𝒄𝒐𝒏𝒅𝒊𝒕𝒊𝒐𝒏 (𝑹)
o R : nom de la Table
o Condition: <attribut> operateur <attribut>
o Les operateurs de comparaison sont : =, <, >, < =, > =, ! =
o conbinaisons de conditions avec "ET(∩), OU(∪) , NON ( ! )"
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
Exemple1 :
▪ Afficher tous les produits de couleur rouge contenu dans la table Produits.
▪ Afficher tous les produits de couleur rouge et dont le poids est inferieur à 5 kg.
Table : Produit 𝜎 𝐶𝑜𝑢𝑙𝑃="𝑅𝑜𝑢𝑔𝑒" (𝑷𝒓𝒐𝒅𝒖𝒊𝑡)
NumP NomP CoulP Poids NumP NomP CoulP Poids
P001 Robinet Gris 5 kg P002 Prise Rouge 2 kg
P002 Prise Rouge 2 kg P004 Peinture Rouge 10 kg
P003 Cable Noire 1 kg 𝜎 𝐶𝑜𝑢𝑙𝑃 = "Rouge" ∩ 𝑃𝑜𝑖𝑑𝑠 < 5 𝑘𝑔 𝑷𝒓𝒐𝒅𝒖𝒊𝑡
P004 Peinture Rouge 10 kg NumP NomP CoulP Poids
P005 Sac Rouge 5 kg P002 Prise Rouge 2 kg
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
Exemple2 : Écris en algèbre relationnelle la requête qui permet d’afficher tous les clients qui
habitent dans la ville de Bamako ou de Ségou.
La requête :
Table : Client 𝜎 𝒗𝒊𝒍𝒍𝒆 = "Bamako" ∪ 𝒗𝒊𝒍𝒍𝒆 = "𝑆𝑒𝑔𝑜𝑢" 𝑪𝒍𝒊𝒆𝒏𝒕
Num Nom Prenom ville téléphone
Num Nom Prenom ville téléphone
1 TRAORE Issa Bamako 76847402
1 TRAORE Issa Bamako 76847402
2 KEITA Ousmane Sikasso 67849374
3 SIDIBE Aminata Segou 97838532
3 SIDIBE Aminata Segou 97838532
4 DIARRA Yaya Bamako 85593743
4 DIARRA Yaya Bamako 85893743
𝐴𝑢𝑡𝑟𝑒 𝑛𝑜𝑡𝑎𝑡𝑖𝑜𝑛 ∶ 𝝈𝑣𝑖𝑙𝑙𝑒="𝐵𝑎𝑚𝑎𝑘𝑜"𝑜𝑟 𝑣𝑖𝑙𝑙𝑒="𝑆𝑒𝑔𝑜𝑢 " (𝐶𝑙𝑖𝑒𝑛𝑡)
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
c) Jointure (⋈)
▪ La jointure de deux relations R1 et R2 est une relation R3 dont les lignes sont obtenus en
concaténant les lignes de R1 avec ceux de R2 et en ne gardant que ceux qui vérifient la
condition de liaison.
▪ 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).
La jointure de deux relations R1 et R2 est le produit cartésien des deux
relations suivi d'une restriction (condition).
Attention : si un attribut est commun aux deux relations R1 et R2, dans la relation résultante,
celui ci sera préfixé par sa table origine et présent deux fois.
Chapitre 03 : Algèbre Relationnelle
5. LES OPERATEURS RELATIONNELS
b) Jointure (⋈)
▪ La condition de sélection utilise les opérateurs de comparaison (=;<; <=; >; >=; != ), les
connecteurs logiques (et, ou, non) et les parenthèses.
▪ Lorsque le critère de sélection est l’égalité, on parle d’équi-jointure sinon on parle de Thêta-
jointure.
o Thêta-Jointure 𝜃 − 𝑗𝑜𝑖𝑛 = 𝑅1 ⋈𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 𝑅2
• Operateurs de condition : <, >, < =, > =, = !
o Equi-jointure ou Jointure naturelle : 𝑅1 ⋈ 𝑅2
• Operateur de condition : =
Chapitre 03 : Algèbre Relationnelle
Exemple01 ( Equi-Jointure) : Dans une base de données commerciale. Quels sont les clients
qui ont passé des commandes.
Client Commande
NumCl NomCl AdrCl NumCmd DateCmd NumCl
CL1 TRAORE Bamako C01 23/05/2023 CL2
CL2 TOURE Kayes C02 12/03/2022 CL4
CL3 KEITA Ségou C03 25/01/2024 CL1
CL4 SIDIBE Kidal C04 08/02/2024 CL3
𝑪𝒍𝒊𝒆𝒏𝒕 ⋈𝑪𝒍𝒊𝒆𝒏𝒕.𝑵𝒖𝒎𝑪𝒍=𝐶𝑜𝑚𝑚𝑎𝑛𝑑𝑒.𝑁𝑢𝑚𝐶𝑙 𝑪𝒐𝒎𝒎𝒂𝒏𝒅𝒆
Client.NumCl NomCl AdrCl NumCmd DateCmd Commande.NumCl
CL1 TRAORE Bamako C03 25/01/2024 CL1
CL2 TOURE Kayes C01 23/05/2023 CL2
CL3 KEITA Ségou C04 08/02/2024 CL3
CL4 SIDIBE Kidal C02 12/03/2022 CL4
Chapitre 03 : Algèbre Relationnelle
Exemple01 ( Equi-jointure): Dans une base de données commerciale. Quels sont les clients
qui on fait un achat dans la boutique (Vente).
Client Vente
NumCl Nom Prénom NumVente NumCl Ref_Prod Date
CL001 TRAORE Issa V001 CL002 RP22 20/02/2024
CL002 TOURE Adama V024 CL002 RP64 13/12/2024
CL003 KEITA Fatou V035 CL001 RP78 23/12/2024
𝑪𝒍𝒊𝒆𝒏𝒕 ⋈𝐶𝑙𝑖𝑒𝑛𝑡.𝑁𝑢𝑚𝐶𝑙=𝑉𝑒𝑛𝑡𝑒.𝑁𝑢𝑚𝐶𝑙 𝑽𝒆𝒏𝒕𝒆
Client.NumCl Nom Prénom NumVente Vente.NumCl Ref_Prod Date
CL001 TRAORE Issa V035 CL001 RP78 23/12/2024
CL002 TOURE Adama V001 CL002 RP22 20/02/2024
CL002 TOURE Adama V024 CL002 RP64 13/12/2024
Chapitre 03 : Algèbre Relationnelle
Exemple03 ( Theta-Jointure): Quels sont les clients qui n’ont pas passé des commandes le
18/02/2024 ?
Client Commande
NumCl NomCl AdrCl NumCmd DateCmd NumCl
CL1 TRAORE Bamako C01 18/02/2024 CL2
CL2 TOURE Kayes C02 12/03/2022 CL4
CL3 KEITA Ségou C03 25/01/2024 CL1
CL4 SIDIBE Kidal C04 18/02/2024 CL3
𝑪𝒍𝒊𝒆𝒏𝒕 ⋈𝑪𝒍𝒊𝒆𝒏𝒕.𝑵𝒖𝒎𝑪𝒍=𝑐𝑜𝑚𝑚𝑎𝑛𝑑𝑒.𝑁𝑢𝑚𝐶𝑙 𝑒𝑡 𝐷𝑎𝑡𝑒𝐶𝑚𝑑 !=18/02/2024 𝑪𝒐𝒎𝒎𝒂𝒏𝒅𝒆
Client.NumCl NomCl AdrCl NumCmd DateCmd Commade.NumCl
CL1 TRAORE Bamako C03 25/01/2024 CL1
CL4 SIDIBE Kidal C02 12/03/2022 CL4
Chapitre 03 : Algèbre Relationnelle
6. LES FONCTIONS D’AGRÉGATION
En algèbre relationnelle on a la possibilité d’effectuer des calculs sur les attributs ce calcule
peut être effectué :
➢ En ligne par des expressions arithmétiques ( +,-,*,/,..) sur les attributs.
➢ Ou en colonne par les fonctions agrégatives.
Exemple : A partir de cette table donne le résultat de l’expression de la relation :
𝑹 = 𝜋 𝑪𝒍𝒊𝒆𝒏𝒕,𝑷𝒓𝒐𝒅𝒖𝒊𝒕,𝑷𝒓𝒊𝒙∗ 𝑸𝒖𝒂𝒏𝒕𝒊𝒕𝒆 ( 𝑉𝐸𝑁𝑇𝐸)
VENTE
Client Produit Prix*Quantité
Client Produit Prix Quantité
Ali PC 600 000
Ali PC 300 000 2
Dramane Clavier 50 000
Dramane Clavier 10 000 5
Bintou Souris 50 000
Bintou Souris 2500 20
Chapitre 03 : Algèbre Relationnelle
6. LES FONCTIONS D’AGRÉGATION
▪ Les expressions de calcul permettent d’effectuer des opérations de calcul en ligne, sur des
attributs de relations.
▪ En pratique, il est nécessaire d’effectuer des opérations de calcul en colonnes, sur des tuples
de relations, cela par exemple afin de faire des sommes, moyennes, etc.
▪ Le concept d’agrégat permet de telles opérations
Définition : Agrégat
▪ Partitionnement horizontal d’une relation en fonction des valeurs d’un groupe d’attributs,
suivi d’un regroupement par application d’une fonction de calcul sur ensemble.
▪ Notation :
R = AGREGAT( RELATION ; ATTRIBUT1 ; FONCTION{ATTRIBUT2})
ATTRIBUT1 : est optionnel, dans ce cas, la fonction s’applique sur l’ensemble des lignes
Chapitre 03 : Algèbre Relationnelle
6. LES FONCTIONS D’AGRÉGATION
Les fonctions de calcul sur ensemble les plus souvent proposées sont :
❑ SOMME (SUM) permettant de calculer la somme des éléments d’un ensemble ;
❑ MOYENNE (AVG) permettant de calculer la moyenne des éléments d’un ensemble ;
❑ MINIMUM (MIN) permettant de sélectionner l’élément minimum d’un ensemble ;
❑ MAXIMUM (MAX) permettant de sélectionner l’élément maximum d’un ensemble ;
❑ COMPTE (COUNT) permettant de compter les éléments d’un ensemble
Chapitre 03 : Algèbre Relationnelle
6. LES FONCTIONS D’AGRÉGATION
Exemple : Soit la relation « Ecole » suivante R1=AGREGAT(École ; Filière, MOYENNE{Note})
Filière MOYENNE ( Note)
École
AP 16,75
Filière Étudiant Note
IG 11
IG Seydou 14,00
AP Bintou 15,75 R2 = AGREGAT(Ecole ; MAXIMUM{Note})
IG Adama 08,50
MAXIMUM (Note)
AP Fatoumata 17,75
17,75
IG Awa 11,50
R3 = AGREGAT(Ecole ; COMPTE{Note})
COMPT (Note)
5
QUESTIONS DE CONTROLES
Qu’est-ce que l’algèbre relationnelle ?
Quelle est la différence entre le degré d’une relation et la cardinalité d’une relation
Quel est le principale rôle de fonctions agrégation ?
Merci, fin du chapitre 03
« La mathématique est une science dangereuse : elle dévoile les supercheries
et les erreurs de calcul. »
Galilée
Astronome, Mathématicien, Physicien, Scientifique (1564 - 1642)
AP-IG TechnoLab 2024-2025