Bases de données - Modèle relationnel - Opérations de base
Opérations de base
Une opération de base est définie par le fait qu'elle ne peut être
réalisée par combinaison d'autres opérations. Il existe 5 opérations
élémentaires pouvant être classées en deux catégories :
- Les opérations unaires: elles consistent à éliminer des lignes
ou des colonnes de la table
- les opérations ensemblistes: elles consistent à effectuer un recoupement
entre plusieurs tables
Opérations unaires
Projection
L'opérateur projection consiste à créer une table à partir d'une autre
en ne gardant que les colonnes spécifiées dans la projection. On note une projection :
projX1,X2,...,XN(R)
Où
X1,X2, ..., XN représentent les colonnes que l'on garde
Restriction (ou sélection)
L'opérateur restriction consiste à créer une table à partir d'une autre
en ne gardant que les lignes pour lesquelles une colonne vérifie certaines propriétés.
On note une restriction :
selectQ(R)
Où
Q représente la
qualification, c'est-à-dire la condition à réaliser
Opérations ensemblistes
Union
L'union de deux tables est la table contenant l'ensemble des tuples (cellules)
appartenant à l'une ou l'autre des tables (ou les deux). Les deux tables
opérandes doivent être de même schéma, c'est-à-dire
que les attributs de la table (colonnes) doivent être les mêmes.
On note l'union entre deux tables R1 et R2 :
union(R1,R2)
ou encore
R1 U R2
Différence
La différence entre deux tables est la table contenant l'ensemble des tuples (cellules)
appartenant à une table mais pas à la seconde. Les deux tables
opérandes doivent être de même schéma, c'est-à-dire
que les attributs de la table (colonnes) doivent être les mêmes.
On note la différence entre deux tables R1 et R2 :
minus(R1,R2)
ou encore
R1 - R2
Produit cartésien
Le produit cartésien de deux tables est la table contenant la concaténation
de l'ensemble des tuples d'une ligne d'une table à ceux de l'autre table, et ce pour
chaque ligne. Les deux tables
opérandes n'ont pas nécessairement le même schéma
On note le produit cartésien de deux tables R1 et R2 :
product(R1,R2)
ou encore
R1 * R2