Chapitre 3 : Modèle relationnel Page 1 Sur 10
Chapitre III : Modèle relationnel
Introduction : Le modèle relationnel est créé au début des années 70 par Edgar Frank
CODD, un mathématicien de formation et chercheur chez IBM. Les produits utilisant ce
modèle ont commencé à être commercialisés vers les années 1980 et ont apporté de nouvelles
fonctionnalités qui permettent un confort d’utilisation sans précédent. Ce modèle s’impose
désormais dans les entreprises avec l'adoption de ses concepts par les systèmes commerciaux.
Ses principaux concepts sont les relations, leurs attributs, les domaines des attributs, les
enregistrements… Un de ces principaux avantages est la manipulation ensembliste des
relations par les opérateurs de l’algèbre relationnelle sur lesquels sont construits des langages
non procéduraux comme SQL (chapitre VI).
Le modèle relationnel ne manipule pas des structures de données figées, mais des valeurs :
aucun chemin d’accès n’est préalablement défini, toute manipulation de données est possible.
Ce modèle représente les informations dans des structures appelées relations.
C'est un modèle qui se base sur des fondements mathématiques tels que l'algèbre
relationnelle et la logique des prédicats.
I. Notions fondamentales
I. 1. Domaine
C’est un ensemble de valeurs (distinctes) caractérisé par un nom. Il est généralement
obtenu en ajoutant un certain nombre de contraintes à un type prédéfini. Ces contraintes
permettent d'exclure des valeurs et de ne considérer que les valeurs qui seront réellement
utilisées. Son nombre de valeurs peut être fini ou infini. Il est aussi possible de créer un
domaine en listant les valeurs qui y appartiennent.
Exemple :
Types prédéfinis : Le domaine entier, le domaine réel, le domaine booléen…
Types prédéfinis avec des contraintes supplémentaires : les réels de l'intervalle [0,
20], les entiers x tels que 50 < x < 150, …
Types énumérés :
Mention = {"Passable", "Assez Bien", "Bien", "Très Bien"} ;
Sexe = {"Masculin", "Féminin"}
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 2 Sur 10
I. 2. Attribut
Il correspond à une colonne d’une relation. Il est caractérisé par un nom et dont les valeurs
appartiennent à un domaine. Les noms des attributs d’une relation sont tous différents, mais
deux (ou plusieurs) relations différentes peuvent avoir des attributs de même nom. Par
exemple le nom et le prénom d’une personne sont des attributs de la relation Personne.
Un attribut est dit composé s'il peut être remplacé par plusieurs attributs. Par exemple,
l'adresse d'une personne peut être remplacée par les attributs Ville, Quartier, Rue,
NuméroMaison.
I. 3. Enregistrement ou N_uplet
Un enregistrement est une ligne d’une relation. Il est aussi appelé N_uplet ou tuple. C'est
un ensemble de valeurs dont chacune appartient au domaine d'un des attributs de la relation.
Exemple :
Soit la relation Chaise suivante : Chaise (Code, Matière, Hauteur, DateFabrication)
('CH001', 'Plastique', 25, '13/08/2010') et ('CH002', 'Bois', 30, '25/12/2011') sont des
enregistrements de cette relation.
Remarques : A l'exception de la clé primaire, si une contrainte ajoutée lors de la création
de la relation ne l'interdit pas :
- la valeur d'un attribut peut être omise pour un enregistrement donné :
Exemple : ('CH008', '', 30, '') est un enregistrement de la relation Chaise dont la
matière et la date de fabrication ne sont pas connues ;
- un enregistrement peut prendre la valeur NULL pour un enregistrement :
Exemple : ('CH023', 'Fer', NULL, '05/09/2012') est un enregistrement de la relation
chaise dont la hauteur n'est pas connue.
I. 4. Relation
Une relation est un sous-ensemble du produit cartésien d’une liste de domaines ayant un
nom unique dans la base. Elle est représentée par un tableau à deux dimensions dont chaque
colonne a pour titre un attribut. Ainsi, le nombre de colonnes correspond au nombre
d’attributs. Le nombre d’attributs d’une relation est appelé degré de la relation.
Un produit cartésien d’un ensemble de domaines D1, D2, D3, …, Dn noté D1xD2xD3x…Dn
est l’ensemble des enregistrements (ou tuples) (u1, u2, u3, …, un) tels que ui appartient à Di.
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 3 Sur 10
Exemple :
Le produit cartésien des deux ensembles E1 (A, B, C, D) et E2 (α, β, µ) est l’ensemble
E1xE2 ((A, α), (A, β), (A, µ), (B, α), (B, β), (B, µ), (C, α), (C, β), (C, µ), (D, α), (D, β), (D,
µ)).
I. 5. Formes normales
I. 5. 1. Clé candidate
Une clé candidate d’une relation est un sous-ensemble de son ensemble d’attributs dont
les valeurs identifient à coup sûr un enregistrement et un seul.
Chaque relation a au moins une clé candidate et peut en avoir plusieurs. Les clés
candidates ne sont pas forcément composées du même nombre d’attributs. Deux
enregistrements différents ne peuvent pas avoir les mêmes valeurs pour une clé candidate
donnée.
I. 5. 2. Clé primaire
La clé primaire d’une relation est une de ses clés candidates. Le concepteur de la base
choisit une des clés candidates comme clé primaire de la relation. La clé candidate choisie
doit être parmi celles composées du plus petit nombre d'attributs.
Une clé primaire permet de différentier les enregistrements d'une relation mais aussi
d'éviter qu'un enregistrement puisse être dupliqué.
I. 5. 3. Clé étrangère
Une clé étrangère d’une relation R1 est la clé primaire d’une relation R2 qui a migré vers
R1 lors du passage du modèle entité/association au modèle relationnel. Elle permet d'établir
les liaisons entre les enregistrements et particulièrement le fait qu'un enregistrement dépende
d'un autre. La clé étrangère doit avoir le même domaine (même type de base, même taille,
etc.) que la clé primaire dont elle fait référence.
I. 5. 4. Dépendance fonctionnelle élémentaire
On dit qu'une dépendance fonctionnelle est élémentaire si la source ne contient pas
d'attributs superflus. On ne parle de DF élémentaire que lorsque la source de la DF contient
plus d'un attribut.
Exemple :
La DF A, B C telle que la DF B C existe n’est pas élémentaire car A est superflus.
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 4 Sur 10
I. 5. 5. Dépendance fonctionnelle directe
On dit que la dépendance fonctionnelle A -> B est directe s'il n'existe aucun attribut C tel
que l'on puisse avoir A -> C et C -> B. En d'autres termes, cela signifie que la dépendance
entre A et B ne peut pas être obtenue par transitivité.
I. 5. 6. Les formes normales
a. Première forme normale : Une relation respecte la première forme normale notée
(1FN) si elle n’a que des attributs simples (non multiples, non composés).
b. Deuxième forme normale : Une relation respecte la deuxième forme normale notée
(2FN) si :
- elle est en 1FN ;
- toutes les DF entre la clé primaire et les autres attributs sont élémentaires.
c. Troisième forme normale : Une relation respecte la troisième forme normale notée
(3FN) si :
- elle est en 2FN ;
- toutes les DF entre la clé primaire et les autres attributs sont directes.
I. 5. 7. Normalisation d’une base de données
Pour optimiser une base de données, nous avons besoin de normaliser son modèle
relationnel. Une relation est normalisée si elle respecte la troisième forme normale. Une base
de données est normalisée si toutes ses relations sont normalisées. La normalisation d'un
modèle a pour but de :
- limiter les redondances de données ;
- limiter les pertes de données ;
- éliminer les incohérences ;
- améliorer les performances des traitements.
II. Schéma et instance de la base de données
II. 1. Schéma d’une base de données
Le schéma d’une relation est sa représentation logique à l’aide du modèle relationnel. Il
est composé de son nom suivi du nom de ses attributs et de leur domaine : R1 (A1 : D1, A2 :
D2, A3 : D3, …, An : Dn). L’ensemble des schémas des relations forme le schéma de la base de
données.
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 5 Sur 10
II. 2. Instance d’une base de données
L'instance d'une relation à un instant donné est l'ensemble des enregistrements qu’elle
contient à cet instant. L’instance d’une base de données à un instant donné correspond à
l'ensemble des instances de ses relations à cet instant. C'est le contenu de la base à l'instant
considéré.
III. Passage du modèle entité/association au modèle relationnel
Le passage du modèle entité/association au modèle relationnel suit un certain nombre de
règles portant pour la plupart sur les cardinalités des associations. Cependant il faut d’abord
normaliser le modèle entité/association avant de passer au modèle relationnel.
III. 1. Règles de transformation des entités
R1 : Pour chaque entité indépendante E on crée une relation R dont le schéma est celui de
l'entité. L’identifiant de E devient la clé primaire de R.
R2 : Pour chaque entité faible E, on crée une relation R qui regroupe tous ses attributs ainsi
que la clé primaire de la relation représentant l'entité forte associée qui participe à la clé
primaire de la relation R représentant l'entité faible.
Exemple :
Bâtiment Salle
NumBat NumSalle
NomBat Capacité
Lieu Type
NbSalle Climatisée
Entité forte Entité faible
Bâtiment (NumBat, NomBat, NbSalle, Lieu)
Salle (NumSalle, Capacité, Type, Climatisation, NumBat)
R3 : Dans le cas de généralisation-spécialisation, il y a plusieurs manières de procéder :
1. Méthode 1 : Dans le cas d'une spécialisation incomplète, l'entité générale E est
représentée par une relation R, chaque entité spécialisée Ei est représentée par une
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 6 Sur 10
relation Ri. Les relations Ri représentant les entités spécialisées prennent la clé
primaire de celle représentant l'entité générale et en font leur la clé primaire.
2. Méthode 2 : Dans le cas d'une spécialisation complète, les entités spécialisées Ei sont
représentées chacune par une relation Ri contenant les attributs spécifiques de l'entité
Ei et tous les attributs de l'entité générale. L'identifiant de l'entité générale devient la
clé primaire de chaque relation Ri. Dans ce cas, l'entité générale ne sera pas
représentée par une relation dans le modèle relationnel.
Exemple :
Méthode 1 :
Personne (NCI, Nom, Prénom, Qualification)
Travailleur (NCI, Salaire, Expérience)
Chômeur (NCI, Diplôme, Stage)
Méthode 2 :
Travailleur (NCI, Nom, Prénom, Qualification, Salaire, Expérience)
Chômeur (NCI, Nom, Prénom, Qualification, Diplôme, Stage)
Personne
NCI
Nom
Prénom
Qualification
Is a
Travailleur Chômeur
Salaire Diplôme
Expérience Stage
Remarque : Si une entité n’a qu’un attribut (sa clé), on peut ne pas en faire une relation
lors du passage du modèle entité/association vers le modèle relationnel.
III. 2. Règles de transformation des associations
R1 : Pour chaque association binaire A entre les entités E et F (représentées par R E et RF
respectivement) telle que la cardinalité est de (1, 1) dans les deux sens :
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 7 Sur 10
- Méthode 1 : Chaque entité (E et F) devient relation ainsi que l'association A les
reliant. Dans ce cas, la relation représentant l'association A héritera des clés primaires
des deux relations représentant E et F, qui composeront sa clé primaire, en plus de ses
propres attributs éventuels ;
- Méthode 2 : Une des deux relations représentant les entités reliées par l'association
prend la clé primaire de l’autre comme clé étrangère et les attributs éventuels de
l'association. Alors, l'association ne sera pas représentée par une relation.
Exemple :
Voiture Chauffeur
Matricule ID_Chauf
Marque 1, 1 PasserPermis 1, 1 Prénom
Modèle Année
Nom
Année Adresse
Sexe
1ère méthode :
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)
Voiture (Matricule, Marque, Modèle, Année)
PasserPermis (#Id_Chauf, #Matricule, Année)
2ème méthode :
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe, #Matricule, Année)
Voiture (Matricule, Marque, Modèle, Année)
Ou
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)
Voiture (Matricule, Marque, Modèle, Année, #Id_Chauf, AnnéePermis)
Remarque :
Il est aussi possible de les fusionner pour n’en faire qu’une seule relation qui regroupera
donc tous les attributs des deux entités ainsi que les attributs éventuels de l’association.
R2 : Pour chaque association binaire A entre E et F (représentées par RE et RF respectivement)
ayant la cardinalité (1, 1) du coté E et une cardinalité différente de (1, 1) du coté F, on inclut
dans RE la clé primaire de la relation RF comme clé étrangère, ainsi que les attributs éventuels
de l’association A.
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 8 Sur 10
Exemple :
Voiture Chauffeur
Matricule ID_Chauf
1, 1 PasserPermis 1, n
Marque Prénom
Année
Modèle Nom
Année Adresse
Sexe
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)
Voiture (Matricule, Marque, Modèle, Année, Id_Chauf, AnnéePermis)
R3 : Pour chaque association binaire A entre E et F ayant des cardinalités différentes de (1, 1)
des deux côtés, on crée les relations RE et RF qui représentent respectivement E et F en plus
d’une relation RA qui représente A. On met dans RA les clés primaires des relations RE et RF
ainsi que les attributs éventuels de A. L’identifiant de RA est la concaténation des clés
primaires de RE et RF. La relation RA est appelée relation d'association.
Exemple :
Voiture Chauffeur
Matricule ID_Chauf
0, n Louer 1, m
Marque Prénom
Prix
Modèle Nom
Année Adresse
Sexe
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)
Voiture (Matricule, Marque, Modèle, Année)
Louer (Id_Chauf, Matricule, Prix)
Remarque :
Quand une association porteuse devient relation, il arrive souvent qu'un ou plusieurs de
ses attributs participent à sa clé primaire en plus des clés étrangères héritées des entités qu'elle
relie.
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 9 Sur 10
Exemple :
Baigneur
Plage
Numéro
1, n PrendreBain 1, m NomP
Nom
Date Région
Prénom
Durée Pollution
Qualité
Baigneur(Numéro, Nom, Prénom, Qualité)
Plage(NomP, Région, Pollution)
PrendreBain(#Numéro, #NomP, Date, Durée)
R4 : Transformation des associations récursives : Une association récursive (réflexive) est
une association binaire particulière. Cependant, sa transformation se fait en utilisant les
mêmes règles que les associations binaires simples.
Exemple :
Pièce
1, n
Nom
Pièce (Nom, Version, Matière, Dimension)
Version
FaitDe FaitDe (#Nom, #Version, #NomP, #VersionP)
Matière
0, n
Dimension
Pièce
1, n
Nom
Version
Composer
Matière 1, 1
Dimension
Pièce (Nom, Version, Matière, Dimension, #NomC, #VersionC)
R5 : Transformation des associations n-aires : Une association n-aire (n>=3) est souvent
représentée par une relation dans le modèle relationnel. Cependant, dans le cadre général, la
transformation d'une telle association se fait de la même manière que les associations binaires.
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016
Chapitre 3 : Modèle relationnel Page 10 Sur 10
IV. Règles d’intégrité
IV. 1. Règles d’intégrité structurelles
Les règles d’intégrité structurelles sont des assertions que doivent respecter le schéma et
l’instance d'une base de données. Elles sont imposées par la méthode MERISE.
IV. 1. 1. Unicité des clés
Une relation est par définition un ensemble d'enregistrements sans doublon. Pour éviter
d’avoir deux enregistrements similaires, on introduit la notion de clé primaire qui est composé
d'un ou de plusieurs d’attributs pour lequel (lesquels) deux enregistrements différents ne
peuvent pas prendre la même valeur.
IV. 1. 2. Contrainte de domaine
Les valeurs possibles d'un attribut sont restreintes à un ensemble de valeurs prédéfinies
appelé domaine.
IV. 1. 3. Contrainte d'intégrité référentielle
Pour maintenir la liaison qu’a deux entités dans le modèle entité/association, on crée les
contraintes d’intégrité référentielles dans le modèle relationnel. La contrainte d’intégrité
référentielle est celle qui relie deux relations dont l’une a pris la clé primaire de l’autre
comme clé étrangère lors du passage du modèle entité/association au modèle relationnelle.
IV. 1. 4. Valeurs nulles et clé
La valeur NULL est une valeur conventionnelle introduite dans une relation pour
représenter une information inconnue ou inapplicable. Elle permet donc de résoudre le
problème des attributs facultatifs du modèle entité/association. Si l’administrateur de la base
ne l’interdit pas pour un attribut, cette valeur peut être prise par tout attribut quel que soit son
domaine à l'exception de la clé primaire.
Sa notation est : NULL
IV. 2. Règles provenant du cahier des charges
Les règles de gestion du système étudié peuvent introduire de nouvelles contraintes que
les données doivent respecter. Ces contraintes sont spécifiques au système étudié et chaque
système peut en avoir plusieurs. Elles sont mentionnées dans le cahier des charges.
Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016