Chapitre 3 Le Modele Relationnel
Chapitre 3 Le Modele Relationnel
Chapitre 3 Le Modele Relationnel
Objectifs
Comprendre les concepts de base du modèle relationnel (domaine, relation, schéma, clé
primaire, clé étrangère...)
Maîtriser les règles de passage du modèle E/A au modèle relationnel
Etablir, à partir du modèle E/A, le modèle relationnel correspondant
Eléments de contenu
I. Introduction
II. Concepts de base
1. Domaine
2. Attribut
3. Relation
4. Représentation d’une relation
5. Schéma de relation /Contraintes d’intégrité
6. Clé d’une relation
7. Clé étrangère
8. Schéma de base de données relationnelle
III. Passage du modèle E/A au modèle relationnel
I- Introduction
Le modèle relationnel a été proposé par Codd au début des années 70, avec comme objectif
essentiel l’accroissement de l’indépendance des programmes vis-à-vis de la représentation des
données.
2- Attribut
Un attribut est une variable prenant ses valeurs dans un domaine.
Exemple :
Domaine (Nom)= {chaîne de caractères}
Domaine (jour)= {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche}
3- Relation
Une relation n-aire sur les attributs A1, A2,..., An, de domaines respectifs D1, D2,..., Dn, est un sous-
ensemble du produit cartésien des domaines D1, D2,..., Dn.
Chaque tuple est unique. Les duplications ne sont pas autorisées. L’ordre des tuples est indifférent.
Exemple:
Relation Client
NumCl NomCl AdrCl
Cl1 Ali Tunis
Cl2 Mohamed Mahdia
Cl3 Salah Sousse
Exemple:
Le schéma de Client (voir exemple paragraphe précédent) est R = (NumCl, NomCl, AdrCl).
On pourra parfois attacher à une relation un ensemble P de propriétés que doit vérifier chacun de
ses tuples. Ces propriétés sont appelées Contraintes d’intégrité. A un schéma de relation sont donc
rattachées des contraintes d’intégrité.
Exemples :
CLIENT (NumCl, NomCl, AdrCl, DateNaissance)
Pour ce schéma de relation, la date de naissance du client doit être inférieure à la date du jour.
Pour ce schéma de relation, la date de la livraison (DateLivr) doit être supérieure à la date de la
commande (DateCmd).
Une clé peut être composée d’un seul attribut ou d’une liste d’attributs qui caractérise un tuple (n-
uplet) de la relation de manière unique.
Une relation peut avoir plusieurs clés. Une clé comportant un minimum d’attributs sera choisie
comme étant clé primaire, les autres clés possibles sont appelées clés candidates. Par convention, la
clé primaire d’une relation est soulignée dans un schéma de relation.
Remarque : si on choisit pour clé (NomCl, AdrCl), la modélisation ne permet pas des homonymes
habitant la même ville.
7- Clé étrangère
Une clé étrangère est un ensemble d’une ou de plusieurs colonnes d’une table qui fait référence à
une clé primaire d’une autre table. Toutes les valeurs des clés étrangères apparaissent dans une
autre relation comme valeurs d’une clé. C’est une contrainte d’intégrité référentielle.
Par convention, la clé étrangère d’une relation est précédée (ou suivie) par le symbole # dans un
schéma de relation.
L’attribut NumCl dans la table Commande est une clé étrangère. Il prend ses valeurs dans le
domaine de valeurs de l'attribut NumCl qui se trouve, dans le schéma de relation Client. Une
commande est toujours passée par un Client existant dans la base de données.
Dans cette section, nous allons présenter les règles qui permettent de transformer un schéma E/A
en un modèle relationnel.
Règle 1
Chaque entité qui figure dans le diagramme E/A est traduite par une relation de même nom
dans laquelle es attributs traduisent les propriétés de l'entité, et la clé primaire traduit
l'identifiant de l'entité.
Exemple :
Client
NumCl Client (NumCl, NomCl, AdrCl)
NomCl Transformation
AdrCl
Règle 2 :
Pour les associations de type 1 : N, l’association disparaît et l’identifiant de l’entité côté 1 sera
dupliqué dans la relation correspondante à l’entité côté N. Ce dernier sera pris comme clé
étrangère dans la relation côté N.
Exemple :
Client Commande
1.N Passer 1.1
NumCl NumC
NomCl DateC
MontantC
AdrCl
Pour les associations de type N : N, il faut créer une nouvelle relation qui contiendra :
- L’identifiant de la 1ère entité
– L’identifiant de la 2ème entité
- Les données supplémentaires La clé de cette nouvelle relation est formée par la concaténation
de deux identifiants.
Exemple :
Client Produit
NumC (1,N) Commande (0,N) NumP
NomCl DésignP
AdrCl Quantité PrixUnitaire
Chaque entité fille Si sera transformée en une relation comportant comme clé primaire l’identifiant
de l’entité mère et comme attributs les attributs de Si et les attributs de l’entité mère. Cette règle
pose un problème lorsque les sous-entités ne sont pas disjointes. Dans ce cas, il peut y avoir
duplication de certaines données. Certains problèmes d'incohérence peuvent alors avoir lieu.
Exemple :