Introduction au modèle relationnel des bases de données
Introduction au modèle relationnel des bases de données
1. Introduction
Nous avons déjà mentionné qu’il existe trois grandes catégories de modèles de données : le modèle
réseau, le modèle hiérarchique et le modèle relationnel. Les deux premiers sont de plus en plus
abandonnés actuellement.
Le modèle relationnel a été inventé par CODD à IBM-San Jose en 1970. Il est basé sur la théorie de
la relation et de la normalisation des relations.
Notion de Domaine
Ensemble de valeurs caractérisées par un nom.
A titre d’exemple, on peut considérer le domaine des entiers, celui des réels, celui des valeurs
logiques {vrai, faux}, celui des jours de la semaine {samedi, dimanche, lundi, mardi, mercredi,
jeudi, vendredi}, celui des couleurs du drapeau algérien {rouge, vert, blanc}…etc.
Rappelons que le produit cartésien d’un ensemble de domaines D1, D2, ….,Dn, noté
D1xD2x….xDn, est l’ensemble des tuples <v1, v2, …..,vn> tels que vi ∈ Di.
C’est à dire c’est la totalité des combinaisons possibles que l’on peut tirer de ces domaines.
Par exemple, le produit cartésien des domaines pays={Algérie, France, Espagne} et
capitale={Alger, Paris, Madrid} est composé des tuples suivants :
Algérie Alger
Algérie Paris
Algérie Madrid
France Alger
France Paris
France Madrid
Espagne Alger
Espagne Paris
Espagne Madrid
Notion de relation
sous-ensemble du produit cartésien d’une liste de domaines
Une relation est généralement caractérisée par un nom.
UB Bendjima M. Page:-13-
Bases de données Cours Modèle relationnel
Plus simplement, une relation peut être vue comme un tableau à deux dimensions dont les
colonnes correspondent aux domaines et les lignes contiennent les tuples. On parle parfois de
table relationnelle.
Notion d’attribut
C’est une colonne d’une relation caractérisée par un nom
On parle parfois de constituant ou composant
Par exemple, une relation décrivant des voitures et comportant les attributs : N°V, marque, type,
puissance, couleur, aura pour schéma :
VOITURE(N°V, marque, type, puissance, couleur)
A toute relation, il est possible d’associer un schéma de relation qui représente l’intention de la
relation, alors que le tableau avec les tuples représente une extension.
A titre d’exemple, soit des données modélisant des entités ‘personne’ et ‘voiture’, et le type
d’association ‘possede’ qui traduit le fait qu’une personne soit propriétaire d’une ou plusieurs
voitures. Une personne est caractérisée par un numéro de sécurité sociale (N°SS), un nom et un
prénom alors qu’une voiture est caractérisée par les propriétés déjà vues N°V, marque, type,
puissance, et couleur. Chaque personne est identifiée par une occurrence du N°SS alors que chaque
voiture est identifiée par son N°V. A chaque occurrence d’association correspond par exemple une
date d’achat (date) et un prix d’achat (prix). La figure.III.1illustre la partie du monde réel modélisé
par le modèle E/A en représentant une entité avec leurs propriétés par un rectangle, une association
avec leurs propriétés par un hexagone.
UB Bendjima M. Page:-14-
Bases de données Cours Modèle relationnel
(1 , n) (1 , 1)
PERSONNE POSSEDE VOITURE
N°SS N°V
- date
Nom marque
- prix
prénom type
puissance
couleur
A titre d’exemple :
C1 C2
- r1
a11 a21
- r2
a12 a22
. .
. .
. .
UB Bendjima M. Page:-15-
Bases de données Cours Modèle relationnel
b) autre relation : Pour les autres relations, la clé d’une telle relation est composée de
l’ensemble des identifiants des entités qui participent à l’association du formalisme individuel.
Entité 2
0, n
C2
Entité 1
0, n A21
A22
R .
C1 .
a11
r1
a12
r2 0, n
.
. Entité 3
C3
a31
a32
.
.
N°V Marque Type Puissance Couleur N°SS Nom Prénom Date Prix
342.185 Peugeot 406 9 Verte 100 Omari Med 12-12-88 400000DA
155.188 Renault R12 6 Grise 150 Hamidi Rafik 25-05-89 300000DA
226.186 Renault R19 9 Rouge 100 Omari Med 19-04-90 600000DA
145.187 Renault R21 9 Jaune 150 Hamidi Rafik 19-05-88 500000DA
697.188 Peugeot 305 9 Verte 200 Saleh Ahmed 10-10-89 450000DA
En résumé, une relation qui ne représente pas de vraies entités ou associations semble donc souffrir
de présence de données redondantes et d’incohérences potentielles et nécessite le codage de valeurs
nulles. Il y a tout intérêt à éliminer ces anomalies afin de faciliter la manipulation des relations.
UB Bendjima M. Page:-16-
Bases de données Cours Modèle relationnel
Algorithme
de
décomposition
La projection est l’opération qui consiste à supprimer des attributs d’une relation et à éliminer les
tuples en double qui risquent d’apparaître dans la nouvelle relation obtenue. La projection de la
relation R de schéma R(A1, A2, …..,An) sur les attributs A1, A2, …..,Ap est une relation R’ de
schéma R’(A1, A2, …..,Ap) obtenue par élimination des attributs de R n’appartenant pas à R’ et
suppression des tuples en doubles.
Une telle projection R’ sera notée : R’= Π (A1, A2, …..,Ap )[R]
Par exemple, la projection de la relation propriétaire sur les attributs nom et prénom donne la
relation suivante :
UB Bendjima M. Page:-17-
Bases de données Cours Modèle relationnel
Π B1, B2,…,Bp(T)=S
L’exemple suivant fait la jointure de deux relations R et S :
Notion de décomposition
Un schéma de relation R(A1, A2, ….An) est convenablement décomposée en une collection de
relations R1, R2,…,Rp, obtenues par des projections de R ,si la jointure R1 R2 ... …. Rp ait
même schéma que R.
Par suite, lors d’une décomposition, le schéma de relation R(A1, A2, ….An) est remplacé par une
collection de schémas dont l’union des attributs est (A1, A2, ….An). Il est important que la
décomposition se fasse sans perte d’informations.
C’est à dire, après la décomposition de relation R en une collection de relations R1, R2,…,Rp,
si la jointure R1 R2 …. Rp donne la même extension que R on dit que la décomposition
sans perte, sinon, si donne seulement les mêmes attributs en dits que c’est une décomposition.
Le problème de la conception des bases de données relationnelles peut donc être vu comme celui de
décomposer la relation universelle composée de tous les attributs en sous-relations ne souffrant pas
des anomalies (vues au précédent) et de sorte à obtenir une décomposition sans perte. Nous allons
ci-dessous étudier les principales méthodes proposées pour effectuer une telle décomposition qui
doit permettre de déterminer des entités et associations canoniques du monde réel, donc en fait de
construire un schéma conceptuel.
Dans une relation, un attribut B dépend fonctionnellement d’un attribut A, si pour une valeur de A,
il ne peut exister, qu’une valeur de B.
UB Bendjima M. Page:-18-
Bases de données Cours Modèle relationnel
Il est très important de remarquer qu’une dépendance fonctionnelle (DF) doit être vraie sur toutes
les valeurs possibles et non sur les valeurs actuelles. Autrement dit, il est impossible de déduire les
DF d’une réalisation particulière d’une relation. La seule manière de déterminer une DF est de
regarder soigneusement ce que signifient les attributs car ce sont les déductions sur le monde réel
qui lient les valeurs possibles des attributs entre elles. Les DF doivent être décelées par le
concepteur au niveau du schéma conceptuel.
3. Transitivité : X → Y et Y → Z ⇒ X → Z
Les trois règles précédentes composent les axiomes des DF. Plusieurs autres règles se déduisent des
axiomes :
4. Union : X → Y et X → Z ⇒ X → YZ
5. Pseudo-transitivité : X → Y et WY → Z ⇒ WX → Z
6. Décomposition : X → Y et Z ⊆ Y ⇒ X → Z
La seule règle d’inférence qui s’applique aux dépendances fonctionnelles élémentaires est la
transitivité.
UB Bendjima M. Page:-19-
Bases de données Cours Modèle relationnel
Par exemple, considérons les dépendances fonctionnelles entre les attributs de la relation
VOITURE :
N°V
type couleur
marque puissance
Autre exemple : soit la relation suivante code_postal(code, ville, rue), comportant les DF suivantes :
(ville, rue) → code
code → ville
le graphe de ces dépendances fonctionnelles est représenté par la figure suivante :
ville rue
code
UB Bendjima M. Page:-20-
Bases de données Cours Modèle relationnel
N°V
type couleur
marque puissance
La couverture minimale est essentielle pour décomposer les relations sans perte d’informations.
En clair, une clé est un ensemble minimum d’attributs qui détermine tous les autres. Par exemple,
N°V est une clé de la relation voiture alors que (N°V, type) n’est pas une clé.
Il peut y avoir plusieurs clés pour une relation, on les appelle clés candidates, parmi elles, l’une sera
choisie pour être la clé primaire, les autres clés candidates sont des clés secondaires.
UB Bendjima M. Page:-21-
Bases de données Cours Modèle relationnel
Notons qu’en arrivant au stade du MCD validé dans la méthode de merise, ce dernier est en
2èmeforme normale d’après les règles de la normalisation au niveau du MCD brut. Mais, il reste
la 3èmeforme normale malgré qu’il en existe cinq formes normales, nous ne intéressons pas dans
ce qui suit aux 4èmeforme normale et 5èmeforme normale.
Notons aussi que si une table relationnelle doit être en 3èmeforme normale, il faudrait qu’elle soit
en 1èreforme normale et 2èmeforme normale.
La première forme normale permet simplement d’obtenir des valeurs d’attributs non décomposable.
Notion de première forme normale (1FN)
Une relation est en première forme normale, si tout attribut contient une valeur atomique.
Cette forme normale consiste simplement à éviter les domaines composés de plusieurs valeurs. Par
exemple, la relation personne(nom, prénom) sera ainsi décomposée en personne1(nom, prenom1) et
personne2(nom, prenom2).
La troisième forme normale permet d’assurer l’élimination des redondances dues aux dépendances
transitives.
Notion de troisième forme normale (3FN)
Une relation est en troisième forme normale, si et seulement si :
1-elle est en deuxième forme normale
2-tout attributs n’appartenant pas à une clé ne dépendent pas d’un attribut non clé.
n’est pas en troisième forme normale. En effet, l’attribut non clé type détermine marque et aussi
puissance. Cette relation peut être décomposée en deux relations :
VOITURE(N°V, type, couleur)
MODELE(type, marque, puissance)
UB Bendjima M. Page:-22-
Bases de données Cours Modèle relationnel
D’où l’importance de la troisième forme normale. En effet, toute relation a au moins une
décomposition en troisième forme normale telle que :
1-la décomposition préserve les DF
2-la décomposition est sans perte
cette décomposition peut ne pas être unique
DF
Algorithme de Relation décomposée
décomposition en3FN
attributs
Le principe d’un tel algorithme consiste à partir d’une couverture minimale des DF, puis à éditer
ensemble les attributs isolés dans une relation dont tous les attributs sont clés. Ensuite, on recherche
le plus grand ensemble X d’attributs qui détermine d’autres attributs A1, A2, ….,An et l’on sort la
relation (X, A1, A2, ….,An). Une telle relation de cl é X est bien en 3FN, les DF
X → A1, A2, ….,An sont alors éliminés de la couverture minimale, ainsi que les attributs isolés (non
source ou cible de DF) de l’ensemble des attributs.
UB Bendjima M. Page:-23-