Algèbre relationnelle
Définition Algèbre relationnelle
Algèbre = ensemble d’opérateurs de base, formellement définis, pouvant être combinés pour
construire des expressions algébriques
Algèbre fermée : si le résultat de tout opérateur est du même type que les opérandes (ce qui est
indispensable pour construire des expressions)
Complétude : toute manipulation pouvant être souhaitée par les utilisateurs devrait pouvoir être
exprimable par une expression algébrique
Algèbre Relationnelle
Opérations “relationnelles” :
une opération prend en entrée une ou deux relations (ensembles de n-uplets) de la base de
données
le résultat est toujours une relation (un ensemble)
5 opérations de base :
opérations unaires : sélection, projection, renommage
opérations binaires : union, différence, produit cartésien
Autres opérations qui s’expriment en fonction des 5 opérations de base : jointure, intersection et
division
Opérations de base :
union ∪
intersection ∩
différence −
produit cartésien ×
Opérations spécifiques :
sélection/restriction σ
projection π
jointures
renommage α
Opérations dérivées division ÷ jointure externe complément ¬ fermeture transitive τ
Opérations unaires : Projection 𝝅
Il s’agit d’éliminer un ensemble d’attributs
𝜋 A1,A2,...,Ak (R)
A1…Ak sont les attributs choisis dans la relation R
Les autres attributs sont éliminés
R 𝜋 R’
Opérations unaires : Selection
Sélection avec une condition C sur les attributs d’une relation R: on garde les n-uplets de R dont les
attributs satisfont C.
σC(R)
1
Exemple : σ Ville = « Sfax »(R)
R σ R’
σA=B(R) : on affiche seulement les lignes où les colonnes A et B sont identiques
La condition C d’une sélection σC (R) est une formule logique qui relie des termes de la forme Ai θ Aj
ou Ai θ a avec les connecteurs logiques et (∧) et ou (∨) où :
Ai et Aj sont des attributs de la relation R,
a est un élément (une valeur) du domaine de Ai,
θ est un prédicat de comparaison (=, <, ≤, >, ≥, ≠).
Opérations binaires: Produit cartésien
Notée : R × S
2 relations quelconques : R(A1, A2,..., An) S(B1, B2,..., Bk )
Schéma de T = R × S : T(A1, A2,..., An, B1, B2,..., Bk ).
Les valeurs de T = R × S : ensemble de tous les n-uplets ayant n + k attributs dont les n premiers
forment un n-uplet de R et les k derniers forment un n-uplet de S
Opérations unaires : Renommage
Le renommage d’une table R permet d’obtenir une table R’ dont les tuples sont ceux de R et dont le
schéma est celui de R dans lequel un attribut a été renommé :
R’ = α [nom_attribut : nouveau_nom] R
R’ = (α [n, m] R) est le même que le schéma (R) avec n renommé en m
Exemple : NouveauFruit= (α [Nom, NomFruit] R)
Opérations binaires: Jointure
La jointure de 2 tables R et S est une table T obtenue :
réaliser le produit cartésien des 2 tables R et S
effectuer une opération de sélection entre un attribut de la table R et un attribut de la table S
appelés "attributs de jointure"
effectuer ou non une opération de projection pour réduire le schéma de la table résultante
Remarques:
elle réalise une concaténation de tables limitée à des occurrences de tables présentant des
valeurs communes sur des attributs de jointure
elle matérialise le lien entre plusieurs tables ou la fusion de plusieurs tables
la sélection ou "opérateur de jointure" est généralement l'égalité, mais peut être étendu à des
opérateurs logiques quelconques.
elle peut s'effectuer sur tout attribut, sans préjuger de la pertinence sémantique
La jointure de 2 tables R et S selon une condition θ consiste à former une troisième table T qui contient
tous les tuples obtenus en concaténant un tuple de R et un tuple de S vérifiant la condition θ :
la condition de rapprochement θ est du type : <attribut1> <Operateur> <attribut2>
attribut1 appartient à R et attribut2 à S
selon l’opérateur = : équi-jointure
2
{<, >, ≤, ≥, ≠} : inéqui-jointure ou théta-jointure
Jointure naturelle
La jointure naturelle de 2 tables R et S est une table T dont les attributs sont l’union des attributs de
R et de S et dont les tuples sont obtenus en concaténant un tuple de R et un tuple de S ayant mêmes
valeurs pour les attributs de même nom.
Si les attributs de jointure ont des noms différents dans les 2 relations equi-jointure
Nonequi-jointure ou θ jointure
L’inéqui-jointure ou théta-jointure de 2 tables R et S selon une condition de rapprochement C (ou
inégalité) portant entre un attribut de R et un attribut de S est une table T dont les attributs sont l’union
des attributs de R et de S et dont les tuples sont obtenus en concaténant un tuple de R et un tuple de
S qui respectent la condition C
Jointure externe
La jointure externe de 2 tables R et S est une table T obtenue par jointure de R et S et ajout des tuples
de R et de S ne participant pas à la jointure avec des valeurs nulles pour les attributs
de l’autre table
Permet d’afficher même les lignes qui ne participent pas à la jointure
Permet de ne pas perdre d’information
Opérations ensemblistes
Les opérations binaires ∪ et ∩ et − : correspondant aux opérations habituelles de la théorie des
ensembles
ne peuvent être appliquées que sur des tables de même schéma
donnent une nouvelle table de même schéma
R ∪ S : {t / t ∈ R ∨ t ∈ S}
R ∩ S : {t / t ∈ R ∧ t ∈ S}
R−S : {t/ t ∈ R ∧ t ∈ S}
Division
Notée : R ÷ S
Relations R(A1, … An) et S (X1…Xj)
Tous les attributs de S sont des attributs de R
R÷ S = {(a1,..,an) | ∀(x1,..,xj ) ∈ S : (a1,.., an, x1,.., xj ) ∈ R}