Académique Documents
Professionnel Documents
Culture Documents
Le modèle relationnel est basé sur une organisation des données sous forme de tables. La manipulation
des données se fait selon le concept mathématique de relation de la théorie des ensembles, c'est-à-dire
l'algèbre relationnelle. L'algèbre relationnelle a été inventée en 1970 par E.F. Codd, le directeur de
recherche du centre IBM de San José. Elle est constituée d'un ensemble d'opérations formelles sur les
relations. Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir
d'opérations élémentaires sur d'autres tables (par exemple l'union, l'intersection, ou encore la
différence).
la notion de domaine
la notion de produit cartésien
La notion de domaine
Un domaine est un ensemble fini ou infini de valeurs. On le représente par une liste d'éléments ou bien
une condition nécessaire et suffisante d'appartenance :
La manipulation des données (sélection de valeurs) se fait suivant la notion mathématique de produit
cartésien.
Modélisation relationnelle
On appelle attributs le nom des colonnes qui représentent les constituants de l'entité. Un attribut (une
colonne) est repéré par un nom et un domaine de définition, c'est-à-dire l'ensemble des valeurs qu'il
peut prendre.
On appelle tuple (ou n-uplet) une ligne du tableau.
La marque
Le modèle
La série
La plaque minéralogique
La cardinalité d'une relation est le nombre de tuples qui la composent. Dans l'exemple ci-dessus la
cardinalité est égale à 3.
La clé principale d'une relation est l'attribut, ou l'ensemble d'attributs, permettant de désigner de façon
unique un tuple. Dans l'exemple ci-dessus, le numéro de la plaque minéralogique est une clé principale
dans la mesure où la seule connaissance de cet attribut permet de connaître la voiture.
Une clé étrangère, par contre, est une clé (donc un attribut permettant d'identifier de façon unique un
tuple) faisant référence à une clé appartenant à une autre table.
La description d'une relation (d'une table) par ses attributs (nom et domaine) est appelée schéma d'une
relation. On désigne par le terme schéma d'une base de données relationnelle l'ensemble des relations
qui la composent.
La manipulation des éléments de la table se fait à l'aide d'opérations sur les ensembles. On définit deux
types d'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
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
Opérations dérivées
A partir des opérations de base de nombreuses opérations très utiles peuvent être définies. En voici
quelques unes :
Intersection
L'intersection entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant aux
deux tables. 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'intersection entre deux tables R1 et R2 :
inter(R1,R2)
ou encore
R1 R2
Cet opérateur peut être décrit à l'aide d'opérateurs de base :
R1 R2 = R1 - (R1 - R2)
Quotient (ou division)
Le quotient de deux tables est la table contenant l'ensemble des tuples (cellules) qui concaténés à
chaque tuple de l'une des tables fournissent des tuples appartenant à l'autre On note le quotient de deux
tables R1 et R2 :
div(R1,R2)
ou encore
R1/R2
θ-jointure
On appelle θ-jointure selon une qualification Q l'ensemble des tuples provenant du produit cartésien de
deux relations et satisfaisant la qualification, c'est-à-dire la condition exprimée à l'aide des
comparateurs :
≥
≤
>
<
=
≠
¬
On note la θ-jointure de deux tables R1 et R2 :
joinQ(R1,R2)
ou encore
(R1 Q)R2
L'équi-jointure est une θ-jointure dont la qualification est une égalité entre deux colonnes
La jointure naturelle est une équi-jointure sur des attributs de même nom associée à une projection.
Elle se note R1 R2
Opérations calculatoires
Les opérateurs de calcul ne sont pas des opérations dérivées dans la mesure où ils ne peuvent pas être
exprimés à l'aide des opérateurs de base. Ils permettent néanmoins de faire des opérations très utiles
(parfois nécessaires) que les autres opérateurs ne peuvent pas réaliser.
Opérateur Somme
Cet opérateur permet de faire la somme cumulée des valeurs que l'attribut X prend pour une liste
d'attributs appelés attributs de regroupement. Les valeurs de X doivent bien évidemment être
numériques. Lorsqu'aucun attribut de regroupement n'est précisé, l'opérateur Somme renvoie la somme
des valeurs de la colonne.
SommeX1,X2,...,Xn(R,X)
ou avec la notation anglaise
SumX1,X2,...,Xn(R,X)
Opérateur de comptage
Cet opérateur permet de compter le nombre de lignes pour lesquelles l'attribut fait partie d'une liste
d'attributs appelés attributs de regroupement. Lorsqu'aucun attribut de regroupement n'est précisé
l'opérateur compte le nombre de tuples de la colonne.
CompteX1,X2,...,Xn(R,X)
ou avec la notation anglaise
CountX1,X2,...,Xn(R,X)